Menü
Bedava
kayıt
ev  /  Tavsiye/ ansi nedir. Karakter kodlaması - ANSI formatı nedir? Kodlamaların kısa bir tarihi

ansi nedir. Karakter kodlaması - ANSI formatı nedir? Kodlamaların kısa bir tarihi

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 üst karakterler farklıdır.

Ancak ANSI otomatik olarak Olumsuz CP1252 veya Latince 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 formatı nedir? o sistem formatı varsayılan? 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. Sonra dünyanın 8 bit 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 Amerika Birleşik Devletleri'nde yaşıyorsanız, onu uluslararası standartları kendi markası ve numaralarıyla yeniden yayınlayan Amerikan Ulusal Standartlar Enstitüsü'nden (ANSI) satın aldınız (bunun nedeni ABD hükümetinin uymak istemesidir). Amerikan standartları ile ve uluslararası standartlarla değil). Microsoft ISO-8859'un bir kopyası kapakta "ANSI" yazıyordu. Ve Microsoft o günlerde standartlara pek alışkın olmadığı için, ANSI'nin başka birçok standart yayınladığının farkında değillerdi. Bu nedenle, ISO-8859 standart ailesine (ve o günlerde standartları anlamadıkları için icat ettikleri varyantlara) "ANSI" başlığındaki başlıkla atıfta bulundular ve bu, Microsoft'un kullanıcı belgelerine ve dolayısıyla topluluk kullanıcılarına girmenin yolunu buldu. . Yaklaşık 30 yıl önceydi, ama bazen bugün adını hala duyuyorsunuz.

Veya kayıt defterinizi sorgulayabilirsiniz:

C: \> kayıt 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 (ler) bulundu. C: \>

Tek baytlık karakterler kullanılırken, ASCII ilk 127 karakteri tanımlar. 128-255 arası genişletilmiş karakterler tanımlanır farklı kodlar ANSI, diğer diller için sınırlı destek sağlar. 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 organizasyonunun basitçe ASCII versiyonu olan ANSI X3.4 standardına aittir. ASCII / ANSI'de 7 bitlik bir karakter seti olduğu için üst bit karakterlerinin kullanımı tanımlanmamıştır.

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

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

ANSI metninin, akış metninin 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

ANSI, endüstriyel yöntem ve teknolojilerin standardizasyonu için kurumdur. Uluslararası Standardizasyon Örgütü (ISO) üyesidir. Almanya'da böyle bir organizasyonun bir analogu var - Avusturya'da Alman Standartlar Enstitüsü (DIN), - Avusturya Standartlar Enstitüsü (ASI), İsviçre'de - İsviçre Standartlar Birliği (SNV).

ANSI standartları birçok endüstriyel alanda bulunsa da, ayrı bir kısaltma olan "ANSI" bilgisayar Teknolojisi ASCII'ye dayalı belirli bir karakter grubunu belirtir. Orijinal ANSI standardı mevcut değildir, ancak ANSI projeleri sorunsuz bir şekilde ISO 8859 standardını benimsemiştir.

ANSI Hedefleri

Amerikan Ulusal Standartlar Enstitüsü'nün (ANSI) ana görevi, tüm ülkelerdeki işletmelerde ABD ulusal standartlarının dünya çapında yaygınlaştırılması ve uygulanmasıdır.

Ek olarak, bu enstitünün çalışmaları küresel ölçekte sorunları çözmektedir:

  • çevresel koruma,
  • Endüstriyel güvenlik,
  • ev güvenliği.

Amerika Birleşik Devletleri'nde, Rusya'da olduğu gibi, standartların öncelikle devlet tarafından düzenlendiği bilinmektedir (ANSI kendisini kar amacı gütmeyen, sivil toplum kuruluşu olarak konumlandırmasına rağmen), bu nedenle bu boşluğu doldurma ve tüm normları getirme arzusu. Amerikan paydası tamamen mantıklı ve tutarlı bir düşüncedir. Gerçekten de, standartlar aracılığıyla, yalnızca tamamen teknik yenilikleri yaymak değil, aynı zamanda devlet dış politikasını küreselleşme ve dünya entegrasyonunu yürütmek de mümkündür.

ANSI programını desteklemek için devlet, esas olarak üretim yöntemlerinin optimizasyonu, güncellenmesi ve yeniden düzenlenmesi için harcanan büyük bir bütçe harcar. Çelik endüstrisinde, ANSI standartları uzun süredir kendilerini dünyanın en iyilerinden biri olarak kabul ettirmiştir.

Şirketimiz ayrıca Rusya ve BDT ülkelerindeki sanayi kuruluşlarına büyük miktarlarda satılan flanş ürünlerinin üretiminde de isteklidir.

Bazen oldukça deneyimli bir uzman bile, bir sistemdeki belirli bir basınç veya uzunluk değerinin, başka bir değerler sistemindeki değerlere karşılık geldiğini hemen söylemez.

NS kolaylaştırmak Sizin için bu görev, Avrupa ve Amerika sistemlerinde küçük ile basınç ve uzunluk değerlerinin orantı tablolarını sunuyoruz. açıklamalar... Ama önce, standartların kendileri hakkında birkaç söz.


DIN Alman standardıdır ( Deutsches Institut für Normung, yani, kesinlikle Uluslararası Standardizasyon Örgütü - ISO (Uluslararası Standardizasyon Örgütü) hükümleri çerçevesinde geliştirilen Alman Standardizasyon Enstitüsü tarafından geliştirilmiştir.


ANSI- Amerika Birleşik Devletleri'nde kabul edilen standart. için duruyor Amerikan Ulusal Standartlar Enstitüsü, yani Amerikan Ulusal Standartlar Enstitüsü'nün standardı.

Buna göre ANSI standartları bu kurum tarafından belirlenir ve her zaman değil standartlar arasında DIN ve ANSI tam uygunlukçeşitli alanlarda.

ANSI'den DIN'e Basınç Birimleri Dönüşümü

Burada her şey basit: eğer standarda göre ANSI 150 sayısı, basıncın karşısında durur - bu, nominal (vananın tasarlandığı) basıncın 20 bar, 300 - 50 bar, vb. olduğu anlamına gelir. Maksimum değer ANSI Sınıfı- 2500, Avrupa standardına göre 420 bar'a eşit olacaktır DIN.


Bu tabloyu kullanarak, zor değil basınç değerlerini çevir ve geri al: DIN v ANSI, mühendislerimizin böyle bir çeviriyi çok yapması gerekmesine rağmen daha az sıklıkta.

Uzunluk birimlerinin Amerikan sisteminden Avrupa (Rus) sistemine dönüştürülmesi

Bilindiği gibi, Amerikalılar her şey inç ve fit olarak ölçülür ve biz ve Avrupalılar- milimetre, santimetre ve metre, yani dünyadaki devletlerin büyük çoğunluğu gibi yaşadığımız metrik birimler sistemi.


İnç milimetreye nasıl çevrilir? Aslında bu da zor değil, sadece 1 inç'in 25,4 mm'ye eşit olduğunu unutmayın. Ancak, genellikle ondalık noktadan sonraki sayı ihmal edilmiş ve bunun uğruna, şunu belirtin 1 inç = 25 mm.

Bu nedenle, örneğin, Amerikan ölçü sistemine göre girişin kesiti 2 inç ise, o zaman bu değeri yukarıdaki kurala göre ölçü sistemimize çevirerek, 50 mm veya daha kesin olarak, 51 mm (kurallara göre 50,8 yuvarlama) ...

Çapı eklemek için kalır tekniközellikler Latin harfleriyle işaretlenmiştir DN ve genellikle tam olarak belirtilir inç, ve basınç harflerle gösterilir PN ve en sık olarak belirtilir Barlar- her durumda, en çok olduğu gibi bir işaretleme kullanıyoruz rahat.

Ve sonraki tablo yardım edecek sadece hesaplayamazsın kesin bir inçteki milimetre sayısı (milimetrenin binde biri doğrulukla), ancak aynı zamanda örneğin 2,5 inçte kaç milimetre bulunduğunu bulmaya da yardımcı olur.

Bunu yapmak için 2 "" (2 inç) sütununu bulun ve solda 1/2'yi arayın. Toplam 2.5 inç = 63.501 mm, 64 mm'ye kadar yuvarlamak oldukça olasıdır ve örneğin 6.25 inç (yani 6 ve 1/4) = 158.753 mm veya 159 mm.


Milimetre cinsinden inç ""



ANSI Lümen (lm, lm), birim ...

ANSI lümen, bir lambanın bir mercekten parladığında oluşturduğu multimedya projektörlerindeki aydınlatma için bir ölçü birimidir. Latince "Lümen" "ışık" anlamına gelir, ANSI "Amerikan Ulusal Standartlar Enstitüsü" anlamına gelir. Projektörleri karşılaştırmak için kullanılan bir ışık akısı ölçüm standardıdır.

Bu parametre 1992'de Amerikan Ulusal Standartlar Enstitüsü tarafından projektörün zum lensinin minimum odak uzunluğunda 40" kontrol ekranındaki ortalama ışık akısını temsil eden bir birim olarak tanıtıldı.

Ölçüm tam beyaz bir resim üzerinde gerçekleştirilir, ekranın aydınlatması Lux'ta bir lüks metre ile ekranın 9 kontrol noktasında ölçülür. Işık akısı değeri, bu 9 ölçümün ortalaması olarak hesaplanır - alanı ile çarpılır ve ortalaması alınır.

Her metrekare için ekranda ortaya çıkan ışık enerjisi lüks olarak gösterilir ve şu formül kullanılarak hesaplanır: lüks = lümen / m². Ancak lümen / lüks ölçümü ortama, fikstür kurulumuna ve yansıtılan görüntüye göre değişir, bu nedenle ANSI Lümen artık standart olarak geniş çapta kabul görmektedir.

Bu ölçüm, ekranın yüzeyindeki ışık akısının dağılımının tekdüzeliğini değerlendirmenize olanak tanır. Bir görüntünün kenarlarındaki parlaklığını azaltmaya "Sıcak Nokta" veya ışık noktası denir. Işık akısı dağılımının tekdüzeliği, elde edilen aydınlık ölçümlerinin en küçüğünün en büyüğüne oranı olarak hesaplanır. İyi projektörlerde bu değer %70'in altına düşmez.

Bu teknik, ölçümlerin alındığı sırayı doğru bir şekilde tanımlar. Kesin olarak tanımlanmış çevresel koşullar ve cihaz ayarları altında, ekrana yansıtılan görüntü dokuza bölünür. eşit parçalar ve her birinde ışık enerjisi belirlenir. m² cinsinden ekran alanı ile çarpılan tüm dokuz ölçümün ortalaması ANSI lümen değerini verir.

İlginç bir şekilde, ışık akısı, aydınlatmadan farklı olarak (ANSI lümenlerinde ölçülür), yansıtılan alana bağlı değildir. Ek olarak, üreticiye özel ANSI lümenleri genellikle referans olarak belirtilir. maksimum ayarlar pratikte nadiren kullanılanlardır.

Ayrıca, ANSI lümenleri genellikle yalnızca bir ortalamadır ve projektörün ışığı ekran yüzeyine dağıtmada ne kadar iyi veya kötü olduğunu anlamamızı zorlaştırır.

Dijital projektörler için ANSI lümenleri, eski modeller için 900 ANSI lümenden günümüzün yüksek kaliteli ürünleri için 4.700 ANSI lümene kadar değişebilir. İyi bir dijital ev sineması projektörü yaklaşık 2000 ANSI lümene sahip olmalıdır.

Reg.ru: alan adları 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, etki alanı için posta, iş çözümleri.

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

* Kaydırmayı duraklatmak için farenizi üzerine getirin.

İleri geri

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

Bu makaleyi kodlamalar konusuna küçük bir genel bakış olarak yazmaya karar verdim.

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

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

O zaman hadi gidelim ...

kodlama nedir?

Basitçe söylemek gerekirse, 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 dizisi (sıfırlar ve birler) ile kodlanmıştır. 8 bit, muhtemelen bildiğiniz gibi, 1 bayt bilgiye eşittir, ancak daha sonra bu konuda daha fazlası.

Sembollerin görünümü, yazı tipi dosyaları tarafından belirlenir. bilgisayarınızda yüklü olan Bu nedenle, metni ekranda görüntüleme işlemi, yazı tipini oluşturan bazı özel karakterlere sıfır ve bir dizilerinin 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(Basılabilir karakterler ve bazı özel kodlar için Amerikan Standart Kodlama Tablosu).

o tek baytlı 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 tümünü kullanmıyordu), böylece 128 değil, bir bayt bilgide kodlanabilen 256 (2 ila 8. güç) 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 birçok 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 dilinin karakterleriyle çalışmak üzere tasarlanmıştır.

Kodlamaların geliştirilmesindeki bir sonraki adım, sözde kodlamanın ortaya çıkması olarak kabul edilebilir. ANSI kodlamaları.

Aslında ikisi aynıydı genişletilmiş ASCII sürümleri ancak, bunlardan çeşitli sözde grafik öğeler çıkarılmış ve daha önce yeterli "boş alan" olmayan tipografik semboller eklenmiştir.

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


ANSI kodlaması toplu bir addır... Aslında, ANSI kullanırken gerçek kodlama, ameliyathanenizin kayıt defterinde belirtilenlere göre belirlenecektir. Windows sistemleri... Rus dili söz konusu olduğunda, 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 şans getirmedi, bu da sözde ile sık sık toplantıların nedeniydi. krakozyabrami- okunamayan anlamsız bir karakter kümesi.

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

Web geliştirme bağlamında, örneğin, krakozyabras ile 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ı olduğunu düşündüğünüzde, bir eşleme var. bir veritabanına bağlantı 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 olmalıydı (sonuçta, tek baytlık kodlamaların yardımıyla, arzu edilirse, kişi tüm karakterleri tanımlayamaz, diyelim ki, Çince, açıkça 256'dan fazla olduğu yerde), herhangi bir ek özel karakter ve tipografi.

Kısacası, yaratmak gerekliydi. krakozyabrov sorununu kesin olarak çö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 kodlamanın yaratılmasıydı. UTF-32.

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

Bu kodlamada bir karakteri kodlamak için o kadar ç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 kat daha ağır hale getirir.

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. Dosyaların ağırlığı açısından bunun açık bir abartı ve israf olduğu açıktır, dolayısıyla bu kodlama yaygınlaşmamış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(yani 2 bayt). Açıkçası, bu herhangi bir karakteri UTF-32'den iki kat "daha hafif", ancak herhangi bir tek baytlık kodlanmış 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. UTF-16'daki kod alanının nihai değerinin yanı sıra her şey yolunda görünüyor, 1 milyondan fazla karaktere genişletildi.

Ancak bu kodlama, geliştiricilerin ihtiyaçlarını tam olarak karşılamadı. Örneğin, yalnızca Latin karakterleri kullanarak yazarsanız, ASCII kodlamasının genişletilmiş sürümünden UTF-16'ya geçiş yaptıktan 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- bu değişken karakter uzunluğu ile çok baytlı kodlama... Adına bakıldığında, UTF-32 ve UTF-16'ya benzetilerek, bir karakteri kodlamak için 8 bitin kullanıldığı düşünülebilir, ancak durum 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 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 karakterleri, tıpkı ASCII kodlamasında olduğu gibi 8 bit olarak 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 2 veya daha fazla bayt ile kodlanmıştır. Özellikle her Kiril karakteri tam olarak 2 bayt ile kodlanmıştır.

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

BOM ile veya olmadan?

ile çalıştıysanız metin editörleri(kod editörleri) gibi not defteri ++, phpTasarımcı, hızlı php vb., muhtemelen sayfanın oluşturulacağı kodlamayı belirtirken, kural olarak 3 seçenek seçebileceğiniz gerçeğine dikkat çekmişsinizdir:

ANSI
-UTF-8
- BOM olmadan UTF-8


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

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

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

Çalışmanın detayları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, bunun sonucunda komut dosyalarının çalışmasında hatalar meydana gelir.