Latin alfabesi karakterleri ascii kodları. Metin bilgilerinin kodlanması

  • 21.09.2019

[8 bit kodlamalar: ASCII, KOI-8R ve CP1251] ABD'de oluşturulan ilk kodlama tabloları, bir bayttaki sekizinci biti kullanmıyordu. Metin bir bayt dizisi olarak sunuldu, ancak sekizinci bit dikkate alınmadı (resmi amaçlar için kullanıldı).

Tablo kabul edilen standart haline geldi. ASCII(Bilgi değişimi için Amerikan Standart kodu). ASCII tablosunun ilk 32 karakteri (00 - 1F) yazdırılmayan karakterler için kullanıldı. Bir baskı cihazını ve benzerlerini kontrol etmek için tasarlandılar. Gerisi - 20'den 7F'ye - normal (yazdırılabilir) karakterlerdir.

Tablo 1 - ASCII kodlaması

AralıkaltıgenEkimkarakterTanım
0 0 000 boş
1 1 001 başlığın başlangıcı
2 2 002 metnin başlangıcı
3 3 003 metnin sonu
4 4 004 iletimin sonu
5 5 005 soruşturma
6 6 006 kabullenmek
7 7 007 zil
8 8 010 geri almak
9 9 011 yatay sekme
10 A 012 Yeni hat
11 B 013 dikey sekme
12 C 014 yeni sayfa
13 D 015 satırbaşı
14 E 016 dışarı kaydırmak
15 F 017 vardiya
16 10 020 veri bağlantısı kaçış
17 11 021 cihaz kontrolü 1
18 12 022 cihaz kontrolü 2
19 13 023 cihaz kontrolü 3
20 14 024 cihaz kontrolü 4
21 15 025 olumsuz kabul
22 16 026 senkron rölanti
23 17 027 trans'ın sonu. engellemek
24 18 030 iptal etmek
25 19 031 ortanın sonu
26 1 A 032 yerine geçmek
27 1B 033 kaçmak
28 1C 034 dosya ayırıcı
29 1B 035 grup ayırıcı
30 1E 036 kayıt ayırıcı
31 1F 037 birim ayırıcı
32 20 040 uzay
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2A 052 *
43 2B 053 +
44 2C 054 ,
45 2B 055 -
46 2E 056 .
47 2F 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3 A 072 :
59 3B 073 ;
60 3C 074 <
61 3 boyutlu 075 =
62 3E 076 >
63 3F 077 ?
AralıkaltıgenEkimkarakter
64 40 100 @
65 41 101 A
66 42 102 B
67 43 103 C
68 44 104 D
69 45 105 E
70 46 106 F
71 47 107 G
72 48 110 H
73 49 111 i
74 4A 112 J
75 4B 113 K
76 4C 114 L
77 4D 115 m
78 4E 116 n
79 4F 117 Ö
80 50 120 P
81 51 121 Q
82 52 122 r
83 53 123 S
84 54 124 T
85 55 125 sen
86 56 126 V
87 57 127 W
88 58 130 x
89 59 131 Y
90 5A 132 Z
91 5B 133 [
92 5C 134 \
93 5D 135 ]
94 5E 136 ^
95 5F 137 _
96 60 140 `
97 61 141 a
98 62 142 B
99 63 143 C
100 64 144 D
101 65 145 e
102 66 146 F
103 67 147 G
104 68 150 H
105 69 151 i
106 6A 152 J
107 6B 153 k
108 6C 154 ben
109 6D 155 m
110 6E 156 n
111 6F 157 Ö
112 70 160 P
113 71 161 Q
114 72 162 r
115 73 163 s
116 74 164 T
117 75 165 sen
118 76 166 v
119 77 167 w
120 78 170 x
121 79 171 y
122 7A 172 z
123 7B 173 {
124 7C 174 |
125 7D 175 }
126 7E 176 ~
127 7F 177 DEL

Kolayca görebileceğiniz gibi, bu kodlamada sadece Latin harfleri ve İngilizce'de kullanılanlar temsil edilmektedir. Aritmetik ve diğer hizmet sembolleri de vardır. Ancak Rusça harfler, hatta Almanca veya Fransızca için özel Latin harfleri yoktur. Bunu açıklamak kolaydır - kodlama bir Amerikan standardı olarak geliştirilmiştir. Bilgisayarlar dünya çapında kullanılmaya başlayınca diğer karakterlerin de kodlanması gerekiyordu.

Bunu yapmak için her baytta sekizinci bitin kullanılmasına karar verildi. Böylece karakterleri kodlamak için kullanılabilecek 128 değer daha mevcuttu (80'den FF'ye). Sekiz bitlik tablolardan ilki “genişletilmiş ASCII”dir ( genişletilmiş ASCII) - Batı Avrupa'nın bazı dillerinde kullanılan Latin karakterlerinin çeşitli türevlerini içeriyordu. Ayrıca, sözde grafikler de dahil olmak üzere başka ek karakterlere de sahipti.

Sözde grafik karakterler, yalnızca metin karakterlerini görüntüleyerek, bir miktar grafik benzerliği sağlamaya izin verir. Sözde grafikleri kullanarak, örneğin, FAR Manager dosya yönetimi programı çalışır.

Genişletilmiş ASCII tablosunda Rusça harfler yoktu. Rusya'da (eski adıyla SSCB) ve diğer eyaletlerde, 8 bitlik metin dosyalarında belirli “ulusal” karakterleri temsil etmeyi mümkün kılan kendi kodlamaları oluşturuldu - Lehçe ve Çek dillerinin Latin harfleri, Kiril (Rus harfleri dahil) ve diğer alfabeler.

Yaygınlaşan tüm kodlamalarda ilk 127 karakter (yani sekizinci bitin 0'a eşit olduğu bayt değerleri) ASCII ile aynıdır. Dolayısıyla bir ASCII dosyası bu kodlamalardan herhangi birinde çalışır; İngiliz dilinin harfleri aynı şekilde temsil edilir.

organizasyon ISO(Uluslararası Standardizasyon Örgütü - Uluslararası Standartlar Örgütü) bir grup standardı benimsemiştir. ISO 8859. Farklı dil grupları için 8 bitlik kodlamaları tanımlar. Bu nedenle, ISO 8859-1, ABD ve Batı Avrupa için bir tablo olan Genişletilmiş ASCII'dir. Ve ISO 8859-5, Kiril (Rusça dahil) için bir tablodur.

Ancak, tarihsel nedenlerden dolayı ISO 8859-5 kodlaması tutmadı. Gerçekte, Rus dili için aşağıdaki kodlamalar kullanılır:

Kod Sayfa 866 ( CP866), aynı zamanda “DOS”, aynı zamanda “alternatif GOST kodlaması”. 1990'ların ortalarına kadar yaygın olarak kullanılan; şimdi sınırlı kullanımda. İnternette metinlerin dağıtımı için pratik olarak kullanılmaz.
- KOI-8. 70'li ve 80'li yıllarda geliştirildi. Rus İnternetinde posta mesajları göndermek için genel kabul görmüş bir standarttır. Ayrıca, Linux dahil olmak üzere Unix ailesinin işletim sistemlerinde yaygın olarak kullanılmaktadır. Rusça için tasarlanmış KOI-8 versiyonuna denir KOI-8R; diğer Kiril dilleri için sürümler vardır (örneğin, KOI8-U, Ukrayna dilinin bir çeşididir).
- Kod Sayfası 1251, CP1251, Windows-1251. Windows sisteminde Rus dilini desteklemek için Microsoft tarafından geliştirilmiştir.

CP866'nın ana avantajı, Genişletilmiş ASCII ile aynı yerlerde psödografik karakterlerin korunmasıydı; bu nedenle, örneğin ünlü Norton Commander gibi yabancı metin programları değişiklik yapmadan çalışabilir. CP866 şu anda metin pencerelerinde veya FAR Yöneticisi de dahil olmak üzere tam ekran metin modunda çalışan Windows programları için kullanılmaktadır.

CP866'daki metinler son yıllarda oldukça nadirdir (ancak Windows'ta Rusça dosya adlarını kodlamak için kullanılır). Bu nedenle, diğer iki kodlama üzerinde duracağız - KOI-8R ve CP1251.



Gördüğünüz gibi, CP1251 kodlama tablosunda, Rusça harfler alfabetik sıraya göre düzenlenmiştir (ancak YO harfi hariç). Bu düzenleme, bilgisayar programlarının alfabetik olarak sıralanmasını çok kolaylaştırır.

Ancak KOI-8R'de Rus harflerinin sırası rastgele görünüyor. Ama aslında öyle değil.

Birçok eski programda, metin işlenirken veya iletilirken 8. bit kayboldu. (Artık bu tür programlar pratik olarak “soyu tükenmiştir”, ancak 80'lerin sonunda ve 90'ların başında yaygındı). 8 bitlik bir değerden 7 bitlik bir değer elde etmek için, yüksek sıralı rakamdan 8'i çıkarmak yeterlidir; örneğin, E1 61 olur.

Şimdi KOI-8R'yi ASCII tablosuyla karşılaştırın (Tablo 1). Rus harflerinin Latin harfleriyle tam bir uyum içinde olduğunu göreceksiniz. Sekizinci bit kaybolursa, küçük Rus harfleri büyük Latin harflerine ve büyük Rus harfleri küçük Latin harflerine dönüşür. Yani, KOI-8'deki E1 Rusça "A" iken, ASCII'deki 61 Latince "a"dır.

Böylece KOI-8, 8. bit kaybıyla Rusça metnin okunabilirliğini korumanıza izin verir. "Herkese merhaba", "pRIWET WSEM" olur.

Son zamanlarda hem kodlama tablosundaki karakterlerin alfabetik sırası hem de 8. bitin kaybolmasıyla okunabilirlik belirleyici önemini yitirmiştir. Modern bilgisayarlarda sekizinci bit, ne aktarım sırasında ne de işleme sırasında kaybolmaz. Alfabetik sıralama, kodların basit bir karşılaştırması değil, kodlama dikkate alınarak yapılır. (Bu arada, CP1251 kodları tamamen alfabetik olarak sıralanmamıştır - Y harfi yerinde değildir).

İki yaygın kodlama olduğu için, İnternet ile çalışırken (posta, Web sitelerinde gezinme), bazen Rusça metin yerine anlamsız bir dizi harf görebilirsiniz. Örneğin, "Ben SBYFEMHEL'im". Sadece "saygılarımla" kelimeleri; ancak bunlar CP1251 kodlamasında kodlanmıştır ve bilgisayar metnin kodunu KOI-8 tablosuna göre çözmüştür. Aynı kelimeler KOI-8'de kodlanmış olsaydı ve bilgisayar metnin kodunu CP1251 tablosuna göre çözseydi, sonuç “U HCHBTSEOEN” olurdu.

Bazen bir bilgisayar Rusça harflerin şifresini çözer ve hatta Rus dili için tasarlanmamış bir tabloya göre olur. Ardından, Rusça harfler yerine anlamsız bir dizi karakter belirir (örneğin, Doğu Avrupa dillerinin Latin harfleri); genellikle "timsah" olarak adlandırılırlar.

Çoğu durumda, modern programlar İnternet belgelerinin (e-postalar ve Web sayfaları) kodlamalarını kendi başlarına belirlemeyi başarır. Ama bazen "yanlış ateş ederler" ve sonra garip Rus harfleri veya "timsah" dizileri görebilirsiniz. Kural olarak, böyle bir durumda gerçek metni görüntülemek için, program menüsünde kodlamayı manuel olarak seçmek yeterlidir.

Makale için http://open-office.edusite.ru/TextProcessor/p5aa1.html sayfasındaki bilgiler kullanılmıştır.

Siteden alınan malzeme:

Uluslararası Telekomünikasyon Birliği'ne göre, 2016'da üç buçuk milyar insan interneti değişen düzenliliklerle kullandı. Çoğu, PC veya mobil cihazlar aracılığıyla gönderdikleri mesajların yanı sıra her türlü monitörde görüntülenen metinlerin aslında 0 ve 1 kombinasyonları olduğu gerçeğini bile düşünmüyorlar. Bu bilgi temsiline kodlama denir. Depolama, işleme ve iletiminin uygulanmasını sağlar ve büyük ölçüde kolaylaştırır. 1963 yılında bu yazının konusu olan Amerikan ASCII kodlaması geliştirildi.

Bilginin bilgisayarda temsili

Herhangi bir elektronik bilgisayarın bakış açısından, metin bir dizi bireysel karakterdir. Bunlar sadece büyük harfler dahil harfleri değil, aynı zamanda noktalama işaretlerini, sayıları da içerir. Ayrıca özel karakterler "=", "&", "(" ve boşluklar kullanılır.

Metni oluşturan karakter kümesine alfabe denir ve sayılarına güç denir (N ile gösterilir). Bunu belirlemek için, N = 2^b ifadesi kullanılır; burada b, belirli bir karakterin bit sayısı veya bilgi ağırlığıdır.

256 karakter kapasiteli alfabenin, gerekli tüm karakterleri temsil etmenize izin verdiği kanıtlanmıştır.

256, 2'nin 8. kuvveti olduğundan, her karakterin ağırlığı 8 bittir.

8 bitlik bir ölçü birimine 1 bayt denir, bu nedenle bir bilgisayarda depolanan metindeki herhangi bir karakterin bir bayt bellek kapladığını söylemek gelenekseldir.

kodlama nasıl yapılır

Herhangi bir metin, kişisel bilgisayarın hafızasına, üzerine sayılar, harfler, noktalama işaretleri ve diğer sembollerin yazıldığı klavye tuşları vasıtasıyla girilir. İkili kodda RAM'e aktarılırlar, yani, her karaktere, insanlara tanıdık gelen, 0 ila 255 arasında bir ikili koda karşılık gelen - 00000000 ila 11111111 arasında bir ondalık kod atanır.

Bayt bayt karakter kodlaması, bir metin işlemcisinin her karaktere ayrı ayrı erişmesine izin verir. Aynı zamanda, herhangi bir karakter bilgisini temsil etmek için 256 karakter yeterlidir.

ASCII karakter kodlaması

İngilizce'deki bu kısaltma, bilgi alışverişi için kod anlamına gelir.

Bilgisayarlaşmanın şafağında bile, bilgiyi kodlamak için çeşitli yollar bulabileceğin aşikar hale geldi. Ancak bilgileri bir bilgisayardan diğerine aktarmak için tek bir standart geliştirmek gerekiyordu. Böylece, 1963'te Amerika Birleşik Devletleri'nde bir ASCII kodlama tablosu ortaya çıktı. İçinde, bilgisayar alfabesinin herhangi bir sembolüne ikili gösterimde sıra numarası atanır. Başlangıçta, ASCII kodlaması yalnızca Amerika Birleşik Devletleri'nde kullanıldı ve daha sonra PC'ler için uluslararası standart haline geldi.

ASCII kodları 2 bölüme ayrılmıştır. Bu tablonun yalnızca ilk yarısı Uluslararası Standart olarak kabul edilir. 0'dan (00000000 olarak kodlanmıştır) 127'ye (kod 01111111) kadar seri numaralarına sahip karakterleri içerir.

Seri numarası

ASCII metin kodlaması

sembol

0000 0000 - 0001 1111

0'dan 31'e kadar N olan karakterlere kontrol karakterleri denir. İşlevleri, bir monitörde veya yazıcıda metin görüntüleme, ses sinyali verme vb. sürecini "yönetmektir".

0010 0000 - 0111 1111

32'den 127'ye kadar N olan semboller (tablonun standart kısmı), Latin alfabesinin büyük ve küçük harfleri, 10. basamak, noktalama işaretleri ve ayrıca çeşitli parantezler, ticari ve diğer sembollerdir. 32 sembolü bir boşluğu ifade eder.

1000 0000 - 1111 1111

128'den 255'e kadar N olan karakterlerin (tablonun veya kod sayfasının alternatif kısmı), her biri kendi numarasına sahip olan farklı varyantları olabilir. Kod sayfası, Latin alfabesinden farklı ulusal alfabeleri belirtmek için kullanılır. Özellikle, Rus karakterleri için ASCII kodlamasının gerçekleştirilir.

Tabloda kodlamalar büyük harfle ve alfabetik sırayla birbirini takip eder ve sayılar artan sıradadır. Bu ilke Rus alfabesi için korunmuştur.

Kontrol karakterleri

ASCII kodlama tablosu aslında teletype gibi uzun süredir kullanılmayan bir cihaz üzerinden bilgi almak ve iletmek için oluşturulmuştur. Bu bağlamda, bu cihazı kontrol etmek için komutlar olarak kullanılan karakter setine yazdırılamayan karakterler dahil edildi. Mors kodu gibi bilgisayar öncesi mesajlaşma yöntemlerinde benzer komutlar kullanıldı.

En yaygın "teletype" karakteri NUL'dur (00, "sıfır"). Bu güne kadar çoğu programlama dilinde hala kullanılmaktadır ve bir satırın sonunun işaretini ifade etmektedir.

ASCII kodlaması nerede kullanılır?

Amerikan Standart Kodu, klavyede metinsel bilgi girmekten daha fazlası için gereklidir. Grafiklerde de kullanılır. Özellikle, ASCII Art Maker programında, çeşitli uzantıların görüntüleri, bir ASCII karakter yelpazesini temsil eder.

Bu tür ürünler iki türdür: görüntüleri metne dönüştürerek ve "çizimleri" ASCII grafiklerine dönüştürerek grafik düzenleyicilerin işlevini yerine getirenler. Örneğin, iyi bilinen ifade, kodlama karakterinin başlıca örneğidir.

ASCII, bir HTML belgesi oluştururken de kullanılabilir. Bu durumda belirli bir karakter kümesi girebilirsiniz ve sayfayı görüntülerken ekranda bu koda karşılık gelen bir karakter belirecektir.

ASCII ayrıca çok dilli siteler oluşturmak için de gereklidir, çünkü belirli bir ulusal tabloda yer almayan karakterler ASCII kodları ile değiştirilir.

Bazı özellikler

Metinsel bilgileri ASCII kodlamasında kodlamak için başlangıçta 7 bit kullanıldı (biri boş kaldı), ancak bugün 8 bit gibi çalışıyor.

Üstte ve altta yer alan sütunlarda yer alan harfler birbirinden sadece bir bit farklıdır. Bu, doğrulamanın karmaşıklığını büyük ölçüde azaltır.

ASCII'yi Microsoft Office'te Kullanma

Gerekirse, bu tür metinsel bilgilerin kodlanması Not Defteri ve Office Word gibi Microsoft metin düzenleyicilerinde kullanılabilir. Ancak böyle bir durumda yazarken bazı fonksiyonları kullanmak mümkün olmayacaktır. Örneğin, ASCII genel görünümünü ve biçimini göz ardı ederek yalnızca bilginin anlamını koruduğu için onu kalın yapamazsınız.

Standardizasyon

ISO organizasyonu, ISO 8859 standartlarını benimsemiştir.Bu grup, farklı dil grupları için sekiz bitlik kodlamalar tanımlar. Özellikle ISO 8859-1, Amerika Birleşik Devletleri ve Batı Avrupa ülkeleri için bir tablo olan Genişletilmiş ASCII'dir. Ve ISO 8859-5, Rusça da dahil olmak üzere Kiril alfabesi için kullanılan bir tablodur.

Bir dizi tarihsel nedenden dolayı, ISO 8859-5 standardı çok kısa bir süre kullanıldı.

Rus dili için, şu anda aslında kodlamalar kullanılmaktadır:

  • CP866 (Kod Sayfası 866) veya DOS, genellikle GOST alternatif kodlaması olarak anılır. Geçen yüzyılın 90'lı yıllarının ortalarına kadar aktif olarak kullanıldı. Şu anda pratik olarak kullanılmamaktadır.
  • KOI-8. Kodlama 1970'lerde ve 80'lerde geliştirildi ve şu anda RuNet'te e-posta mesajları için genel kabul görmüş standarttır. Linux dahil olmak üzere Unix işletim sistemleri ailesinde yaygın olarak kullanılmaktadır. KOI-8'in "Rus" versiyonuna KOI-8R denir. Ek olarak, Ukraynaca gibi diğer Kiril dilleri için de sürümleri vardır.
  • Kod Sayfası 1251 (CP 1251, Windows - 1251). Windows ortamında Rus diline destek sağlamak için Microsoft tarafından geliştirilmiştir.

İlk CP866 standardının ana avantajı, psödografik karakterlerin Genişletilmiş ASCII ile aynı konumlarda korunmasıydı. Bu, iyi bilinen Norton Commander gibi yabancı kaynaklı metin programlarının değiştirilmeden çalıştırılmasına izin verdi. Şu anda CP866, Windows altında geliştirilen ve FAR Manager dahil olmak üzere tam ekran metin modunda veya metin pencerelerinde çalışan programlar için kullanılmaktadır.

CP866 kodlamasıyla yazılan bilgisayar metinleri son zamanlarda oldukça nadirdir, ancak Windows'ta Rusça dosya adları için kullanılan budur.

"Unicode"

Şu anda, bu kodlama en yaygın kullanılanıdır. Unicode kodları bölgelere ayrılmıştır. İlki (U+0000 - U+007F) kodlu ASCII karakterlerini içerir. Bunu, çeşitli ulusal yazı karakterlerinin yanı sıra noktalama işaretleri ve teknik sembollerin alanları takip eder. Ek olarak, bazı "Unicode" kodları, gelecekte yeni karakterlerin eklenmesi için ayrılmıştır.

Artık ASCII kodlamasında her karakterin 8 sıfır ve bir kombinasyonu olarak temsil edildiğini biliyorsunuz. Uzman olmayanlar için bu bilgi gereksiz ve ilgisiz görünebilir, ancak bilgisayarınızın “beyninde” neler olduğunu bilmek istemez misiniz?!

ASCII'yi yetkin bir şekilde kullanmak için, bu alandaki ve kodlama olanakları hakkındaki bilgileri genişletmek gerekir.

Ne olduğunu?

ASCII, bilgi ve bazı kodları iletmek için bir bilgisayar klavyesinde yazılan basılı karakterler (bkz. ekran görüntüsü #1) için bir kodlama tablosudur. Başka bir deyişle, alfabe ve ondalık basamaklar, gerekli bilgileri temsil eden ve taşıyan karşılık gelen karakterlere kodlanmıştır.

ASCII kodlaması Amerika'da geliştirilmiştir, bu nedenle standart kodlama tablosu genellikle toplamda yaklaşık 128 karakter için sayılarla birlikte İngiliz alfabesini içerir. Ancak o zaman adil bir soru ortaya çıkıyor: Ulusal alfabenin kodlanması gerekliyse ne yapmalı?

ASCII tablosunun diğer sürümleri, benzer sorunlarla başa çıkmak için geliştirilmiştir. Örneğin yabancı dil yapısına sahip diller için İngiliz alfabesinin harfleri ya kaldırılmış ya da bunlara ulusal alfabe şeklinde ek karakterler eklenmiştir. Bu nedenle, ASCII kodlamasında ulusal kullanım için Rus harfleri olabilir (2 numaralı ekran görüntüsüne bakın).

ASCII kodlaması nerede kullanılır?

Bu kodlama sistemi sadece klavyede metin bilgisi yazmak için gerekli değildir. Grafiklerde de kullanılır. Örneğin, ASCII Art Maker programında, çeşitli uzantıların grafik görüntüleri, bir ASCII karakter yelpazesinden oluşur (3 numaralı ekran görüntüsüne bakın).


Kural olarak, bu tür programlar, bir görüntüyü metne çeviren grafik düzenleyicilerin işlevini yerine getirenlere ve bir görüntüyü ASCII grafiklerine dönüştürenlere ayrılabilir. İyi bilinen ifade (veya aynı zamanda " gülümseyen insan yüzü”) ayrıca bir kodlama karakteri örneğidir.

Bu kodlama yöntemi, bir HTML belgesi yazılırken veya oluşturulurken de talep edilebilir. Örneğin, ihtiyacınız olan belirli bir karakter kümesini giriyorsunuz ve sayfanın kendisini görüntülerken, bu koda karşılık gelen karakter ekranda görüntülenecektir.

Diğer şeylerin yanı sıra, çok dilli bir site oluştururken bu tür kodlama gereklidir, çünkü bir veya daha fazla ulusal tabloda yer almayan karakterlerin ASCII kodlarıyla değiştirilmesi gerekecektir. Okuyucu doğrudan bilgi ve iletişim teknolojileri (BİT) ile ilgiliyse, aşağıdaki gibi sistemlere aşina olması onun için yararlı olacaktır:

  1. Taşınabilir karakter seti;
  2. Kontrol karakterleri;
  3. EBCDIC;
  4. VISCII;
  5. YUSCII;
  6. tek kod;
  7. ASCII sanatı;
  8. KOI-8.

ASCII tablo özellikleri

Herhangi bir sistematik program gibi, ASCII'nin de kendine has özellikleri vardır. Böylece, örneğin, ondalık sistem (0'dan 9'a kadar olan rakamlar ikili sisteme dönüştürülür (yani her bir ondalık basamak sırasıyla ikili 288=1001000'e dönüştürülür).

Üst ve alt sütunlarda bulunan harfler birbirinden yalnızca biraz farklıdır, bu da vakayı kontrol etme ve düzenleme karmaşıklığını önemli ölçüde azaltır.

Tüm bu özellikleriyle ASCII kodlaması, başlangıçta yedi bit olarak öngörülmesine rağmen sekiz bit olarak çalışır.

ASCII'nin Microsoft Office programlarında kullanımı:

Gerekirse, bu bilgi kodlama seçeneği Microsoft Notepad ve Microsoft Office Word'de kullanılabilir. Bu uygulamalar içerisinde belge ASCII formatında kaydedilebilir ancak bu durumda yazarken bazı fonksiyonları kullanmak mümkün olmayacaktır.

Özellikle koyu ve yarı koyu olarak vurgulamak mümkün olmayacaktır, çünkü kodlama genel görünüm ve formu değil, sadece yazılan bilgilerin anlamını korur. Aşağıdaki yazılım uygulamalarını kullanarak bu tür kodları bir belgeye ekleyebilirsiniz:

  • Microsoft Excel;
  • Microsoft FrontPage;
  • Microsoft Bilgi Yolu
  • Microsoft OneNote
  • Microsoft Outlook;
  • Microsoft Powerpoint;
  • Microsoft projesi.

Bu durumda bu uygulamalarda ASCII kodu yazarken ALT klavye tuşunu basılı tutmanız gerektiği unutulmamalıdır.

Elbette gerekli tüm kodlar daha uzun ve detaylı bir çalışma gerektiriyor ama bu bugünkü yazımızın kapsamı dışındadır. Umarım sizin için gerçekten faydalı olmuştur.

Yakında görüşürüz!

İyi kötü

Merhaba, blog sitesinin sevgili okuyucuları. Bugün sizlerle sitede ve programlarda krakozyabry'nin nereden geldiğini, hangi metin kodlamalarının var olduğunu ve hangilerinin kullanılması gerektiğini konuşacağız. Temel ASCII'nin yanı sıra genişletilmiş CP866, KOI8-R, Windows 1251 sürümlerinden başlayarak ve Unicode Konsorsiyumu UTF 16 ve 8'in modern kodlamalarıyla biten gelişimlerinin tarihine daha yakından bakalım.

Bazıları için bu bilgi gereksiz görünebilir, ancak özellikle sürünen krakozyabrs (okunamayan bir karakter seti) ile ilgili olarak kaç soru aldığımı bilirsiniz. Şimdi herkesi bu makalenin metnine yönlendirme ve bağımsız olarak sövelerimi arama fırsatına sahip olacağım. Pekala, bilgileri özümsemeye ve hikayenin gidişatını takip etmeye hazırlanın.

ASCII - Latince için temel metin kodlaması

Metin kodlamalarının gelişimi, BT endüstrisinin oluşumuyla eş zamanlı olarak gerçekleşti ve bu süre zarfında oldukça fazla değişiklik geçirmeyi başardılar. Tarihsel olarak, her şey, Latin alfabesinin harflerini, Arap rakamlarını ve noktalama işaretlerini kontrol karakterleriyle kodlamayı mümkün kılan, Rusça telaffuzda oldukça uyumsuz olan EBCDIC ile başladı.

Ancak yine de, modern metin kodlamalarının gelişiminin başlangıç ​​noktası, ünlü metin kodlamaları olarak kabul edilmelidir. ASCII(Rusça'da genellikle "aski" olarak telaffuz edilen Amerikan Bilgi Değişimi Standart Kodu). İngilizce konuşan kullanıcılar tarafından en yaygın olarak kullanılan ilk 128 karakteri tanımlar - Latin harfleri, Arap rakamları ve noktalama işaretleri.

ASCII'de açıklanan bu 128 karakterde bile parantez, çubuk, yıldız işareti gibi bazı servis karakterleri vardı. Aslında, onları kendiniz görebilirsiniz:

Standart hale gelen orijinal ASCII versiyonundaki bu 128 karakterdir ve diğer herhangi bir kodlamada kesinlikle onlarla tanışacaksınız ve bu sırayla duracaklar.

Ancak gerçek şu ki, bir baytlık bilgi yardımıyla, 128'i değil, 256 farklı değeri (iki üzeri sekizin kuvveti 256'ya eşittir) kodlamak mümkündür, bu nedenle temel sürümden sonra Asuka, bir dizi genişletilmiş ASCII kodlamaları 128 temel karaktere ek olarak, ulusal kodlamanın sembollerini kodlamak da mümkündü (örneğin, Rusça).

Burada, muhtemelen, açıklamada kullanılan sayı sistemleri hakkında biraz daha fazla şey söylemeye değer. İlk olarak, hepinizin bildiği gibi, bir bilgisayar sadece ikili sistemdeki sayılarla, yani sıfırlar ve birler ile çalışır (eğer herhangi biri bir enstitüde veya okulda okuduysa “Boole cebiri”). , her biri derecede iki, sıfırdan başlayarak ve yedincide ikiye kadar:

Böyle bir yapıda tüm olası sıfır ve bir kombinasyonlarının yalnızca 256'sının olabileceğini anlamak zor değil.Bir sayıyı ikiliden ondalık sayıya dönüştürmek oldukça basittir. Sadece üzerinde bir olan ikinin tüm güçlerini toplamanız gerekiyor.

Örneğimizde, bu 1 (2 üzeri sıfır) artı 8 (iki üzeri 3), artı 32 (iki üzeri beşinci), artı 64 (altıncı üzeri), artı 128 (yedinci üzeri) . Toplam, ondalık gösterimde 233 alır. Gördüğünüz gibi, her şey çok basit.

Ancak ASCII karakterlerinin bulunduğu tabloya daha yakından bakarsanız, bunların onaltılık kodlamada temsil edildiğini göreceksiniz. Örneğin, "yıldız" Asci'de 2A onaltılık sayıya karşılık gelir. Arap rakamlarına ek olarak, onaltılık sayı sisteminin A'dan (on anlamına gelir) F'ye (on beş anlamına gelir) kadar Latin harflerini de kullandığını muhtemelen biliyorsunuzdur.

Eh, için ikiliyi onaltılıya çevir aşağıdaki basit ve görsel yönteme başvurunuz. Her bilgi baytı, yukarıdaki ekran görüntüsünde gösterildiği gibi, dört bitlik iki parçaya bölünmüştür. O. her yarım baytta, onaltılık bir sayı olarak kolayca temsil edilebilen ikili kodda (iki ila dördüncü güç) yalnızca on altı değer kodlanabilir.

Ayrıca, baytın sol yarısında, ekran görüntüsünde gösterildiği gibi değil, sıfırdan başlayarak dereceleri tekrar saymak gerekecektir. Sonuç olarak, basit hesaplamalarla, ekran görüntüsünde E9 sayısının kodlandığını elde ederiz. Umarım akıl yürütmemin seyri ve bu bulmacanın çözümü sizin için açık olmuştur. Şimdi, aslında, metin kodlamaları hakkında konuşmaya devam edelim.

Asuka - CP866 ve KOI8-R kodlamalarının sözde grafikli genişletilmiş sürümleri

Böylece, tüm modern kodlamaların (Windows 1251, Unicode, UTF 8) geliştirilmesinin başlangıç ​​noktası olan ASCII hakkında konuşmaya başladık.

Başlangıçta, Latin alfabesinin yalnızca 128 karakterini, Arap rakamlarını ve başka bir şeyi içeriyordu, ancak genişletilmiş sürümde, bir bayt bilgide kodlanabilen 256 değerin tümünü kullanmak mümkün oldu. Onlar. Asci'ye kendi dilinizdeki harflerin karakterlerini eklemek mümkün oldu.

Burada açıklamak için bir kez daha konunun dışına çıkmak gerekecek - Neden kodlamaya ihtiyacınız var? metinler ve neden bu kadar önemli. Bilgisayar ekranınızdaki karakterler iki şey temelinde oluşturulur - her türden karakterin vektör şekilleri (temsilleri) kümeleri (bunlar ortak dosyalardadır) ve bu vektör şekilleri kümesinden çıkarmanıza izin veren bir kod ( yazı tipi dosyası) tam olarak Doğru yere eklemeniz gereken karakterdir.

Yazı tiplerinin vektör formlarının kendisinden sorumlu olduğu açıktır, ancak kodlamadan işletim sistemi ve içinde kullanılan programlar sorumludur. Onlar. bilgisayarınızdaki herhangi bir metin, her biri bu metnin tek bir karakterini kodlayan bir bayt kümesi olacaktır.

Bu metni ekranda (metin düzenleyici, tarayıcı vb.) görüntüleyen program, kodu ayrıştırırken bir sonraki karakterin kodlamasını okur ve bu metni görüntülemek için bağlanan istenen yazı tipi dosyasında karşılık gelen vektör formunu arar. belge. Her şey basit ve banal.

Bu, ihtiyacımız olan herhangi bir karakteri (örneğin, ulusal alfabeden) kodlamak için iki koşulun karşılanması gerektiği anlamına gelir - bu karakterin vektör biçimi kullanılan yazı tipinde olmalıdır ve bu karakter, genişletilmiş ASCII kodlamalarında kodlanabilir. bir baytta. Bu nedenle, bu tür bir sürü seçenek var. Yalnızca Rus dilinin karakterlerini kodlamak için, genişletilmiş Aska'nın birkaç çeşidi vardır.

Örneğin, başlangıçta vardı CP866 Rus alfabesinin karakterlerini kullanmanın mümkün olduğu ve ASCII'nin genişletilmiş bir versiyonuydu.

Onlar. üst kısmı, hemen yukarıdaki ekran görüntüsünde gösterilen Asuka'nın temel sürümüyle (128 Latin karakter, sayılar ve diğer saçmalıklar) tamamen çakıştı, ancak CP866 kodlamalı tablonun alt kısmı, hemen aşağıdaki ekran görüntüsünde gösterilen forma sahipti. ve başka bir 128 işaretin kodlanmasına izin verildi (Rus harfleri ve orada her türlü sözde grafik):

Sağ sütunda sayıların 8 ile başladığını görüyorsunuz, çünkü 0'dan 7'ye kadar olan sayılar, ASCII temel kısmına atıfta bulunur (ilk ekran görüntüsüne bakın). O. CP866'daki Rusça "M" harfi, bir bayt bilgi ile yazılabilen 9C koduna sahip olacaktır (ilgili satırın 9 ile ve onaltılık sayı sisteminde C numaralı sütunun kesişiminde bulunur), ve Rusça karakterlerle uygun bir yazı tipi varsa, metinde bu harf sorunsuz olarak gösterilecektir.

Bu miktar nereden geldi? CP866'da sözde grafikler? Mesele şu ki, Rusça metin için bu kodlama, şu anda olduğu gibi grafik işletim sistemlerinin dağıtımının olmadığı o tüylü yıllarda geliştirildi. Ve Dosa'da ve benzeri metin işletim sistemlerinde, sözde grafikler, metinlerin tasarımını bir şekilde çeşitlendirmeyi mümkün kıldı ve bu nedenle CP866'da ve Asuka'nın genişletilmiş sürümleri kategorisindeki diğer tüm akranlarında bol miktarda bulunur.

CP866, IBM tarafından dağıtıldı, ancak buna ek olarak, Rusça karakterler için bir dizi kodlama geliştirildi, örneğin, aynı tür (genişletilmiş ASCII) atfedilebilir KOI8-R:

Çalışma prensibi biraz daha önce açıklanan CP866 ile aynı kalır - metnin her karakteri tek bir bayt ile kodlanır. Ekran görüntüsü KOI8-R tablosunun ikinci yarısını gösterir, çünkü ilk yarı, bu makaledeki ilk ekran görüntüsünde gösterilen temel Asuka'ya tamamen karşılık gelir.

KOI8-R kodlamasının özellikleri arasında, tablosundaki Rusça harflerin, örneğin CP866'da yapıldığı gibi alfabetik sırada olmadığı belirtilebilir.

İlk ekran görüntüsüne bakarsanız (tüm genişletilmiş kodlamalara dahil olan temel kısmın), KOI8-R'de Rusça harflerin, Latin alfabesi ünsüz harfleriyle tablonun aynı hücrelerinde bulunduğunu fark edeceksiniz. tablonun ilk bölümünden onlarla. Bu, yalnızca bir bit (iki ila yedinci güç veya 128) atılarak Rusça'dan Latince karakterlere geçiş kolaylığı için yapıldı.

Windows 1251 - ASCII'nin modern versiyonu ve neden krakozyabry sürünüyor?

Metin kodlamalarının daha da geliştirilmesi, grafik işletim sistemlerinin popülerlik kazanması ve bunlarda sözde grafik kullanma ihtiyacının zamanla ortadan kalkması nedeniyle oldu. Sonuç olarak, özünde hala Asuka'nın genişletilmiş versiyonları olan (metnin bir karakteri yalnızca bir bayt bilgi ile kodlanır), ancak psödografik karakterler kullanmadan bütün bir grup ortaya çıktı.

Amerikan Standartları Enstitüsü tarafından geliştirilen sözde ANSI kodlamalarına aittiler. Genel tabirle, Kiril adı, Rus dilini destekleyen varyant için de kullanıldı. Bunun bir örneği hizmet edebilir.

Daha önce kullanılan CP866 ve KOI8-R ile olumlu bir şekilde karşılaştırır, çünkü içindeki psödografik sembollerin yerinin Rus tipografisinin eksik sembolleri (vurgu işareti dışında) ve Slav dillerinde kullanılan semboller tarafından alınmasıdır. Rusça (Ukraynaca, Belarusça, vb.):

Rus dili kodlamalarının bu kadar bol olması nedeniyle, yazı tipi üreticileri ve yazılım üreticileri sürekli bir baş ağrısına sahipti ve biz sevgili okuyucular, çoğu zaman çok kötü şöhretli olanlardan kurtulduk. krakozyabry metinde kullanılan sürümle ilgili bir karışıklık olduğunda.

Çoğu zaman, e-posta ile mesaj gönderirken ve alırken ortaya çıktılar, bu da aslında bu sorunu kökünde çözemeyen çok karmaşık dönüşüm tablolarının oluşturulmasına yol açtı ve çoğu zaman kullanıcılar kötü şöhretten kaçınmak için yazışmalar için kullandılar. CP866, KOI8-R veya Windows 1251 gibi Rusça kodlamaları kullanırken krakozyabrs.

Aslında, Rusça metin yerine ortaya çıkan krakozyabry, bu dilin kodlamasının yanlış kullanılmasının sonucuydu ve bu, metin mesajının orijinal olarak kodlandığına karşılık gelmiyordu.

Örneğin, Windows 1251 kod tablosunu kullanarak CP866 kullanılarak kodlanmış karakterleri görüntülemeye çalışırsanız, mesaj metninin tamamen yerine aynı krakozyabry (anlamsız karakter seti) çıkacaktır.

Benzer bir durum, forumlarda veya bloglarda, Rusça karakterli metin yanlışlıkla sitede varsayılan olarak kullanılan yanlış kodlamaya veya koda gag ekleyen yanlış metin düzenleyiciye kaydedildiğinde ortaya çıkar. çıplak göz.

Sonunda, birçok insan böyle bir durumdan çok fazla kodlama ile bıktı ve sürekli krakozyabry'den çıktı, mevcut olanların yerini alacak ve sonunda sorunu okunamayan metinlerin ortaya çıkmasıyla çözecek yeni bir evrensel varyasyon yaratmanın ön koşulları vardı. . Ayrıca, dilin karakterlerinin 256'dan çok daha fazla olduğu Çince gibi dillerin sorunu vardı.

Unicode (Unicode) - evrensel kodlamalar UTF 8, 16 ve 32

Güneydoğu Asya dil grubunun bu binlerce karakteri, ASCII'nin genişletilmiş sürümlerinde karakterleri kodlamak için ayrılan bir bayt bilgi ile hiçbir şekilde tanımlanamadı. Sonuç olarak, bir konsorsiyum olarak adlandırılan tek kod(Unicode - Unicode Konsorsiyumu) ​​evrensel bir metin kodlamasının ortaya çıkmasıyla ilgilenen birçok BT endüstrisi liderinin (yazılım üretenler, donanım kodlayanlar, yazı tipleri oluşturanlar) işbirliğiyle.

Unicode Konsorsiyumu'nun himayesinde piyasaya sürülen ilk varyasyon, UTF-32. Kodlama adındaki sayı, bir karakteri kodlamak için kullanılan bit sayısı anlamına gelir. 32 bit, yeni evrensel kodlama UTF'sinde tek bir karakteri kodlamak için gerekli olacak 4 baytlık bilgidir.

Sonuç olarak, ASCII'nin genişletilmiş sürümünde ve UTF-32'de kodlanmış metin içeren aynı dosya, ikinci durumda dört kat daha büyük bir boyuta (ağırlığa) sahip olacaktır. Bu kötü, ancak şimdi UTF kullanarak otuz saniyenin iki katına eşit karakter sayısını kodlama fırsatımız var ( milyarlarca karakter, bu gerçekten gerekli herhangi bir değeri büyük bir marjla kapsayacaktır).

Ancak Avrupa grubunun dillerine sahip birçok ülkenin kodlamada bu kadar çok sayıda karakter kullanmasına gerek yoktu, ancak UTF-32 kullanırken metin belgelerinin ağırlığında dört kat artış elde edeceklerdi. hiçbir şey için ve sonuç olarak, İnternet trafiği hacminde ve depolanan veri hacminde bir artış. Bu çok fazla ve hiç kimse böyle bir israfı karşılayamaz.

Unicode'un geliştirilmesinin bir sonucu olarak, UTF-16, o kadar başarılı oldu ki kullandığımız tüm karakterler için varsayılan taban alanı olarak kabul edildi. Bir karakteri kodlamak için iki bayt kullanır. Bu şeyin neye benzediğini görelim.

Windows işletim sisteminde "Başlat" - "Programlar" - "Aksesuarlar" - "Yardımcı Programlar" - "Karakter Tablosu" yolunda gidebilirsiniz. Sonuç olarak, sisteminizde kurulu olan tüm yazı tiplerinin vektör şekillerinin bulunduğu bir tablo açılacaktır. "Gelişmiş Seçenekler"de Unicode karakter setini seçerseniz, her bir yazı tipi için içerdiği tüm karakter aralığını ayrı ayrı görebilirsiniz.

Bu arada, herhangi birine tıklayarak çift baytını görebilirsiniz. UTF-16 formatında kod, dört onaltılık basamaktan oluşur:

UTF-16'da 16 bit kullanılarak kaç karakter kodlanabilir? 65536 (iki üzeri on altı) ve Unicode'da temel uzay olarak kabul edilen bu sayıydı. Ek olarak, onunla yaklaşık iki milyon karakteri kodlamanın yolları vardır, ancak bir milyon karakterlik genişletilmiş bir metin alanıyla sınırlıdır.

Ancak, Unicode kodlamasının bu başarılı sürümü bile, örneğin yalnızca İngilizce programlar yazanlar için çok fazla memnuniyet getirmedi, çünkü ASCII'nin genişletilmiş sürümünden UTF-16'ya geçişten sonra, belgelerin ağırlığı iki katına çıktı (bayt başına bir bayt). Asci'de bir karakter ve UTF-16'da aynı karakter başına iki bayt).

Unicode konsorsiyumundaki herkesin ve her şeyin memnuniyeti için, ortaya çıkmaya karar verildi. değişken uzunluk kodlaması. Adı UTF-8. Adındaki sekize rağmen, gerçekten değişken bir uzunluğa sahiptir, yani. her metin karakteri, bir ila altı baytlık bir diziye kodlanabilir.

Uygulamada, UTF-8'de yalnızca bir ila dört bayt aralığı kullanılır, çünkü dört baytlık kodun arkasında hiçbir şey teorik olarak hayal bile edilemez. İçindeki tüm Latin karakterleri, eski güzel ASCII'de olduğu gibi bir bayt olarak kodlanmıştır.

Dikkat çekici bir şekilde, yalnızca Latince kodlama durumunda, Unicode'u anlamayan programlar bile UTF-8'de kodlanmış olanı okuyacaktır. Onlar. Asuka'nın temel kısmı, Unicode Konsorsiyumu'nun bu buluşu haline geldi.

UTF-8'deki Kiril karakterler iki bayt olarak ve örneğin Gürcüce karakterler üç bayt olarak kodlanmıştır. Unicode Konsorsiyumu, UTF 16 ve 8'i oluşturduktan sonra ana sorunu çözdü - şimdi elimizde yazı tiplerinin tek bir kod alanı vardır. Ve şimdi üreticileri, güçlü yönlerine ve yeteneklerine dayalı olarak yalnızca vektör metin karakter biçimleriyle doldurabilirler. Şimdi setlerde bile.

Yukarıdaki “Karakter Tablosu”nda farklı yazı tiplerinin farklı sayıda karakteri desteklediğini görebilirsiniz. Bazı Unicode açısından zengin yazı tipleri çok büyük olabilir. Ancak şimdi, farklı kodlamalar için yaratıldıkları için değil, yazı tipi üreticisinin tek kod alanını bir veya başka bir vektör formuyla doldurması veya doldurmaması gerçeğinde farklılık gösteriyorlar.

Rus harfleri yerine Krakozyabry - nasıl düzeltilir

Şimdi metin yerine krakozyabraların nasıl göründüğüne veya başka bir deyişle Rusça metin için doğru kodlamanın nasıl seçildiğine bakalım. Aslında, bu aynı metni veya metin parçalarını kullanarak kod oluşturduğunuz veya düzenlediğiniz programda ayarlanır.

Metin dosyalarını düzenlemek ve oluşturmak için kişisel olarak çok iyi bir . Bununla birlikte, yüzlerce programlama ve işaretleme dilinin sözdizimini vurgulayabilir ve ayrıca eklentiler kullanılarak genişletilebilir. Aşağıdaki bağlantıdan bu harika programın ayrıntılı bir incelemesini okuyun.

Notepad ++'ın üst menüsünde, mevcut bir seçeneği varsayılan olarak sitenizde kullanılana dönüştürme fırsatına sahip olacağınız bir "Kodlamalar" öğesi vardır:

Joomla 1.5 ve üzeri bir site olması durumunda ve WordPress'te bir blog olması durumunda, hataların ortaya çıkmasını önlemek için seçeneği seçin. Malzeme Listesi olmadan UTF8. BOM öneki nedir?

Gerçek şu ki, UTF-16 kodlamasını geliştirdiklerinde, bir nedenden dolayı, hem doğrudan sırayla (örneğin, 0A15) hem de ters (150A) bir karakter kodu yazma yeteneği gibi bir şey eklemeye karar verdiler. . Ve programların kodları hangi sırayla okuyacağını anlaması için icat edildi. malzeme listesi(Byte Order Mark veya başka bir deyişle imza), belgelerin en başına üç ek bayt eklenmesiyle ifade edildi.

UTF-8 kodlamasında, Unicode konsorsiyumunda hiçbir Malzeme Listesi sağlanmamıştır ve bu nedenle bir imza eklemek (belgenin başına bu en kötü şöhretli ek üç bayt), bazı programların kodu okumasını engeller. Bu nedenle, dosyaları UTF'ye kaydederken, her zaman BOM'suz (imzasız) seçeneği seçmeliyiz. Böylece ilerlersin kendinizi sürünen krakozyabry'den koruyun.

Dikkat çekici bir şekilde, Windows'taki bazı programlar bunu nasıl yapacaklarını bilmiyorlar (metni BOM olmadan UTF-8'de kaydedemezler), örneğin aynı kötü şöhretli Windows Not Defteri. Belgeyi UTF-8'e kaydeder, ancak yine de imzayı (üç ekstra bayt) başına ekler. Ayrıca, bu baytlar her zaman aynı olacaktır - kodu doğrudan sırayla okuyun. Ancak sunucularda, bu küçük şey yüzünden bir sorun ortaya çıkabilir - krakozyabry çıkacaktır.

Bu nedenle, hiçbir şekilde normal Windows not defteri kullanmayın krakozyabrov görünümünü istemiyorsanız sitenizin belgelerini düzenlemek için. Daha önce bahsedilen Notepad ++ düzenleyicisini, pratikte hiçbir dezavantajı olmayan ve yalnızca avantajlardan oluşan en iyi ve en basit seçenek olarak görüyorum.

Notepad++'da, bir kodlama seçtiğinizde, metni, doğası gereği Unicode standardına çok yakın olan UCS-2 kodlamasına dönüştürme seçeneğiniz olacaktır. Ayrıca Not Defteri'nde metni ANSI'de kodlamak mümkün olacaktır, yani. Rus dili ile ilgili olarak, bu, yukarıda biraz tanımladığımız Windows 1251 olacaktır.Bu bilgi nereden geliyor?

Windows işletim sisteminizin kayıt defterinde yazılıdır - ANSI durumunda hangi kodlamanın seçileceği, OEM durumunda hangisinin seçileceği (Rus dili için CP866 olacaktır). Bilgisayarınızda başka bir varsayılan dil ayarlarsanız, bu kodlamalar, aynı dil için ANSI veya OEM kategorisinden benzerleriyle değiştirilir.

Belgeyi ihtiyacınız olan kodlamada Notepad ++ ile kaydettikten veya düzenleme için siteden açtıktan sonra, düzenleyicinin sağ alt köşesinde adını görebilirsiniz:

Krakozyabrov'dan kaçınmak için, yukarıda açıklanan işlemlere ek olarak, sitenin tüm sayfalarının kaynak kodunun başlığına bu kodlama hakkında bilgi yazmanız, sunucu veya yerel ana bilgisayar üzerinde herhangi bir karışıklık olmaması için faydalı olacaktır.

Genel olarak, Html dışındaki tüm köprü metni biçimlendirme dillerinde, metin kodlamasını belirten özel bir xml bildirimi kullanılır.

Kodu ayrıştırmadan önce, tarayıcı hangi sürümün kullanıldığını ve o dilin karakter kodlarının tam olarak nasıl yorumlanması gerektiğini bilir. Ancak kayda değer olan, belgeyi varsayılan unicode'da kaydederseniz, bu xml bildirimi atlanabilir (BOM yoksa kodlama UTF-8 veya bir Malzeme Listesi varsa UTF-16 olarak kabul edilir).

Bir Html dil belgesi olması durumunda, kodlama, belirtmek için kullanılır. meta öğe, açılış ve kapanış Head etiketi arasına yazılan:

... ...

Bu giriş, içindekinden oldukça farklıdır, ancak yavaş yavaş tanıtılan yeni Html 5 standardı ile tamamen uyumludur ve şu anda kullanımda olan tüm tarayıcılar tarafından %100 doğru anlaşılacaktır.

Teorik olarak, belgenin Html kodlamasına sahip Meta öğesinin yerleştirilmesi daha iyi olacaktır. belgenin başlığında mümkün olduğunca yüksek bu nedenle, toplantı sırasında, temel ANSI'den değil (her zaman doğru ve herhangi bir varyasyonda okunacak olan) ilk karakterin metninde, tarayıcının bu karakterlerin kodlarının nasıl yorumlanacağı hakkında zaten bilgiye sahip olması gerekir.

Sana iyi şanslar! Yakında blog sayfaları sitesinde görüşürüz

adresine giderek daha fazla video izleyebilirsiniz.
");">

ilgini çekebilir

URL nedir, bir site için mutlak ve göreli bağlantılar arasındaki fark nedir?
OpenServer - modern bir yerel sunucu ve onu bir bilgisayara WordPress yüklemek için kullanma örneği
Chmod nedir, dosya ve klasörlere (777, 755, 666) hangi izinler atanır ve PHP ile nasıl yapılır
Sitede ve çevrimiçi mağazada Yandex araması

Bilgisayar, bu verilerin daha uygun bir şekilde iletilmesini, depolanmasını veya otomatik olarak işlenmesini sağlayan bir forma dönüşme sürecini anlar. Bu amaçla çeşitli tablolar kullanılmaktadır. ASCII kodlaması, Amerika Birleşik Devletleri'nde İngilizce metinle çalışmak için geliştirilen ve daha sonra dünya çapında yaygınlaşan ilk sistemdi. Aşağıdaki makale, açıklamasına, özelliklerine, özelliklerine ve daha fazla kullanımına ayrılmıştır.

Bilgilerin bir bilgisayarda görüntülenmesi ve saklanması

Bir bilgisayarın veya belirli bir mobil dijital aygıtın monitöründeki simgeler, çeşitli karakterlerden oluşan vektör şekilleri kümeleri ve aralarında doğru yere eklenmesi gereken sembolü bulmanızı sağlayan bir kod temelinde oluşturulur. Bu bir bit dizisidir. Bu nedenle, her karakter benzersiz bir şekilde bir dizi sıfıra ve belirli, benzersiz bir sırada duranlara karşılık gelmelidir.

Hepsi nasıl başladı

Tarihsel olarak, ilk bilgisayarlar İngilizce idi. İçlerindeki sembolik bilgileri kodlamak için sadece 7 bit bellek kullanmak yeterli olurken, bu amaç için 8 bitten oluşan 1 bayt tahsis edildi. Bu durumda bilgisayarın anladığı karakter sayısı 128'di. Bu karakterler, noktalama işaretleri, sayıları ve bazı özel karakterleri ile İngiliz alfabesini içeriyordu. 1963'te geliştirilen ilgili tabloyla (kod sayfası) İngilizce yedi bit kodlama, Bilgi Değişimi için Amerikan Standart Kodu olarak adlandırıldı. Genellikle, "ASCII kodlaması" kısaltması kullanıldı ve bu güne kadar hala kullanılıyor.

Çok dilliliğe geçiş

Zamanla, bilgisayarlar İngilizce konuşulmayan ülkelerde yaygın olarak kullanılmaya başlandı. Bu bağlamda, ulusal dillerin kullanımına izin veren kodlamalara ihtiyaç duyulmuştur. Tekerleği yeniden icat etmemeye ve ASCII'yi temel almaya karar verildi. Yeni baskıdaki kodlama tablosu önemli ölçüde genişledi. 8. bitin kullanılması, 256 karakterin bir bilgisayar diline çevrilmesini mümkün kıldı.

Tanım

ASCII kodlaması 2 parçaya bölünmüş bir tabloya sahiptir. Genel kabul görmüş uluslararası standart, yalnızca ilk yarısı olarak kabul edilir. O içerir:

  • 0'dan 31'e kadar seri numaralarına sahip, 00000000 ile 00011111 arasındaki dizilerle kodlanmış karakterler. Bunlar, bir ekranda veya yazıcıda metin görüntüleme, ses sinyali verme vb. sürecini kontrol eden kontrol karakterleri için ayrılmıştır.
  • Tabloda, 00100000 ile 01111111 arasındaki dizilerle kodlanmış, 32'den 127'ye kadar NN'li karakterler, tablonun standart bölümünü oluşturur. Bir boşluk (N 32), Latin alfabesinin harflerini (küçük harf ve büyük harf), 0'dan 9'a kadar on basamaklı sayıları, noktalama işaretlerini, çeşitli stillerde parantezleri ve diğer sembolleri içerir.
  • 128 - 255 arası seri numaralarına sahip, 10000000 - 11111111 arası dizilerle kodlanmış karakterler. Latin dışındaki ulusal alfabelerin harflerini içerirler. Rusça karakterleri bir bilgisayar biçimine dönüştürmek için kullanılan ASCII kodlama tablosunun bu alternatif kısmıdır.

Bazı özellikler

ASCII kodlamasının özellikleri, sadece bir bit ile küçük ve büyük harflerin "A" - "Z" harfleri arasındaki farkı içerir. Bu durum, kaydın dönüştürülmesini ve ayrıca belirli bir değer aralığına ait olduğunun doğrulanmasını büyük ölçüde basitleştirir. Ayrıca, ASCII kodlama sistemindeki tüm harfler, ikili sayı sisteminde 5 haneli olarak yazılan alfabede kendi seri numaraları ile temsil edilir ve önünde küçük harfler için 011 2 ve büyük harfler için 010 2 bulunur.

10 haneli - "0" - "9" gösterimi de ASCII kodlamanın özellikleri arasında sayılabilir. İkinci sayı sisteminde 00112 ile başlar ve 2 sayı değeri ile biter. Böylece, 0101 2 ondalık beşe eşdeğerdir, bu nedenle "5" karakteri 0011 01012 olarak yazılır. Yukarıdakilere dayanarak, soldaki her bir parçaya 00112 bit dizisini ekleyerek BCD numaralarını bir ASCII dizisine kolayca dönüştürebilirsiniz.

"Unicode"

Bildiğiniz gibi, Güneydoğu Asya grubunun dillerindeki metinleri görüntülemek için binlerce karakter gerekiyor. Böyle bir sayı hiçbir şekilde bir bilgi baytında tanımlanmamıştır, bu nedenle ASCII'nin genişletilmiş sürümleri bile farklı ülkelerden kullanıcıların artan ihtiyaçlarını karşılayamazdı.

Bu nedenle, Unicode konsorsiyumu tarafından küresel BT endüstrisinin birçok lideriyle işbirliği içinde geliştirilen evrensel bir metin kodlaması oluşturmaya ihtiyaç vardı. Uzmanları UTF 32 sistemini yarattı, içinde 1 karakteri kodlamak için 32 bit ayrıldı ve 4 bayt bilgi oluşturdu. Ana dezavantaj, gerekli bellek miktarında 4 kata kadar keskin bir artıştı ve bu da birçok soruna neden oldu.

Aynı zamanda, resmi dilleri Hint-Avrupa grubuna ait olan çoğu ülke için 2 32'ye eşit karakter sayısı gereksizden fazladır.

Unicode konsorsiyumundan uzmanların daha fazla çalışması sonucunda UTF-16 kodlaması ortaya çıktı. Hem gerekli bellek miktarı hem de kodlanmış karakter sayısı açısından herkese uygun sembolik bilgileri dönüştürme seçeneği haline gelmiştir. Bu nedenle varsayılan olarak UTF-16 benimsenmiştir ve bir karakter için 2 bayt ayrılması gerekir.

"Unicode" un bu oldukça gelişmiş ve başarılı versiyonunun bile bazı dezavantajları vardı ve ASCII'nin genişletilmiş versiyonundan UTF-16'ya geçişten sonra belgenin boyutunu iki katına çıkardı.

Bu bağlamda UTF-8 değişken uzunluk kodlamasının kullanılmasına karar verilmiştir. Bu durumda, kaynak metnin her karakteri 1 ila 6 bayt uzunluğunda bir diziyle kodlanır.

Bilgi değişimi için Amerikan standart koduyla ilişkilendirme

Değişken uzunluktaki UTF-8'deki Latin alfabesinin tüm karakterleri, ASCII kodlama sisteminde olduğu gibi 1 bayt olarak kodlanmıştır.

UTF-8'in bir özelliği, diğer karakterlerin kullanılmadığı Latince metin durumunda, Unicode'u anlamayan programların bile okunmasına izin vermesidir. Başka bir deyişle, ASCII metin kodlamasının temel kısmı, yeni değişken uzunluklu UTF'ye girer. UTF-8'deki Kiril karakterleri 2 bayt alır ve örneğin Gürcüce olanlar 3 bayt alır. UTF-16 ve 8 oluşturularak, yazı tiplerinde tek bir kod alanı oluşturma sorunu çözüldü. O zamandan beri, yazı tipi üreticileri tabloyu yalnızca ihtiyaçlarına göre metin karakterlerinin vektör formlarıyla doldurmak zorunda kaldı.

Farklı işletim sistemleri farklı kodlamaları tercih eder. Farklı bir kodlamayla yazılan metinleri okuyabilmek ve düzenleyebilmek için Rusça metinleri kod dönüştürme programları kullanılmaktadır. Bazı metin düzenleyiciler yerleşik kod çözücüler içerir ve kodlamadan bağımsız olarak metni okumanıza olanak tanır.

Artık ASCII'de kaç karakter olduğunu ve nasıl ve neden tasarlandığını biliyorsunuz. Tabii ki, bugün Unicode standardı dünyadaki en büyük dağıtımı aldı. Ancak ASCII temelinde oluşturulduğunu unutmamalıyız, bu nedenle geliştiricilerinin BT alanına katkıları takdir edilmelidir.