internet pencereler Android

ANSI lümen (lm, lm), ölçü birimi nedir? Anlam. Kodlamalar: faydalı bilgiler ve kısa bir geçmişe bakış Kodlamalar: faydalı bilgiler ve kısa bir geçmişe bakış

ANSI, Amerikan Ulusal Standartlar Enstitüsü (kod 1251) tarafından geliştirilen bir karakter görüntüleme standardıdır. ANSI standardı, her karakteri temsil etmek için yalnızca bir bayt kullanır ve bu nedenle noktalama işaretleri dahil maksimum 256 karakterle sınırlıdır. 32'den 126'ya kadar olan kodlar ASCII standardını takip eder. DOS'ta ASCII (kod 688), Windows'ta ANSI kullanıldı.

Edebiyat

    Arkhangelsky A.Ya. C++ Builder6'da Programlama. Ed. BİNOM, 2004.

    Arkhangelsky A.Ya. C++Builder6. Referans kılavuzu. Moskova, Ed. BİNOM, 2004.

    Kimmel P. Borland C++5 "BHV-St. Petersburg, 2001.

    Klimova L.M. C++ Pratik programlama. Tipik görevlerin çözümü. "KUDİTS-RESİM", M.2001.

    Görevler ve örneklerde Kultin N. С/С++. Petersburg "BHV-Petersburg", 2003.

    Pavlovskaya T.A. Üst düzey bir dilde C/C++ Programlama. Peter, Moskova-St. Petersburg-… 2005

    Pavlovskaya T.A., Shchupak Yu.A. C++. Nesne yönelimli programlama. Atölye. SPb., Peter, 2005.

    Podbelsky V.V. C++ dili Finans ve istatistik, Moskova, 2003.

    Polyakov A.Yu., Brusentsev V.A. VisualС++ örneklerinde bilgisayar grafiklerinin yöntemleri ve algoritmaları. SPb BHI-Petersburg, 2003

    Savitch W. Language C++ nesne yönelimli programlama kursu. Williams Yayınevi. Moskova-St Petersburg-Kiev, 2001

    Wellin S. C++'da Nasıl Programlanmaz. "Peter". Moskova-St.Petersburg-Nizhny Novgorod-Voronezh-Novosibirsk-Rostov-on-Don-Yekaterinburg-Samara-Kiev-Kharkov-Minsk, 2004.

    Schildt G. Eksiksiz C++ Kılavuzu. Ed. House "Williams" Moskova-St. Petersburg-Kiev, 2003.

    Schildt G. Kendi kendine öğretmen C/C++. Petersburg, BHV-Petersburg, 2004.

    Schildt G. C/C++ için Programcı Kılavuzu Ed. House "Williams" Moskova-St. Petersburg-Kiev, 2003.

    Shimanovich.L. Örneklerde ve görevlerde С/С++. Minsk, Yeni bilgi, 2004.

    Stern V. C++'ın Temelleri. Yazılım mühendisliği yöntemleri. Ed. Lori.

Konsol uygulamasında neden Rusça harfler yerine çöp gösteriliyor?

ve doğru! Programın metnini 1251 kod sayfasını kullanarak yerel Visual Studio düzenleyicisine yazdınız ve konsol uygulamasındaki metin çıktısı kod sayfası 866'yı kullanıyor. Bu rezaletle ne yapmalı? Bildiğiniz gibi, herhangi bir çıkmazdan en az 3 çıkış vardır. Bunları sırayla ele alalım.

    1. Çıkış 1

Programın metnini herhangi bir konsol dosya yöneticisinin düzenleyicisine yazın.

Peki ya sözdizimi vurgulama, F1 kullanarak seçilen işlev hakkında yardım görüntüleme ve basit bir programcının kasvetli hayatını aydınlatan diğer küçük tılsımlar ne olacak? Hayır, bu bizim için bir seçenek değil.

    1. Çıkış 2

Konsol programı yazmaya sıfırdan başladıysanız işinize yarayabilir. Küçük şaheserimizi şöyle yeniden yazalım:

#include "stdafx.h"

#include "windows.h"

int main(int argc, char* argv)

char s="Herkese merhaba!";

printf("%s\n", s);

Buradaki anahtar kelime CharToOem'dir - dizgimizi istenen kod sayfasına çevirecek olan bu fonksiyondur. Programımızın çıktısı ile artık her şey yolunda.

Ancak bir sonraki soru ortaya çıkıyor - Borland C++ 3.1 ile yazılmış eski 100.000 satırlık DOS programınızı bir Windows konsol uygulamasına yeniden derlemeniz gerekirse, böyle bir durumun her ikinci satırda meydana geldiği bir durumda ne yapmalısınız. Ama yine de onu MS derleyicisine göre ayarlamanız gerekiyor ve ayrıca birkaç kod parçasını optimize etmek istiyorsunuz ...

Burada şövalyenin hareketini kullanmak muhtemelen mantıklıdır.

Reg.ru: etki alanları ve barındırma

Rusya'daki en büyük kayıt şirketi ve barındırma sağlayıcısı.

2 milyondan fazla alan adı hizmette.

Promosyon, alan adı için posta, iş için çözümler.

Dünya çapında 700 binden fazla müşteri şimdiden seçimini yaptı.

*Kaydırmayı duraklatmak için fareyle üzerine gelin.

İleri geri

Kodlamalar: faydalı bilgiler ve kısa bir geçmişe bakış

Bu makaleyi kodlamalar konusunda küçük bir inceleme olarak yazmaya karar verdim.

Genel olarak kodlamanın ne olduğunu anlayacağız ve prensipte nasıl göründüklerinin tarihine biraz değineceğiz.

Bazı özelliklerinden bahsedeceğiz ve ayrıca kodlamalarla daha bilinçli çalışmamıza ve sözde kodlamalardan kaçınmamıza izin veren noktaları ele alacağız. krakozyabrov, yani okunamayan karakterler

O zaman hadi gidelim...

kodlama nedir?

Basit ifadeyle, kodlama belirli sayısal kodlara ekranda görebildiğimiz karakter eşlemelerinin bir tablosudur.

Onlar. klavyeden girdiğimiz veya monitör ekranında gördüğümüz her karakter, belirli bir bit dizisiyle (sıfırlar ve birler) kodlanır. 8 bit, muhtemelen bildiğiniz gibi, 1 bayt bilgiye eşittir, ancak daha sonra bu konuda daha fazlası.

Karakterlerin görünümü, yazı tipi dosyaları tarafından belirlenir. bilgisayarınızda yüklü olan Bu nedenle, metni ekranda görüntüleme süreci, sıfır ve bir dizilerinin yazı tipinin parçası olan bazı belirli karakterlere sabit bir eşlemesi olarak tanımlanabilir.

Tüm modern kodlamaların atası kabul edilebilir. ASCII.

Bu kısaltma şu anlama gelir: Bilgi değişimi için Amerikan Standart kodu(Yazdırılabilir karakterler ve bazı özel kodlar için Amerikan standart kodlama tablosu).

Bu tek bayt kodlama, başlangıçta yalnızca 128 karakter içeriyordu: Latin alfabesinin harfleri, Arap rakamları, vb.


Daha sonra genişletildi (başlangıçta 8 bitin tamamını kullanmıyordu), böylece 128 değil, bir bayt bilgide kodlanabilen 256 (2 ila 8) farklı karakter kullanmak mümkün oldu.

Bu iyileştirme, ASCII'ye eklemeyi mümkün kıldı ulusal dillerin sembolleri, zaten var olan Latin alfabesine ek olarak.

Dünyada da çok fazla dil olması nedeniyle genişletilmiş ASCII kodlaması için birçok seçenek vardır. Sanırım birçoğunuz böyle bir kodlamayı duymuşsunuzdur. KOI8-R ayrıca genişletilmiş bir ASCII kodlamasıdır, Rusça karakterlerle çalışmak üzere tasarlanmıştır.

Kodlamaların geliştirilmesindeki bir sonraki adım, sözde görünümün görünümü olarak kabul edilebilir. ANSI kodlamaları.

Esasen onlar aynıydı ASCII'nin genişletilmiş sürümleri ancak, bunlardan çeşitli sözde grafik öğeler çıkarıldı ve daha önce yeterli "boş alan" olmayan tipografik semboller eklendi.

Böyle bir ANSI kodlamasının bir örneği, iyi bilinen Windows-1251. Tipografik sembollere ek olarak, bu kodlama, Rusça'ya (Ukraynaca, Belarusça, Sırpça, Makedonca ve Bulgarca) yakın dillerin alfabelerinin harflerini de içeriyordu.


ANSI kodlaması, bunun toplu adıdır.. Gerçekte, ANSI kullanırken gerçek kodlama, Windows işletim sisteminizin kayıt defterinde belirtilenlere göre belirlenir. Rusça söz konusu olduğunda, bu Windows-1251 olacaktır, ancak diğer diller için farklı bir ANSI türü olacaktır.

Anladığınız gibi, bir sürü kodlama ve tek bir standardın olmaması iyi getirmedi, bu da sözde ile sık sık toplantıların nedeniydi. krakozyabry- okunamayan anlamsız bir karakter kümesi.

Görünüşlerinin nedeni basit - bu başka bir kodlama tablosu kullanarak bir kodlama tablosuyla kodlanmış karakterleri görüntülemeye çalışmak.

Web geliştirme bağlamında, örneğin şu durumlarda hatalarla karşılaşabiliriz: Rusça metin yanlışlıkla sunucuda kullanılan yanlış kodlamaya kaydedildi.

Okunamayan metinler alabileceğimiz tek durum elbette bu değil - burada bir çok seçenek var özellikle de bilgilerin belirli bir kodlamada saklandığı bir veritabanı da olduğunu düşündüğünüzde, bir veritabanı bağlantısı var haritalama vb.

Tüm bu sorunların ortaya çıkması, yeni bir şey yaratmak için bir teşvik görevi gördü. Dünyadaki herhangi bir dili kodlayabilecek bir kodlama olması gerekiyordu (sonuçta, tek baytlık kodlamaların yardımıyla, tüm arzuyla, diyelim ki Çin dilinin tüm karakterlerini tanımlamak imkansız, burada açıkça 256'dan fazla), herhangi bir ek özel karakter ve tipografi var.

Tek kelimeyle, yaratmak gerekliydi hata sorununu bir kez ve herkes için çözecek evrensel bir kodlama.

Unicode - evrensel metin kodlaması (UTF-32, UTF-16 ve UTF-8)

Standardın kendisi 1991 yılında kar amacı gütmeyen bir kuruluş tarafından önerildi. "Unicode Konsorsiyumu"(Unicode Consortium, Unicode Inc.) ve çalışmasının ilk sonucu bir kodlamanın yaratılmasıydı. UTF-32.

Bu arada, kısaltma UTF anlamına gelir Unicode Dönüşüm Formatı(Unicode Dönüştürme Biçimi).

Bu kodlamada, bir karakteri kodlamak için olabildiğince çok karakter kullanması gerekiyordu. 32 bit, yani 4 bayt bilgi. Bu sayıyı tek baytlık kodlamalarla karşılaştırırsak, basit bir sonuca varırız: Bu evrensel kodlamada 1 karakteri kodlamak için ihtiyacınız olan 4 kat daha fazla bit, bu da dosyayı 4 kez "ağırlıklandırıyor".

Bu kodlama kullanılarak potansiyel olarak tanımlanabilecek karakter sayısının tüm makul sınırları aştığı ve teknik olarak 2 üzeri 32'ye eşit bir sayı ile sınırlı olduğu da açıktır. Bunun, dosyaların ağırlığı açısından açık bir abartı ve savurganlık olduğu açıktır, bu nedenle bu kodlama yaygın olarak kullanılmamıştır.

Yeni bir gelişme ile değiştirildi - UTF-16.

Adından da anlaşılacağı gibi, bu kodlamada bir karakter kodlanmıştır. artık 32 bit değil, yalnızca 16 bit(yani 2 bayt). Açıkçası, bu herhangi bir karakteri UTF-32'dekinden iki kat daha "hafif", ancak aynı zamanda tek baytlık bir kodlama kullanılarak kodlanmış herhangi bir karakterden iki kat daha "ağır" yapar.

UTF-16'da kodlama için kullanılabilen karakter sayısı en az 2 üzeri 16'dır, yani. 65536 karakter. Her şey yolunda görünüyor, ayrıca UTF-16'daki kod alanının son değeri 1 milyondan fazla karaktere genişletildi.

Ancak bu kodlama, geliştiricilerin ihtiyaçlarını tam olarak karşılamadı. Diyelim ki, yalnızca Latin karakterleri kullanarak yazıyorsanız, ASCII kodlamasının genişletilmiş sürümünden UTF-16'ya geçtikten sonra, her dosyanın ağırlığı iki katına çıktı.

Sonuç olarak, evrensel bir şey yaratmak için başka bir girişimde bulunuldu, ve bu bir şey iyi bilinen UTF-8 kodlaması haline geldi.

UTF-8- Bugün nasılsın değişken karakter uzunluğu ile çok baytlı karakter kodlaması. Adına baktığınızda, UTF-32 ve UTF-16'ya benzeterek, bir karakteri kodlamak için 8 bit kullanıldığını düşünebilirsiniz, ancak bu böyle değil. Daha doğrusu, pek öyle değil.

Bunun nedeni, UTF-8'in 8 bitlik karakterler kullanan eski sistemlerle en iyi uyumluluğu sağlamasıdır. UTF-8'de tek bir karakteri kodlamak için aslında kullanılır 1 ila 4 bayt(varsayımsal olarak 6 bayta kadar mümkündür).

UTF-8'de tüm Latin karakterler, ASCII kodlamasında olduğu gibi 8 bit ile kodlanmıştır.. Başka bir deyişle, ASCII kodlamasının (128 karakter) temel kısmı, her şeyin başlatıldığı kodlamanın evrenselliğini korurken, temsillerine yalnızca 1 bayt "harcamanıza" izin veren UTF-8'e taşındı.

Bu nedenle, ilk 128 karakter 1 bayt ile kodlanmışsa, diğer tüm karakterler zaten 2 bayt veya daha fazla ile kodlanmıştır. Özellikle her Kiril karakteri tam olarak 2 bayt ile kodlanmıştır.

Böylece, gereksiz yere "ağır" dosyalar olmadan gösterilmesi gereken tüm olası karakterleri kapsamamıza izin veren evrensel bir kodlamaya sahibiz.

BOM ile mi yoksa BOM olmadan mı?

Aşağıdaki gibi metin düzenleyicilerle (kod düzenleyiciler) çalıştıysanız not defteri++, phpTasarımcı, hızlı PHP vb., o zaman muhtemelen sayfanın oluşturulacağı kodlamayı ayarlarken genellikle 3 seçenek seçebileceğiniz gerçeğine dikkat ettiler:

ANSI
-UTF-8
- BOM olmadan UTF-8


Hemen söylemeliyim ki, her zaman son seçeneği seçmeye değer - BOM'suz UTF-8.

Peki BOM nedir ve neden buna ihtiyacımız yok?

malzeme listesi anlamına gelir Bayt Sırası İşareti. Bu, bir metin dosyasının bayt sırasını belirtmek için kullanılan özel bir Unicode karakteridir. Spesifikasyona göre kullanımı isteğe bağlıdır, ancak malzeme listesi kullanıldığında, metin dosyasının başında ayarlanmalıdır.

İşin ayrıntılarına girmeyeceğiz malzeme listesi. Bizim için ana sonuç şudur: bu hizmet karakterini UTF-8 ile birlikte kullanmak, programların kodlamayı normal şekilde okumasını engeller, komut dosyası hatalarına neden olur.

Amerikan Ulusal Standartlar Enstitüsü(İngilizce) A merkan n ulusal s standartlar i enstitü ANSI), ticaret ve iletişim standartları geliştiren Amerikan sanayi ve iş gruplarının bir birliğidir. Orada ABD çıkarlarını temsil eden ISO ve IEC üyesidir.

Tarih

ANSI ilk olarak 1918'de beş mühendislik topluluğu ve üç devlet kurumunun "Amerikan Mühendislik Standartları Komitesi"ni (Amerikan Mühendislik Standartları Komitesi) kurmasıyla kuruldu. AESC- İngilizce. Amerikan Mühendislik Standartları Komitesi). 1928 yılında komite Amerikan Standartları Derneği olarak tanındı. OLARAK- İngilizce. Amerikan Standartları Derneği). 1966'da ASA yeniden düzenlendi ve "Amerika Birleşik Devletleri Standartlar Enstitüsü" oldu ( ABDASI- İngilizce. Amerika Birleşik Devletleri Standartlar Enstitüsü). Mevcut isim 1969'da kabul edildi.

1918 yılına kadar teknik standartların geliştirilmesinde yer alan beş mühendislik topluluğu vardı:

  • Amerikan Elektrik Mühendisleri Enstitüsü (AIEE, şimdi IEEE)
  • Amerikan Makine Mühendisleri Derneği (ASME)
  • Amerikan İnşaat Mühendisleri Derneği (ASCE)
  • Amerikan Maden Mühendisleri Enstitüsü (AIME, şimdi Amerikan Madencilik, Metalurji ve Petrol Mühendisleri Enstitüsü)
  • Amerikan Test ve Malzemeler Derneği (şimdi ASTM)

1916'da Amerikan Elektrik Mühendisleri Enstitüsü (şimdi IEEE), standartların geliştirilmesini, ulusal standartların uyumlaştırılmasını ve onaylanmasını koordine etmek için bağımsız bir ulusal organ oluşturmak için bu kuruluşların çabalarını birleştirme girişiminde bulundu. Yukarıdaki beş kuruluş, Birleşik Mühendislik Topluluğu'nun (United Engineering Society - UES) ana üyeleri oldular, daha sonra ABD Savaş Bakanlığı, Deniz Kuvvetleri (1947'de ABD Savunma Bakanlığı olarak birleşti) ve Ticaret kurucu olarak katılmaya davet edildi.

1931'de kuruluş (1928'de ASA olarak yeniden adlandırıldı), 1904'te elektrik ve elektronik mühendisliğinde standartlar geliştirmek için kurulan Uluslararası Elektroteknik Komisyonu'nun (IEC) ABD Ulusal Komitesi'nin bir parçası oldu.

Üyeler

ANSI üyeleri arasında devlet kurumları, kuruluşlar, akademik ve uluslararası kuruluşlar ve bireyler yer alır. Toplamda, Enstitü dünya çapında 270.000'den fazla şirket ve kuruluşun ve 30 milyon profesyonelin çıkarlarını temsil eder /

Aktivite

ANSI'nin kendisi standartlar geliştirmese de Enstitü, standart geliştirme kuruluşlarının prosedürlerinin akreditasyonu yoluyla standartların geliştirilmesini ve kullanımını denetler. ANSI akreditasyonu, standart geliştiren kuruluşlar tarafından kullanılan prosedürlerin Enstitü'nün açıklık, denge, fikir birliği ve yasal süreç gereksinimlerini karşıladığı anlamına gelir.

ANSI ayrıca, Enstitü standartların adil, erişilebilir ve çeşitli paydaşların ihtiyaçlarına yanıt veren bir ortamda geliştirildiğini belirlediğinde, belirli standartları Amerikan Ulusal Standartları veya ANS olarak belirler.

Uluslararası aktivite

ABD standardizasyon faaliyetlerine ek olarak, ANSI ABD standartlarının uluslararası kullanımını teşvik eder, uluslararası ve bölgesel standart organizasyonlarında ABD'nin siyasi ve teknik konumunu savunur ve uluslararası standartların ulusal standartlar olarak benimsenmesini teşvik eder.

Enstitü, kurucu üye olarak Uluslararası Standardizasyon Örgütü (ISO) ve ABD Ulusal Komitesi (USNC) aracılığıyla Uluslararası Elektroteknik Komisyonu (IEC) olmak üzere iki büyük uluslararası standart kuruluşunun resmi ABD temsilcisidir. ANSI, ISO ve IEC'nin neredeyse tüm teknik programına katılır ve birçok önemli komite ve alt grubu yönetir. Çoğu durumda, ABD standartları, tamamen veya kısmen Uluslararası Standartlar olarak kabul edildikleri ANSI veya USNC aracılığıyla ISO ve IEC'ye sunulur.

ISO ve IEC standartlarının ABD standartları olarak kabulü 1986'da %0,2'den Mayıs 2012'de %15,5'e yükseldi.

Standardizasyon yönergeleri

Enstitü dokuz standardizasyon grubunu yönetir:

  • ANSI Vatan Savunma ve Güvenlik Standardizasyon İşbirliği (HDSSC)
  • ANSI Nanoteknoloji Standartları Paneli (ANSI-NSP - ANSI Nanoteknoloji Standartları Paneli)
  • Kimlik Hırsızlığı Önleme ve Kimlik Yönetimi Standartları Paneli (IDSP - Kimlik Hırsızlığı Önleme ve Kimlik Yönetimi Standartları Paneli)
  • ANSI Enerji Verimliliği Standardizasyon Koordinasyon İşbirliği (EESCC)
  • Nükleer Enerji Standartları Koordinasyon İşbirliği (NESCC-Nükleer Enerji Standartları Koordinasyon İşbirliği)
  • Elektrikli Araçlar Standartları Paneli (EVSP)
  • ANSI-NAM Kimyasal Düzenleme Ağı
  • ANSI Biyoyakıt Standartları Koordinasyon Paneli
  • Sağlık Hizmetleri Bilgi Teknolojisi Standartları Paneli (HITSP)
  • Amerikan Borulama ve Makine Sertifikasyon Ajansı

Grupların her biri, bu alanlarla ilgili gönüllü standartları belirlemek, koordine etmek ve uyumlu hale getirmekle ilgilenir. 2009 yılında ANSI ve (NIST) Nükleer Enerji Standartları İşbirliği İşbirliğini (NESCC) kurdu. NESCC, nükleer endüstrideki standartlara yönelik mevcut ihtiyacı belirlemek ve karşılamak için ortak bir girişimdir.

standartlar

Enstitü tarafından kabul edilen standartlardan aşağıdakiler bilinmektedir:

Popüler yanlış anlamanın aksine, ANSI, ISO-8859-1 kodlamasının ve muhtemelen bazı diğerlerinin geliştirilmesine dahil olmasına rağmen, 8 bitlik kod sayfası standartlarını benimsemedi.

notlar

  1. ANSI hakkında
  2. RFC
  3. ANSI: Tarihsel bakış (belirsiz) . ansi.org. Erişim tarihi: 31 Ekim 2016.
  4. ANSI'nin Tarihçesi

Genellikle web programlamasında ve html sayfalarının yerleşiminde, düzenlenen dosyanın kodlamasını düşünmeniz gerekir - sonuçta, kodlama yanlış seçilirse, tarayıcının bunu otomatik olarak belirleyememesi olasılığı vardır. kullanıcı sözde bir sonuç görecektir. "Krakozyabry".

Belki bazı sitelerde normal metinler yerine garip semboller ve soru işaretleri görmüşsünüzdür. Bütün bunlar, html sayfasının kodlaması ile bu sayfanın dosyasının kendisinin kodlaması eşleşmediğinde meydana gelir.

hiç, metin kodlaması nedir? Bu sadece bir dizi karakter, İngilizce "karakter seti" (karakter seti). Metin bilgilerini veri bitlerine dönüştürmek ve örneğin İnternet üzerinden iletmek için gereklidir.

Aslında, kodlamaları ayırt eden ana parametreler, kaynak metnin her bir karakterinin dönüştürüldüğü bayt sayısı ve özel karakter kümesidir.

Kodlamaların kısa tarihi:

Dijital bilgileri ilk aktaranlardan biri, ASCII kodlamasının ortaya çıkmasıydı - Bilgi Değişimi için Amerikan Standart Kodu - Amerikan standart kod tablosu, Amerikan Ulusal Standartlar Enstitüsü tarafından kabul edilen - Amerikan Ulusal Standartlar Enstitüsü (ANSI).

Bu kısaltmalar kafa karıştırıcı olabilir.Uygulama için, oluşturulan metin dosyalarının ilk kodlamasının bazı alfabelerin (örneğin hiyeroglifler) tüm karakterlerini desteklemeyebileceğini anlamak önemlidir, bu nedenle bu türe geçme eğilimi vardır. isminde. standart Unicode (Unicode) evrensel kodlamaları destekleyen - utf-8, utf-16, utf-32 ve benzeri.

En popüler Unicode kodlaması Utf-8'dir. Genellikle, site sayfaları artık içine dizilmiştir ve çeşitli komut dosyaları yazılmıştır. Çeşitli hiyeroglifleri, Yunan harflerini ve diğer olası ve akıl almaz karakterleri (4 bayta kadar karakter boyutu) kolayca görüntülemenizi sağlar. Özellikle tüm WordPress ve Joomla dosyaları bu kodlama ile yazılır. Ayrıca bazı web teknolojileri (özellikle AJAX) yalnızca utf-8 karakterlerini normal şekilde işleyebilir.

Normal bir not defteri ile oluştururken bir metin dosyasının kodlamalarını ayarlayın. tıklanabilir

Runet'te, kodlama beklentisiyle yazılmış siteleri hala bulabilirsiniz. Windows-1251 (veya cp-1251). Bu, özellikle Kiril alfabesi için tasarlanmış özel bir kodlamadır.

Temel olarak "ANSI", Windows'taki eski kod sayfasını ifade eder. Bu konu hakkında ayrıca bkz. İlk 127 karakter çoğu kod sayfasındaki ASCII ile aynıdır, ancak en üstteki karakterler farklıdır.

Ancak, ANSI otomatik olarak olumsuzluk CP1252 veya Latin 1 anlamına gelir.

Tüm karışıklığa rağmen, şimdilik bu tür sorunlardan kaçınmalı ve Unicode kullanmalısınız.

ANSI kodlama biçimi nedir? Bu varsayılan sistem formatı mı? ASCII'den farkı nedir?

Bir zamanlar, Microsoft, herkes gibi, 7 bitlik karakter kümeleri kullandı ve ASCII'yi ana alt küme olarak tutmalarına rağmen, uygun olduklarında kendi karakterlerini buldular. Daha sonra dünyanın 8 bitlik kodlamalara geçtiğini ve ISO-8859 ailesi gibi uluslararası standartların olduğunu fark ettiler. O günlerde, uluslararası bir standart istiyorsanız ve ABD'de yaşıyorsanız, onu uluslararası standartları kendi markaları ve numaralarıyla yeniden yayınlayan Amerikan Ulusal Standartlar Enstitüsü ANSI'den satın aldınız (çünkü ABD hükümeti Amerikan standartlarını istiyor ve uluslararası standartlar değil). Microsoft ISO-8859 kopyası kapakta "ANSI" yazıyordu. Ve Microsoft o günlerde standartlara pek alışkın olmadığı için ANSI'nin birçok başka standart yayınladığının farkında değillerdi. Bu nedenle, ISO-8859 standartlar ailesine (ve o günlerde standartları anlamadıkları için icat ettikleri varyantlara) "ANSI" kapak başlığıyla atıfta bulundular ve bu, Microsoft'un kullanıcı belgelerine ve dolayısıyla topluluğa girme yolunu buldu. . kullanıcılar. Bu yaklaşık 30 yıl önceydi, ancak bugün hala ara sıra adını duyuyorsunuz.

Veya kayıt defterinizi sorgulayabilirsiniz:

C:\>reg sorgusu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /f ACP HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage ACP REG_SZ 1252 Arama sonu: 1 eşleşme bulundu. C:\>

Tek baytlık karakterler kullanılırken, ASCII formatı ilk 127 karakteri tanımlar. 128-255 arasındaki genişletilmiş karakterler, diğer diller için sınırlı destek sağlamak üzere çeşitli ANSI kodlarıyla tanımlanır. ANSI kodlamasını anlamak için hangi kod sayfasını kullandığını bilmeniz gerekir.

Teknik olarak ANSI, US-ASCII ile aynı olmalıdır. ANSI kuruluşunun onaylı ASCII versiyonu olan ANSI X3.4 standardını ifade eder. 7 bitlik bir karakter seti olduğu için üst bit karakterlerinin kullanımı ASCII/ANSI'de tanımlanmamıştır.

Ancak, terimin DOS ve ardından Windows topluluğu tarafından yıllarca yanlış kullanımı, pratik anlamlarını "herhangi bir makinenin sistem kod sayfası" olarak bıraktı. Sistem kodu sayfası bazen Doğu Asya sistemlerinde olduğu gibi "mbcs" olarak da bilinir ve karakter başına birden çok bayt içeren bir kodlama olabilir. Bazı kod sayfaları, çok baytlı bir dizideki bayt baytları olarak en üst bit baytlarını bile kullanabilir, bu nedenle düz ASCII ile tam olarak uyumlu bile değildir... ama o zaman bile hala ANSI olarak adlandırılır.

ABD ve Batı Avrupa varsayılan ayarlarında, "ANSI", Windows kod sayfası 1252 ile eşlenir. Bu, ISO-8859-1 ile aynı değildir (oldukça benzer olmasına rağmen). Diğer makinelerde her şey olabilir. Bu, ANSI'yi harici bir kodlama tanımlayıcısı olarak tamamen işe yaramaz hale getirir.

ANSI metninin, akış metni akışını değiştirmek için ANSI.SYS sürücüsü aracılığıyla DOS'ta kullanılan sözde VT-100 kaçış kodlarından bahsettiğini hatırlıyorum.... Muhtemelen bahsettiğiniz şey bu değil, ancak görürse