Ascii Rusça karakter kodları. ASCII kodlaması (bilgi değişimi için Amerikan standart kodu) - Latince için temel metin kodlaması

  • 02.08.2019

Unicode (İngilizce Unicode'da) bir karakter kodlama standardıdır. Basitçe söylemek gerekirse, bu metin karakterlerinin ( , harfler, noktalama öğeleri) ikili kodlara. Bilgisayar sadece sıfırlar ve birler dizisini anlar. Ekranda tam olarak neyi göstermesi gerektiğini bilmesi için her karaktere benzersiz bir numara atamak gerekir. Seksenlerde karakterler bir bayt, yani sekiz bit (her bit 0 veya 1'dir) ile kodlanırdı. Böylece, bir tablonun (aynı zamanda bir kodlama veya kümedir) yalnızca 256 karakter barındırabileceği ortaya çıktı. Bu bir dil için bile yeterli olmayabilir. Bu nedenle, birçok farklı kodlama ortaya çıktı, bu karışıklık genellikle ekranda okunabilir metin yerine bazı garip anlamsız kelimelerin görünmesine neden oldu. Unicode olan tek bir standart gerekliydi. En çok kullanılan kodlama - UTF-8 (Unicode Transformation Format), bir karakteri temsil etmek için 1 ila 4 bayt kullanır.

Semboller

Unicode tablolarındaki karakterler onaltılık sayılarla numaralandırılmıştır. Örneğin, Kiril büyük M harfi U+041C'dir. Bu, 041 satırı ile C sütununun kesiştiği noktada durduğu anlamına gelir. Basitçe kopyalayabilir ve sonra bir yere yapıştırabilirsiniz. Çok kilometrelik bir listeyi karıştırmamak için aramayı kullanmalısınız. Bir karakterin sayfasına gittiğinizde, onun Unicode numarasını ve farklı yazı tiplerinde nasıl yazıldığını göreceksiniz. En azından ne olduğunu bulmak için, yerine bir kare çizilse bile karakterin kendisini arama çubuğuna girebilirsiniz. Ayrıca, bu site, kullanım kolaylığı için farklı bölümlerden toplanan aynı türde simgelerden oluşan özel (ve - rastgele) kümelere sahiptir.

Unicode standardı uluslararasıdır. Dünyadaki hemen hemen tüm senaryoların işaretlerini içerir. Artık kullanılmayanlar dahil. Mısır hiyeroglifleri, Cermen rünleri, Maya yazıları, çivi yazısı ve eski devletlerin alfabeleri. Ölçü ve ağırlık tanımları, müzik notasyonu ve matematiksel kavramlar da sunulmaktadır.

Unicode Konsorsiyumu yeni karakterler icat etmez. Toplumda uygulamasını bulan ikonlar tablolara eklenir. Örneğin, Ruble işareti Unicode'a eklenmeden önce altı yıl boyunca aktif olarak kullanıldı. Emoji simgeleri (ifadeler) de kodlamaya dahil edilmeden önce Japonya'da yaygın olarak kullanıldı. Ancak ticari markalar ve şirket logoları prensipte eklenmez. Apple elması veya Windows bayrağı kadar yaygın olsa bile. Bugüne kadar, 8.0 sürümünde yaklaşık 120.000 karakter kodlanmıştır.

Bildiğiniz gibi, bir bilgisayar bilgiyi birler ve sıfırlar dizisi olarak temsil eden ikili biçimde depolar. Bilgileri insan algısına uygun bir forma dönüştürmek için, her benzersiz sayı dizisi, görüntülendiğinde karşılık gelen sembolle değiştirilir.

İkili kodları yazdırılan ve kontrol karakterleriyle ilişkilendirmek için kullanılan sistemlerden biri,

Bilgisayar teknolojisinin şu anki gelişme düzeyi ile, kullanıcının her bir özel karakterin kodunu bilmesi gerekmemektedir. Bununla birlikte, kodlamanın nasıl yapıldığına dair genel bir anlayış son derece yararlıdır ve bazı uzman kategorileri için bile gereklidir.

ASCII'nin oluşturulması

Orijinal haliyle, kodlama 1963'te geliştirildi ve daha sonra 25 yıl boyunca iki kez güncellendi.

Orijinal sürümde, ASCII karakter tablosu 128 karakter içeriyordu, daha sonra ilk 128 karakterin kaydedildiği ve daha önce eksik karakterlerin sekizinci bit içeren kodlara atandığı genişletilmiş bir sürüm ortaya çıktı.

Uzun yıllar boyunca, bu kodlama dünyanın en popüler olanı olmuştur. 2006'da Latin 1252 liderliği aldı ve 2007'nin sonundan günümüze Unicode, lider konumunu sağlam bir şekilde elinde tuttu.

ASCII bilgisayar gösterimi

Her ASCII karakteri, sıfır veya biri temsil eden 8 karakterden oluşan kendi koduna sahiptir. Bu gösterimdeki minimum sayı, tablodaki ilk öğenin kodu olan sıfırdır (ikili sistemde sekiz sıfır).

Standart US-ASCII ve ulusal varyantı arasında geçiş yapmak için tablodaki iki kod ayrılmıştır.

ASCII 128 değil 256 karakter içermeye başladıktan sonra, tablonun orijinal versiyonunun ilk 128 kodunda sıfır 8. bit ile depolandığı kodlama varyantı yaygınlaştı. Ulusal yazı işaretleri tablonun üst yarısında tutulmuştur (pozisyon 128-255).

Kullanıcının doğrudan ASCII karakter kodlarını bilmesine gerek yoktur. Bir yazılım geliştiricisinin, gerekirse bir ikili sistem kullanarak kodunu hesaplamak için bir tablodaki bir öğenin sayısını bilmesi genellikle yeterlidir.

Rus Dili

70'lerin başında İskandinav dilleri, Çince, Korece, Yunanca vb. için kodlamaların geliştirilmesinden sonra, Sovyetler Birliği de kendi versiyonunu oluşturmaya başladı. Kısa süre sonra, ilk 128 ASCII karakter kodunu tutan ve ulusal alfabenin harfleri ve ek karakterler için aynı sayıda konum tahsis eden KOI8 adlı 8 bit kodlamanın bir sürümü geliştirildi.

Unicode'un piyasaya sürülmesinden önce KOI8, İnternet'in Rus segmentine hakimdi. Hem Rus hem de Ukrayna alfabeleri için kodlama seçenekleri vardı.

ASCII sorunları

Genişletilmiş tabloda bile eleman sayısı 256'yı geçmediği için, birkaç farklı betiği tek bir kodlamaya yerleştirme imkanı yoktu. 90'lı yıllarda, Rusça ASCII karakterleriyle yazılan metinler yanlış görüntülendiğinde Runet'te “crocozyabr” sorunu ortaya çıktı.

Sorun, farklı ASCII varyantları arasındaki uyumsuzluktu. 128-255 konumlarının farklı karakterler içerebileceğini ve bir Kiril kodlamasından diğerine geçerken metnin tüm harflerinin, kodlamanın farklı bir sürümünde aynı numaraya sahip olan diğer harflerle değiştirildiğini hatırlayın.

Mevcut durum

Unicode'un gelişiyle, ASCII'nin popülaritesi keskin bir şekilde azaldı.

Bunun nedeni, yeni kodlamanın neredeyse tüm yazı dillerinin karakterlerini barındırmayı mümkün kılması gerçeğinde yatmaktadır. Bu durumda, ilk 128 ASCII karakteri, Unicode'daki aynı karakterlere karşılık gelir.

2000 yılında ASCII, İnternet'teki en popüler kodlamaydı ve Google tarafından dizine eklenen web sayfalarının %60'ında kullanılıyordu. 2012 yılına gelindiğinde, bu tür sayfaların payı %17'ye düştü ve Unicode (UTF-8) en popüler kodlamanın yerini aldı.

Bu nedenle, ASCII bilgi teknolojisi tarihinin önemli bir parçasıdır, ancak gelecekte kullanımı ümit verici değildir.

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 duran birlere 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 idi. Bu karakterler, noktalama işaretleri, sayıları ve bazı özel karakterleri ile İngiliz alfabesini içeriyordu. 1963'te geliştirilen, karşılık gelen 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 basamaklı, önünde küçük harfler için 011 2 ve büyük harfler için 010 2 ile yazılan alfabedeki kendi seri numaraları ile temsil edilir.

10 basamak - "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 bayt bilgide tanımlanmaz, 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ı yaratmaya ihtiyaç vardı. Uzmanları UTF 32 sistemini yarattı, içinde 1 karakteri kodlamak için 4 bayt bilgi oluşturan 32 bit ayrıldı. 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 alışverişi 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 kodlama ile yazılan metinleri okuyabilmek ve düzenleyebilmek için Rusça metin 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.

Şimdi bildiğimiz bazı gerçeklere bir göz atalım:

Metnin yazıldığı karakter kümesine alfabe denir.

Bir alfabedeki karakter sayısı, onun kardinalitesidir.

Bilgi miktarını belirleme formülü: N \u003d 2 b,

N, alfabenin gücüdür (karakter sayısı),

b - bit sayısı (karakterin bilgi ağırlığı).

Hemen hemen tüm gerekli karakterler 256 karakter kapasiteli bir alfabeye yerleştirilebilir. Böyle bir alfabeye yeterli denir.

Çünkü 256 = 28 , o zaman 1 karakterin ağırlığı 8 bittir.

8 bitlik bir ölçü birimine 1 bayt adı verilmiştir:

1 bayt = 8 bit.

Bilgisayar metnindeki her karakterin ikili kodu 1 bayt bellek kaplar.

Metinsel bilgiler bilgisayar belleğinde nasıl temsil edilir?

Kodlama, her karaktere 0 ila 255 arasında benzersiz bir ondalık kod veya 00000000 ila 11111111 arasında karşılık gelen ikili kod atanmasından oluşur. Böylece, bir kişi karakterleri stillerine ve bir bilgisayarı kodlarına göre ayırt eder.

Bayt bayt karakter kodlamasının rahatlığı açıktır, çünkü bir bayt belleğin adreslenebilir en küçük kısmıdır ve bu nedenle işlemci metin işleme yaparken her karaktere ayrı ayrı erişebilir. Öte yandan, çok çeşitli karakter bilgilerini temsil etmek için 256 karakter yeterlidir.

Şimdi, her bir karaktere karşılık gelen sekiz bitlik ikili kodun hangisi olacağı sorusu ortaya çıkıyor.

Bunun şartlı bir mesele olduğu açıktır, kodlamanın birçok yolunu bulabilirsiniz.

ASCII tablosu, PC'ler için uluslararası standart haline geldi. (telaffuz edilen asci) (Bilgi Değişimi için Amerikan Standart Kodu).

Tablonun sadece ilk yarısı uluslararası bir standarttır, yani. 0 (00000000) ile 127 (0111111) arasında sayılar içeren karakterler.

Seri numarası

Sembol

00000000 - 00011111


İşlevleri, ekranda metin görüntüleme veya yazdırma, ses sinyali verme, metni işaretleme vb. sürecini kontrol etmektir.

32 - 127

00100000 - 01111111


128 - 255

10000000 - 11111111


ASCII kod tablosunun kod sayfası olarak adlandırılan ikinci yarısı (128 kod, 10000000 ile başlayan ve 11111111 ile biten) farklı seçeneklere sahip olabilir, her seçeneğin kendi numarası vardır.


Kodlama tablosunda harflerin (büyük ve küçük harf) alfabetik sıraya göre düzenlendiğine ve sayıların artan değerlere göre sıralandığına dikkatinizi çekerim. Karakterlerin düzenlenmesinde sözlük sırasının bu gözetilmesi, alfabenin sıralı kodlama ilkesi olarak adlandırılır.


Şu anda kullanılan en yaygın kodlama, CP1251 olarak kısaltılan Microsoft Windows'tur.

90'ların sonlarından beri, karakter kodlama standardizasyonu sorunu, Unicode adı verilen yeni bir uluslararası standardın getirilmesiyle çözülmüştür. . Bu 16 bitlik bir kodlamadır, yani. karakter başına 2 bayt belleğe sahiptir. Tabii ki, bu durumda, işgal edilen bellek miktarı 2 kat artar. Ancak böyle bir kod tablosu, 65536 karaktere kadar dahil edilmesine izin verir. Unicode standardının eksiksiz özellikleri, dünyadaki tüm mevcut, nesli tükenmiş ve yapay olarak oluşturulmuş alfabelerin yanı sıra birçok matematiksel, müzikal, kimyasal ve diğer sembolleri içerir.

Kelimelerin bilgisayarın belleğinde nasıl görüneceğini hayal etmek için bir ASCII tablosu kullanmayı deneyelim.

Sözler

Hafıza

01100110

01101001

01101100

01100101

01100100

01101001

01110011

01101011

Metin bilgileri bir bilgisayara girildiğinde, karakterler (harfler, sayılar, işaretler), metin bilgilerini kodlamak için ilgili standart sayfalarına yerleştirilmiş bir dizi kod tablosundan oluşan çeşitli kod sistemleri kullanılarak kodlanır. Bu tür tablolarda, her karaktere onaltılık veya ondalık gösterimde belirli bir sayısal kod atanır, yani kod tabloları karakter görüntüleri ve sayısal kodlar arasındaki yazışmayı yansıtır ve metin bilgilerini kodlamak ve kodunu çözmek için tasarlanmıştır. Bir bilgisayar klavyesi kullanılarak metin bilgisi girilirken, her giriş karakteri kodlanır, yani metin bilgisi bir bilgisayar çıkış cihazına (ekran, yazıcı veya çizici) verildiğinde sayısal bir koda dönüştürülür, görüntüsü sayısal karakter kodu kullanılarak oluşturulur. . Bir sembole belirli bir sayısal kodun atanması, farklı ülkelerdeki ilgili kuruluşlar arasındaki bir anlaşmanın sonucudur. Şu anda, farklı ülkelerin ulusal alfabelerinin harflerini karşılayan tek bir evrensel kod tablosu bulunmamaktadır.

Modern kod tabloları uluslararası ve ulusal bölümleri içerir, yani Latin ve ulusal alfabelerin harflerini, sayıları, aritmetik ve noktalama işaretlerini, matematiksel ve kontrol karakterlerini ve psödografik karakterleri içerir. Standarda dayalı kod tablosunun uluslararası kısmı ASCII (Bilgi Değişimi için Amerikan Standart Kodu), 0'dan 7'ye kadar sayısal kodlarla kod tablosunun karakterlerinin ilk yarısını kodlar F 16, veya 0'dan 127'ye kadar ondalık sayı sisteminde. Bu durumda, kişisel bilgisayar klavyesinin fonksiyon tuşlarına (F1, F2, F3, vb.) 0'dan 20 16'ya (0 × 32 10) kadar kodlar atanır. Şek. 3.1 standarda göre kod tablolarının uluslararası bölümünü gösterir. ASCII. Tablo hücreleri ondalık ve onaltılık sayı sistemlerinde sırasıyla numaralandırılmıştır.

Şekil 3.1. Kod tablosunun uluslararası kısmı (standart ASCII) ondalık (a) ve onaltılık (b) sayı sisteminde sunulan hücre sayılarıyla


Kod tablolarının ulusal kısmı, karakter seti tablosu olarak da adlandırılan ulusal alfabelerin kodlarını içerir. (karakter seti).

Şu anda, Rus alfabesinin harflerini (Kiril) desteklemek için, çeşitli işletim sistemleri tarafından kullanılan birkaç kod tablosu (kodlama) vardır, bu önemli bir dezavantajdır ve bazı durumlarda sayısal değerler için kod çözme işlemleriyle ilgili sorunlara yol açar. karakterlerden. Masada. 3.1, Kiril kod tablolarının (kodlamaların) yerleştirildiği kod sayfalarının (standartlar) adlarını gösterir.

Tablo 3.1

Bilgisayarlarda Kiril alfabesini kodlamak için ilk standartlardan biri KOI8-R standardıydı. Bu standardın kod tablosunun ulusal kısmı, Şek. 3.2.

Pirinç. 3.2. KOI8-R standardının kod tablosunun ulusal kısmı


Şu anda, işletim sisteminde kullanılan metin bilgisi kodlama standardının CP866 sayfasında bulunan kod tablosu da kullanılmaktadır. MSDOS veya oturum MSDOS Kiril alfabesini kodlamak için (Şekil 3.3, a).

Pirinç. 3.3. Metin bilgisi kodlama standardının СР866 (a) sayfasında ve СР1251 (b) sayfasında bulunan kod tablosunun ulusal kısmı


Şu anda, Kiril kodlaması için, en yaygın kullanılan kod tablosu, ailenin işletim sistemlerinde kullanılan ilgili standardın СР1251 sayfasında yer almaktadır. pencereler firmalar Microsoft(Şekil 3.2, b). Standart tablo hariç sunulan tüm kod tablolarında tek kod, Bir karakteri kodlamak için 8 bit (8 bit) ayrılmıştır.

Geçen yüzyılın sonunda yeni bir uluslararası standart ortaya çıktı. tek kod, bir karakterin iki baytlık ikili kodla temsil edildiği. Bu standardın uygulanması, ulusal karakter kodlamalarının uyumluluğu sorununun çözülmesine izin veren evrensel bir uluslararası standardın gelişiminin bir devamıdır. Bu standardı kullanarak 2 16 = 65536 farklı karakter kodlayabilirsiniz. Şek. 3.4 standardın kod tablosu 0400'ü (Rus alfabesi) gösterir Unicode.

Pirinç. 3.4. Unicode standardının 0400 kod tablosu


Metinsel bilgilerin kodlanması ile ilgili söylenenleri bir örnekle açıklayalım.

Örnek 3.1

CP1251 kodlamasını kullanarak "Bilgisayar" kelimesini bir ondalık ve onaltılık sayılar dizisi olarak kodlayın. Alınan kod kullanılırken SR866 ve KOI8-R kod tablolarında hangi sembollerin görüntüleneceği.

CP1251 kodlama tablosuna dayalı "Bilgisayar" kelimesi için onaltılık ve ikili kod dizileri (bkz. Şekil 3.3, b)şöyle görünecek:

CP866 ve KOI8-R kodlamalarındaki bu kod dizisi aşağıdaki karakterleri gösterecektir:

Rusça metin belgelerini bir metin bilgisi kodlama standardından diğerine dönüştürmek için özel programlar kullanılır - dönüştürücüler. Dönüştürücüler genellikle diğer programların içine yerleştirilmiştir. Bir örnek bir tarayıcı programıdır - Internet Explorer (IE) yerleşik bir dönüştürücüye sahip. Tarayıcı programı, içeriği görüntülemek için özel bir programdır. internet sayfaları küresel bilgisayar ağı Internet'te. Örnek 3.1'de elde edilen karakter eşleme sonucunu doğrulamak için bu programı kullanalım. Bunu yapmak için aşağıdaki adımları uygulayın.

1. Not Defteri'ni çalıştırın (Not defteri).İşletim sistemindeki not defteri programı Windows XPşu komut kullanılarak başlatılır: [Düğme Başlama– Programlar – Aksesuarlar – Not Defteri]. Açılan Not Defteri program penceresinde, köprü metni belge biçimlendirme dilinin sözdizimini kullanarak "Bilgisayar" kelimesini yazın - HTML (Hiper Metin İşaretleme Dili). Bu dil, web'de belgeler oluşturmak için kullanılır. Metin şöyle görünmelidir:

Bilgisayar

, nerede

ve

dilin etiketleri (özel yapılar) HTML başlıklar için. Şek. 3.5, bu eylemlerin sonucunu gösterir.

Pirinç. 3.5. Not Defteri penceresinde metni görüntüle


Bu metni bilgisayardaki uygun klasörde [Dosya - Farklı Kaydet ...] komutunu uygulayarak kaydedelim, metni kaydederken dosyaya bir isim vereceğiz - dosya uzantısıyla birlikte Not. html.

2. Programı çalıştırın internet gezgini, komutu yürüterek: [Düğme Başlama- Programlar - Internet Explorer]. Program başladığında, Şekil 2'de gösterilen pencere. 3.6

Pirinç. 3.6. Çevrimdışı Erişim Penceresi


Düğmeyi seçin ve etkinleştirin Çevrimdışı bu, bilgisayarı küresel İnternet'e bağlamaz. Ana program penceresi görünecektir MicrosoftInternet Explorer,Şek. 3.7.

Pirinç. 3.7. Microsoft Internet Explorer Ana Penceresi


Aşağıdaki komutu uygulayalım: [Dosya - Aç], dosya adını belirtmeniz ve düğmesine tıklamanız gereken bir pencere açılacaktır (Şekil 3.8). TAMAM veya düğmesine basın Gözden geçirmek… ve Note.html dosyasını bulun.

Pirinç. 3.8. Açık pencere


Internet Explorer programının ana penceresi, Şekil 2'de gösterilen formu alacaktır. 3.9. Pencere "Bilgisayar" kelimesini gösterecektir. Ardından, programın üst menüsünü kullanarak internet gezgini, aşağıdaki komutu çalıştırın: [Görünüm - Kodlama - Kiril (DOS)]. Program penceresinde bu komutu yürüttükten sonra Internet ExplorerŞekilde gösterilen semboller. 3.10. Komutu yürütürken: [Görünüm - Kodlama - Kiril (KOI8-R)] program penceresinde Internet ExplorerŞekilde gösterilen semboller. 3.11.

Pirinç. 3.9. CP1251 kodlaması ile görüntülenen karakterler


Pirinç. 3.10. CP1251 kodlamasında temsil edilen bir kod dizisi için CP866 kodlaması etkinleştirildiğinde görüntülenen karakterler


Pirinç. 3.11. CP1251 kodlamasında temsil edilen kod dizisi için KOI8-R kodlaması etkinleştirildiğinde görüntülenen karakterler


Böylece program kullanılarak elde edilen Internet Explorer karakter dizileri, Örnek 3.1'deki CP866 ve KOI8-R kod tabloları kullanılarak elde edilen karakter dizileriyle eşleşir.

3.2. Grafik bilgi kodlaması

Çizimler, fotoğraflar, slaytlar, hareketli görüntüler (animasyon, video), diyagramlar, çizimler şeklinde sunulan grafik bilgiler, uygun şekilde kodlandığı sürece bir bilgisayar kullanılarak oluşturulabilir ve düzenlenebilir. Şu anda, grafik bilgilerini işlemek için oldukça fazla sayıda uygulama programı vardır, ancak hepsi üç tür bilgisayar grafiği uygular: raster, vektör ve fraktal.

Bilgisayar monitörü ekranındaki grafik görüntüye daha yakından bakarsanız, çok sayıda çok renkli nokta (piksel - İngilizce'den) görebilirsiniz. piksel, oluşan resim öğesi görüntü öğesi) bir araya getirildiğinde verilen grafik görüntüyü oluşturur. Bundan şu sonuca varabiliriz: bilgisayardaki bir grafik görüntü belirli bir şekilde kodlanmıştır ve bir grafik dosyası olarak sunulmalıdır. Dosya, verileri bir bilgisayarda düzenlemek ve depolamak için ana yapısal birimdir ve bu durumda bu nokta kümesinin monitör ekranında nasıl sunulacağı hakkında bilgi içermelidir.

Vektör grafikleri temelinde oluşturulan dosyalar, matematiksel bağımlılıklar (doğrusal bağımlılıkları tanımlayan matematiksel işlevler) ve bir nesnenin görüntüsünün bir bilgisayar monitörü ekranında görüntülenirken çizgi segmentleri (vektörler) kullanılarak nasıl oluşturulacağına ilişkin bilgiler şeklinde bilgiler içerir. .

Raster grafikler temelinde oluşturulan dosyalar, görüntüdeki her bir noktayla ilgili verilerin depolanmasını üstlenir. Raster grafik gösterimi, karmaşık matematiksel hesaplamalar gerektirmez, sadece görüntünün her noktası hakkında (koordinatları ve rengi) veri almak ve bunları bilgisayar monitörü ekranında görüntülemek yeterlidir.

Görüntü kodlama sürecinde, uzamsal örneklemesi yapılır, yani görüntü ayrı noktalara bölünür ve her noktaya bir renk kodu (sarı, kırmızı, mavi vb.) verilir. Renkli bir grafik görüntünün her noktasını kodlamak için, keyfi bir rengin üç ana renk olarak kullanılan ana bileşenlerine ayrıştırılması ilkesi kullanılır: kırmızı (İngilizce kelime kırmızı, harfle gösterilir İLE), Yeşil (Yeşil, harfle gösterilir G), mavi (Mavi, kayın tayin etmek AT).İnsan gözünün algıladığı herhangi bir nokta rengi, üç ana rengin (kırmızı, yeşil ve mavi) katkı maddesi (orantılı) eklenmesi (karıştırılması) ile elde edilebilir. Bu kodlama sistemine renk sistemi denir. RGB. Bir renk sistemi kullanan görüntü dosyaları RGB, görüntünün her noktasını bir renk üçlüsü olarak temsil eder - üç sayısal değer Sağ, G ve AT, kırmızı, yeşil ve mavinin yoğunluklarına karşılık gelir. Bir grafik görüntüyü kodlama işlemi, çeşitli teknik araçlar (tarayıcı, dijital kamera, dijital video kamera vb.) kullanılarak gerçekleştirilir; sonuç bir bitmap görüntüsüdür. Renkli bir bilgisayar monitörünün ekranında renkli grafik görüntüleri oynatırken, böyle bir görüntünün her noktasının (piksel) rengi üç ana rengin karıştırılmasıyla elde edilir. Sağ, G ve b.

Bir raster görüntünün kalitesi iki ana parametre ile belirlenir - çözünürlük (yatay ve dikey noktaların sayısı) ve kullanılan renk paleti (her görüntü noktası için belirtilen renk sayısı). Çözünürlük, örneğin 800'e 600 nokta gibi yatay ve dikey noktaların sayısı belirtilerek belirlenir.

Bir raster görüntünün pikseline atanan renk sayısı ile bir pikselin rengini depolamak için ayrılması gereken bilgi miktarı arasında oran tarafından belirlenen bir ilişki vardır (R. Hartley'nin formülü):

nerede ben- Bilgi miktarı; N- noktaya verilen renk sayısı.

Bir noktanın rengini saklamak için gereken bilgi miktarına renk derinliği veya renk kalitesi de denir.

Bu nedenle, bir görüntü noktası için belirtilen renk sayısı N= 256, daha sonra formül (3.1) uyarınca saklanması (renk derinliği) için gereken bilgi miktarı şuna eşit olacaktır: ben= 8 bit.

Bilgisayarlar, grafik bilgileri görüntülemek için çeşitli grafik görüntüleme modlarını kullanır. Burada, monitörün grafik moduna ek olarak, monitör ekranının geleneksel olarak satır başına 80 karakterlik 25 satıra bölündüğü bir metin modunun da bulunduğuna dikkat edilmelidir. Bu grafik modları, monitörün ekran çözünürlüğü ve renk kalitesi (renk derinliği) ile karakterize edilir. İşletim sisteminde monitör ekranının grafik modunu ayarlamak için MS Windows XPşu komutu uygulamanız gerekir: [Düğme Başlama– Ayarlar – Kontrol Paneli – Ekran]. Görüntülenen "Özellikler: Ekran" iletişim kutusunda (Şekil 3.12), "Parametreler" sekmesini seçin ve uygun ekran çözünürlüğünü (800x600 piksel, 1024x768 piksel, vb.) seçmek için "Ekran Çözünürlüğü" kaydırıcısını kullanın. "Renk kalitesi" açılır listesini kullanarak, renk derinliğini seçebilirsiniz - "En yüksek (32 bit)", "Orta (16 bit)" vb. sırasıyla 2 32 (4294967296), 2 16 (65536) vb.'ye eşit olmalıdır.

Pirinç. 3.12. Özellikler İletişim Kutusunu Görüntüle


Monitör ekranının grafik modlarının her birini uygulamak için bilgisayarın video belleğinin belirli bir bilgi hacmi gereklidir. Video belleğinin gerekli bilgi hacmi (V) orandan belirlenir

nerede İLE - monitör ekranındaki görüntü noktalarının sayısı (K = A B); ANCAK - monitör ekranındaki yatay noktaların sayısı; AT - monitör ekranındaki dikey noktaların sayısı; ben– bilgi miktarı (renk derinliği).

Dolayısıyla, monitör ekranı 1024 x 768 piksel çözünürlüğe ve 65 536 renkten oluşan bir palete sahipse, formül (3.1)'e göre renk derinliği I = log 2 65 538 = 16 bit olacaktır, görüntü sayısı pikseller şuna eşit olacaktır: K = 1024 x 768 = 786432 ve (3.2)'ye göre video belleğinin gerekli bilgi hacmi şuna eşit olacaktır.

V = 786432 16 bit = 12582912 bit = 1572864 bayt = 1536 KB = 1,5 MB.

Sonuç olarak, listelenen özelliklere ek olarak, monitörün en önemli özelliklerinin ekranının geometrik boyutları ve görüntü noktaları olduğu belirtilmelidir. Ekranın geometrik boyutları, monitörün köşegen boyutuna göre belirlenir. Monitörlerin köşegeni inç (1 inç = 1" = 25,4 mm) olarak ayarlanır ve 14", 15", 17", 21" vb. değerler alabilir. Modern monitör üretim teknolojileri bir görüntü nokta boyutu sağlayabilir. 0,22 mm'ye eşittir.

Böylece, her monitör için, köşegeninin boyutuna ve görüntü noktasının boyutuna göre belirlenen, fiziksel olarak maksimum olası ekran çözünürlüğü vardır.

Kendini gerçekleştirme alıştırmaları

1. Programı kullanma MS Excel ASCII, СР866, СР1251, KOI8-R kod tablolarını form tablolarına dönüştürün: tabloların ilk sütunundaki hücrelere, ikinci sütunun hücrelerine alfabetik sırayla büyük harf ve ardından küçük Latin ve Kiril harfleri yazın - ondalık sayı sistemindeki harflere karşılık gelen kodlar, üçüncü sütundaki hücrelerde - onaltılık sayı sistemindeki harflere karşılık gelen kodlar. Kod değerleri ilgili kod tablolarından seçilmelidir.

2. Aşağıdaki kelimeleri ondalık ve onaltılık gösterimde bir sayı dizisi olarak kodlayın ve yazın:

a) internet gezgini, b) Microsoft Office içinde) Corel çizgisi.

Önceki alıştırmada elde edilen yükseltilmiş ASCII kodlama tablosunu kullanarak üretmek için kodlayın.

3. Onaltılık sayı sisteminde yazılan sayıların yükseltilmiş kodlama tablosu KOI8-R dizilerini kullanarak kodunu çözün:

a) FC CB DA C9 D3 D4 C5 CE C3 C9 D1;

b) EB CF CE C6 CF D2 CD C9 DA CD;

c) FC CB D3 D0 D2 C5 D3 C9 CF CE C9 DA CD.

4. CP1251 kodlamasında yazılan "Sibernetik" kelimesi, CP866 ve KOI8-R kodlamalarını kullanırken nasıl görünecek? Sonuçları programla kontrol edin İnternet Gezgini.

5. Şekil 2'de gösterilen kod tablosunu kullanarak. 3.1 a, ikili gösterimde yazılmış aşağıdaki kod dizilerinin kodunu çözün:

a) 01010111 01101111 01110010 01100100;

b) 01000101 01111000 01100011 01100101 01101100;

c) 01000001 01100011 01100011 01100101 01110011 01110011.

6. СР866, СР1251, Unicode ve KOI8-R kod tablolarını kullanarak kodlanmış "Ekonomi" kelimesinin bilgi hacmini belirleyin.

7. 12x12 cm renkli bir resmin taranması sonucu elde edilen dosyanın bilgi hacmini belirleyin.Bu resmi taramak için kullanılan tarayıcının çözünürlüğü 600 dpi'dir. Tarayıcı, görüntü noktası renk derinliğini 16 bit olarak ayarlar.

Tarayıcı çözünürlüğü 600 dpi (nokta inç - nokta/inç), bu çözünürlüğe sahip bir tarayıcının 1 inçlik bir segmentte 600 noktayı ayırt etme yeteneğini belirler.

8. A4 boyutunda renkli bir resmin taranması sonucunda elde edilen dosyanın bilgi hacmini belirleyin. Bu görüntüyü taramak için kullanılan tarayıcının çözünürlüğü 1200 dpi'dir. Tarayıcı, görüntü noktası renk derinliğini 24 bit olarak ayarlar.

9. Paletteki renk sayısını 8, 16, 24 ve 32 bitlik renk derinliğinde belirleyin.

10. Görüntü noktası renk derinliği 8, 16, 24 ve 32 bit olan monitör ekranının 640 x 480, 800 x 600, 1024 x 768 ve 1280 x 1024 piksel grafik modları için gerekli video belleği miktarını belirleyin. Sonuçlar bir tabloda özetlenmiştir. Geliştirmek MS Excel hesaplamaları otomatikleştirmek için program.

11. Bilgisayar görüntü için 2 KB bellek ayırdıysa, 32 x 32 piksellik bir görüntüyü depolamak için kullanılabilecek maksimum renk sayısını belirleyin.

12. Diyagonal uzunluğu 15" ve görüntü noktası boyutu 0,28 mm olan bir monitörün mümkün olan maksimum ekran çözünürlüğünü belirleyin.

13. 64 MB video belleği ile monitörün hangi grafik çalışma modları sağlanabilir?

İçerik

I. Bilgi kodlama tarihi…………………………………..3

II. Kodlama bilgisi…………………………………………4

III. Metinsel bilgilerin kodlanması……………………………….4

IV. Kodlama tablolarının türleri………………………………………………...6

V. Metin bilgisi miktarının hesaplanması…………………………14

Kullanılan literatürün listesi…………………………………..16

ben . Bilgi kodlama geçmişi

İnsanoğlu, ilk gizli bilginin ortaya çıktığı andan itibaren metin şifreleme (kodlama) kullanmaktadır. İşte insan düşüncesinin gelişiminin çeşitli aşamalarında icat edilmiş birkaç metin kodlama tekniği:

Kriptografi, metni tecrübesiz kişiler için anlaşılmaz hale getirmek için yazı değiştirme sistemi olan kriptografidir;

Her harf veya karakterin kendi kısa elektrik akımı birimleri (noktalar) ve üçlü süre birimleri (tireler) ile temsil edildiği mors kodu veya tek biçimli olmayan telgraf kodu;

işaret dili, işitme engelli kişilerin kullandığı bir işaret dilidir.

Bilinen en eski şifreleme yöntemlerinden biri, Roma imparatoru Julius Caesar'ın (MÖ 1. yy) adını taşır. Bu yöntem, alfabenin orijinal harften sabit sayıda karakter kaydırılarak şifrelenmiş metnin her harfinin bir başkasıyla değiştirilmesine dayanır ve alfabe bir daire içinde okunur, yani i harfinden sonra a kabul edilir. Yani "byte" kelimesi iki karakter sağa kaydırıldığında "gvlf" kelimesi ile kodlanır. Belirli bir kelimenin şifresini çözmenin tersi işlemi, şifrelenmiş her harfi solundaki ikinci harfle değiştirmektir.

II. Bilgi kodlaması

Bir kod, önceden tanımlanmış bazı kavramları kaydetmek (veya iletmek) için bir dizi kuraldır (veya sinyallerdir).

Bilgiyi kodlama, bilginin belirli bir temsilini oluşturma sürecidir. Daha dar bir anlamda, "kodlama" terimi genellikle bir bilgi sunumu biçiminden diğerine, depolama, iletim veya işleme için daha uygun geçiş olarak anlaşılır.

Genellikle, her görüntü kodlandığında (bazen şifreli derler) ayrı bir karakterle temsil edilir.

Bir işaret, sonlu bir farklı öğeler kümesinin bir öğesidir.

Daha dar bir anlamda, "kodlama" terimi genellikle bir bilgi sunumu biçiminden diğerine, depolama, iletim veya işleme için daha uygun geçiş olarak anlaşılır.

Bilgisayar metinsel bilgileri işleyebilir. Bilgisayara girildiğinde, her harf belirli bir sayı ile kodlanır ve harici cihazlara (ekran veya baskı) çıktı alındığında, insan algısı için bu sayılar kullanılarak harflerin görüntüleri oluşturulur. Bir dizi harf ve sayı arasındaki yazışmaya karakter kodlaması denir.

Kural olarak, bilgisayardaki tüm sayılar sıfırlar ve birler kullanılarak temsil edilir (ve insanlar için geleneksel olduğu gibi on basamak değil). Başka bir deyişle, bilgisayarlar genellikle ikili sistemde çalışır, çünkü onları işlemek için kullanılan cihazlar çok daha basittir. Sayıların bir bilgisayara girilmesi ve insan okuması için çıktısının alınması olağan ondalık biçimde yapılabilir ve gerekli tüm dönüştürmeler bilgisayarda çalışan programlar tarafından gerçekleştirilir.

III. Metin bilgilerinin kodlanması

Aynı bilgi çeşitli şekillerde sunulabilir (kodlanabilir). Bilgisayarların ortaya çıkmasıyla birlikte, hem bireyin hem de insanlığın bir bütün olarak uğraştığı her türlü bilgiyi kodlamak gerekli hale geldi. Ancak insanlık, bilgisayarların ortaya çıkmasından çok önce bilgi kodlama sorununu çözmeye başladı. İnsanlığın görkemli başarıları - yazı ve aritmetik - bir konuşma ve sayısal bilgi kodlama sisteminden başka bir şey değildir. Bilgi asla saf haliyle ortaya çıkmaz, her zaman bir şekilde sunulur, bir şekilde kodlanır.

İkili kodlama, bilgiyi temsil etmenin en yaygın yollarından biridir. Bilgisayarlarda, robotlarda ve sayısal kontrollü takım tezgahlarında, kural olarak, cihazın ilgilendiği tüm bilgiler, ikili alfabenin kelimeleri şeklinde kodlanır.

60'ların sonundan bu yana, bilgisayarlar metin bilgilerini işlemek için giderek daha fazla kullanılmaya başlandı ve şu anda kişisel bilgisayarların dünyadaki ana payı (ve çoğu zaman) metinsel bilgilerin işlenmesi ile meşgul. Bir bilgisayardaki tüm bu tür bilgiler ikili kodda temsil edilir, yani iki gücü olan bir alfabe kullanılır (sadece iki karakter 0 ve 1). Bunun nedeni, bilgiyi bir dizi elektriksel darbe şeklinde göstermenin uygun olmasıdır: dürtü (0) yoktur, bir dürtü (1) vardır.

Bu tür kodlamaya genellikle ikili denir ve sıfırların ve birlerin mantıksal dizilerine makine dili denir.

Bilgisayar açısından bakıldığında, metin tek tek karakterlerden oluşur. Karakterler yalnızca harfleri (büyük veya küçük harf, Latince veya Rusça) değil, aynı zamanda sayıları, noktalama işaretlerini, "=", "(", "&" gibi özel karakterleri ve hatta (özellikle dikkat edin!) sözcükler arasındaki boşlukları içerir. .

Metinler klavye kullanılarak bilgisayar belleğine girilir. Anahtarlar bize tanıdık gelen harfler, sayılar, noktalama işaretleri ve diğer simgelerle yazılmıştır. RAM'i ikili kodla girerler. Bu, her karakterin 8 bitlik bir ikili kodla temsil edildiği anlamına gelir.

Geleneksel olarak, bir karakteri kodlamak için 1 bayta eşit bilgi miktarı kullanılır, yani. I \u003d 1 bayt \u003d 8 bit. Olası olay sayısı K ve bilgi miktarı I ile ilgili bir formül kullanarak, kaç farklı karakterin kodlanabileceğini hesaplayabilirsiniz (karakterlerin olası olaylar olduğunu varsayarak): K = 2 I = 2 8 = 256, yani için metinsel bilgilerin temsili, 256 karakter kapasiteli alfabeyi kullanabilirsiniz.

Bu karakter sayısı, Rus ve Latin alfabelerinin büyük ve küçük harfleri, sayılar, işaretler, grafik semboller vb. dahil olmak üzere metinsel bilgileri temsil etmek için oldukça yeterlidir.

Kodlama, her karaktere 0 ila 255 arasında benzersiz bir ondalık kod veya 00000000 ila 11111111 arasında karşılık gelen ikili kod atanmasından oluşur. Böylece, bir kişi karakterleri stillerine ve bir bilgisayarı kodlarına göre ayırt eder.

Bayt bayt karakter kodlamasının rahatlığı açıktır, çünkü bir bayt belleğin adreslenebilir en küçük kısmıdır ve bu nedenle işlemci metin işleme yaparken her karaktere ayrı ayrı erişebilir. Öte yandan, çok çeşitli karakter bilgilerini temsil etmek için 256 karakter yeterlidir.

Bilgisayar ekranında bir karakter gösterme sürecinde, ters işlem gerçekleştirilir - kod çözme, yani karakter kodunu görüntüsüne dönüştürme. Bir sembole belirli bir kodun atanmasının, kod tablosunda sabitlenmiş bir anlaşma meselesi olması önemlidir.

Şimdi, her bir karaktere karşılık gelen sekiz bitlik ikili kodun hangisi olacağı sorusu ortaya çıkıyor. Bunun şartlı bir mesele olduğu açıktır, kodlamanın birçok yolunu bulabilirsiniz.

Bilgisayar alfabesinin tüm sembolleri 0'dan 255'e kadar numaralandırılmıştır. Her sayı, 00000000'den 11111111'e kadar sekiz bitlik bir ikili koda karşılık gelir. Bu kod, ikili sayı sistemindeki karakterin basitçe sıra numarasıdır.

IV . Kodlama tablosu türleri

Bilgisayar alfabesinin tüm karakterlerine seri numaraları atanan tabloya kodlama tablosu denir.

Farklı bilgisayar türleri için farklı kodlama tabloları kullanılır.

ASCII (Amerikan Bilgi Değişimi Standart Kodu) kod tablosu, karakterlerin ilk yarısını 0'dan 127'ye kadar sayısal kodlarla kodlayan uluslararası bir standart olarak benimsenmiştir (0'dan 32'ye kadar olan kodlar karakterlere değil, işlev tuşlarına atanır).

ASCII kod tablosu iki bölüme ayrılmıştır.

Tablonun sadece ilk yarısı uluslararası bir standarttır, yani. 0 (00000000) ile 127 (0111111) arasında sayılar içeren karakterler.

ASCII kodlama tablosunun yapısı

Seri numarası kod Sembol
0 - 31 00000000 - 00011111

0'dan 31'e kadar sayılara sahip karakterlere kontrol karakterleri denir.

İşlevleri, ekranda metin görüntüleme veya yazdırma, ses sinyali verme, metni işaretleme vb. sürecini kontrol etmektir.

32 - 127 0100000 - 01111111

Tablonun standart kısmı (İngilizce). Buna Latin alfabesinin küçük ve büyük harfleri, ondalık rakamlar, noktalama işaretleri, her türlü parantez, ticari ve diğer semboller dahildir.

Karakter 32 bir boşluktur, yani. metinde boş pozisyon.

Geri kalan her şey belirli işaretlerle yansıtılır.

128 - 255 10000000 - 11111111

Tablonun alternatif kısmı (Rusça).

ASCII kod tablosunun kod sayfası olarak adlandırılan ikinci yarısı (128 kod, 10000000 ile başlayan ve 11111111 ile biten) farklı seçeneklere sahip olabilir, her seçeneğin kendi numarası vardır.

Kod sayfası öncelikle Latince dışındaki ulusal komut dosyalarını barındırmak için kullanılır. Rus ulusal kodlamalarında, Rus alfabesinin karakterleri tablonun bu bölümüne yerleştirilir.

ASCII kod tablosunun ilk yarısı

Kodlama tablosunda harflerin (büyük ve küçük harf) alfabetik sıraya, sayıların ise artan düzende sıralandığına dikkat edilir. Karakterlerin düzenlenmesinde sözlük sırasının bu gözetilmesi, alfabenin sıralı kodlama ilkesi olarak adlandırılır.

Rus alfabesinin harfleri için sıralı kodlama ilkesi de gözlenir.

ASCII kod tablosunun ikinci yarısı

Maalesef şu anda beş farklı Kiril kodlaması var (KOI8-R, Windows. MS-DOS, Macintosh ve ISO). Bu nedenle, genellikle Rusça metnin bir bilgisayardan diğerine, bir yazılım sisteminden diğerine aktarılmasıyla ilgili sorunlar ortaya çıkar.

Kronolojik olarak, bilgisayarlarda Rusça harfleri kodlamak için ilk standartlardan biri KOI8 ("Bilgi Değişim Kodu, 8-bit") idi. Bu kodlama, 70'lerde EC serisi bilgisayarların bilgisayarlarında kullanıldı ve 80'lerin ortalarından itibaren UNIX işletim sisteminin ilk Ruslaştırılmış sürümlerinde kullanılmaya başlandı.

MS DOS işletim sisteminin egemen olduğu 90'ların başından itibaren, kodlama CP866 olarak kalır ("CP", "Kod Sayfası", "kod sayfası" anlamına gelir).

Mac OS işletim sistemini çalıştıran Apple bilgisayarlar, kendi Mac kodlamalarını kullanır.

Ayrıca Uluslararası Standardizasyon Örgütü (Uluslararası Standartlar Örgütü, ISO), Rusça dili için standart olarak ISO 8859-5 adlı başka bir kodlamayı onayladı.

Şu anda kullanılan en yaygın kodlama, CP1251 olarak kısaltılan Microsoft Windows'tur. Microsoft tarafından tanıtılan; Rusya Federasyonu'nda bu şirketin işletim sistemlerinin (OS) ve diğer yazılım ürünlerinin yaygın kullanımı göz önüne alındığında, yaygınlaştı.

90'ların sonlarından beri, karakter kodlama standardizasyonu sorunu, Unicode adı verilen yeni bir uluslararası standardın getirilmesiyle çözülmüştür.

Bu 16 bitlik bir kodlamadır, yani. karakter başına 2 bayt belleğe sahiptir. Tabii ki, bu durumda, işgal edilen bellek miktarı 2 kat artar. Ancak böyle bir kod tablosu, 65536 karaktere kadar dahil edilmesine izin verir. Unicode standardının eksiksiz özellikleri, dünyadaki tüm mevcut, nesli tükenmiş ve yapay olarak oluşturulmuş alfabelerin yanı sıra birçok matematiksel, müzikal, kimyasal ve diğer sembolleri içerir.

Bilgisayar belleğindeki kelimelerin dahili temsili

ASCII tablosu kullanarak

Bazen, başka bir bilgisayardan alınan Rus alfabesinin harflerinden oluşan metnin okunamadığı olur - monitör ekranında bir tür "abrakadabra" görünür. Bunun nedeni, bilgisayarların Rus dilinin farklı karakter kodlamalarını kullanmasıdır.

Böylece her kodlama kendi kod tablosu tarafından verilir. Tablodan da görüleceği üzere aynı ikili koda farklı kodlamalarda farklı karakterler atanmaktadır.

Örneğin, CP1251 kodlamasındaki 221, 194, 204 sayısal kod dizisi "bilgisayar" kelimesini oluştururken, diğer kodlamalarda bu anlamsız bir karakter kümesi olacaktır.

Neyse ki, çoğu durumda, uygulamalara yerleşik özel dönüştürücü programları tarafından yapıldığından, kullanıcının metin belgelerini dönüştürme konusunda endişelenmesi gerekmez.

V . Metin bilgisi miktarının hesaplanması

Görev 1: KOI8-R ve CP1251 kodlama tablolarını kullanarak "Roma" kelimesini kodlayın.

Çözüm:

Görev 2: Her karakterin bir bayt ile kodlandığını varsayarak, aşağıdaki cümlenin bilgi hacmini tahmin edin:

“En dürüst kurallardan amcam,

Ciddiyetle hastalandığımda,

Kendini saygıya zorladı

Ve daha iyisini düşünemedim."

Çözüm: Bu ifadede noktalama işaretleri, tırnak işaretleri ve boşluklar dahil 108 karakter vardır. Bu sayıyı 8 bit ile çarpıyoruz. 108*8=864 bit elde ederiz.

Görev 3:İki metin aynı sayıda karakter içeriyor. İlk metin Rusça, ikincisi ise alfabesi 16 karakterden oluşan Naguri kabilesinin dilinde yazılmıştır. Kimin metni daha fazla bilgi taşır?

Çözüm:

1) I \u003d K * a (metnin bilgi hacmi, karakter sayısının ürününe ve bir karakterin bilgi ağırlığına eşittir).

2) Çünkü her iki metin de aynı sayıda karaktere (K) sahiptir, o zaman fark alfabenin bir karakterinin bilgi içeriğine bağlıdır (a).

3) 2 a1 = 32, yani. a 1 = 5 bit, 2 a2 = 16, yani ve 2 = 4 bit.

4) I 1 = K * 5 bit, I 2 = K * 4 bit.

5) Rusça yazılan metnin 5/4 kat daha fazla bilgi taşıdığı anlamına gelir.

Görev 4: 2048 karakter içeren mesajın hacmi 1/512 MB idi. Alfabenin gücünü belirleyin.

Çözüm:

1) I = 1/512 * 1024 * 1024 * 8 = 16384 bit - mesajın bilgi hacmi bitlere dönüştürülmüştür.

2) a \u003d I / K \u003d 16384 / 1024 \u003d 16 bit - alfabenin bir karakterine düşer.

3) 2*16*2048 = 65536 karakter - kullanılan alfabenin gücü.

Görev 5: Canon LBP lazer yazıcı, ortalama 6,3 Kbps hızında yazdırır. Bir sayfada ortalama 45 satır, satır başına 70 karakter (1 karakter - 1 bayt) olduğu biliniyorsa 8 sayfalık bir belgenin yazdırılması ne kadar sürer?

Çözüm:

1) 1 sayfada yer alan bilgi miktarını bulun: 45*70*8 bit = 25200 bit

2) 8 sayfadaki bilgi miktarını bulun: 25200 * 8 = 201600 bit

3) Tek tip ölçü birimlerine getiriyoruz. Bunu yapmak için Mbps'yi bitlere çeviriyoruz: 6.3 * 1024 = 6451.2 bps.

4) Baskı süresini bulun: 201600: 6451.2 = 31 saniye.

bibliyografya

1. Ageev V.M. Bilgi teorisi ve kodlama: ölçüm bilgilerinin ayrıklaştırılması ve kodlanması. - E.: MAI, 1977.

2. Kuzmin I.V., Kedrus V.A. Bilgi teorisi ve kodlamanın temelleri. - Kiev, Vishcha okulu, 1986.

3. En basit metin şifreleme yöntemleri / D.M. Zlatopolsky. - E.: Chistye Prudy, 2007 - 32 s.

4. Ugrinovich N.D. Bilişim ve bilgi teknolojileri. 10-11. sınıflar için ders kitabı / N.D. Ugrinovich. – M.: BİNOM. Bilgi Laboratuvarı, 2003. - 512 s.

5. http://school497.spb.edu.ru/uchint002/les10/les.html#n

Konuyla ilgili kendi kendine çalışma materyali Ders 2

kodlama ASCII

ASCII kodlama tablosu (ASCII - Bilgi Değişimi için Amerikan Standart Kodu - Bilgi Değişimi için Amerikan Standart Kodu).

Toplamda, ASCII kodlama tablosu (Şekil 1) kullanılarak 256 farklı karakter kodlanabilir. Bu tablo iki bölüme ayrılmıştır: ana (OOh - 7Fh arası kodlarla) ve ek (80h - FFh arası, burada h harfi kodun onaltılı sayı sistemine ait olduğunu gösterir).

Resim 1

Tablodan bir karakteri kodlamak için 8 bit (1 bayt) ayrılmıştır. Metin bilgilerini işlerken, bir bayt bazı karakterlerin kodunu içerebilir - harfler, sayılar, noktalama işaretleri, eylem işaretleri vb. Her karakterin bir tamsayı şeklinde kendi kodu vardır. Bu durumda tüm kodlar, kodlama tabloları adı verilen özel tablolarda toplanır. Onların yardımıyla, karakter kodu monitör ekranındaki görünür temsiline dönüştürülür. Sonuç olarak, bilgisayarın belleğindeki herhangi bir metin, karakter kodlarıyla bir dizi bayt olarak temsil edilir.

Örneğin, merhaba kelimesi! aşağıdaki gibi kodlanacaktır (Tablo 1).

tablo 1

ikili kod

kod ondalık

Şekil 1, standart (İngilizce) ve genişletilmiş (Rusça) ASCII kodlamasında bulunan karakterleri göstermektedir.

ASCII tablosunun ilk yarısı standardize edilmiştir. Kontrol kodlarını içerir (00h - 20h ve 77h arası). Bu kodlar, metin öğelerine uygulanmadıkları için tablodan çıkarılmıştır. Noktalama işaretleri ve matematiksel işaretler de buraya yerleştirilir: 2lh - !, 26h - &, 28h - (, 2Bh -+, ..., büyük ve küçük Latin harfleri: 41h - A, 61h - a.

Tablonun ikinci yarısı, ulusal yazı tiplerini, tabloların oluşturulabileceği psödografik sembolleri, özel matematiksel sembolleri içerir. Kodlama tablosunun alt kısmı, uygun sürücüler - kontrol yardımcı programları kullanılarak değiştirilebilir. Bu teknik, birden çok yazı tipini ve yazı tiplerini kullanmanıza izin verir.

Her karakter kodunun ekranı, karakterin görüntüsünü göstermelidir - sadece dijital bir kod değil, her karakterin kendi şekli olduğundan ona karşılık gelen bir resim. Her karakterin şeklinin açıklaması özel bir ekran belleğinde saklanır - bir karakter üreteci. Örneğin, bir IBM PC görüntüleme ekranında bir karakterin vurgulanması, bir karakter matrisi oluşturan noktalar kullanılarak yapılır. Böyle bir matristeki her piksel bir görüntü öğesidir ve parlak veya karanlık olabilir. Koyu bir nokta 0 sayısı, bir ışık (parlak) - birer birer kodlanır. Koyu pikseller işaretin matris alanında bir nokta ile ve açık pikseller bir yıldız işareti ile temsil ediliyorsa, şekli grafiksel olarak gösterebilirsiniz. sembolü.

Farklı ülkelerdeki insanlar, ana dillerinin sözcüklerini yazmak için semboller kullanırlar. Bu günlerde, e-posta sistemleri ve web tarayıcıları da dahil olmak üzere çoğu uygulama saf 8 bittir, yani ISO-8859-1 standardına göre yalnızca 8 bit karakterleri görüntüleyebilir ve doğru şekilde okuyabilir.

Dünyada 256'dan fazla karakter var (Kiril, Arapça, Çince, Japonca, Korece ve Tayca dahil) ve giderek daha fazla karakter ekleniyor. Bu da birçok kullanıcı için aşağıdaki boşlukları yaratır:

Aynı belgede farklı kodlama kümelerinden karakterler kullanmak mümkün değildir. Her metin belgesi kendi kodlama setini kullandığından, otomatik metin tanıma ile ilgili büyük zorluklar vardır.

Yeni semboller belirir (örneğin: Euro), bunun sonucunda ISO, ISO-8859-1'e çok benzeyen yeni bir ISO-8859-15 standardı geliştirir. Aradaki fark şudur: Yeni ortaya çıkan sembollere (Euro gibi) yer açmak için, eski ISO-8859-1 standardının kodlama tablosundan şu anda kullanılmayan eski para birimlerini ifade eden semboller çıkarılmıştır. Sonuç olarak, kullanıcılar disklerinde aynı belgelere sahip olabilir, ancak farklı kodlamalarda. Bu sorunların çözümü, evrensel kodlama veya Unicode olarak adlandırılan tek bir uluslararası kodlama kümesinin benimsenmesidir.

kodlama tek kod

Standart 1991 yılında kar amacı gütmeyen kuruluş Unicode Consortium (Unicode Inc.) tarafından önerildi. Bu standardın kullanımı, farklı komut dizilerinden çok sayıda karakterin kodlanmasını mümkün kılar: Çince karakterler, matematiksel semboller, Yunan alfabesinin harfleri, Latin ve Kiril alfabeleri Unicode belgelerinde bir arada bulunabilirken kod sayfaları arasında geçiş yapmak gereksiz hale gelir.

Standart iki ana bölümden oluşur: evrensel karakter seti (UCS, evrensel karakter seti) ve kodlama ailesi (UTF, Unicode dönüştürme formatı). Evrensel karakter kümesi, karakterlerin kodlara bire bir karşılık gelmesini belirtir - kod uzayının negatif olmayan tamsayıları temsil eden öğeleri. Bir kodlama ailesi, bir dizi UCS kodunun makine temsilini tanımlar.

Unicode standardı, tüm modern ve birçok eski yazı dili için tek bir karakter kodlaması oluşturma hedefiyle geliştirilmiştir. Bu standarttaki her karakter 16 bit ile kodlanmıştır, bu da daha önce kabul edilen 8 bitlik kodlamalardan kıyaslanamayacak kadar fazla sayıda karakteri kapsamasına izin verir. Unicode ile diğer kodlama sistemleri arasındaki bir diğer önemli fark, her karaktere yalnızca benzersiz bir kod atamakla kalmayıp, aynı zamanda o karakterin çeşitli özelliklerini de tanımlamasıdır, örneğin:

    karakter türü (büyük harf, küçük harf, sayı, noktalama işareti vb.);

    karakter nitelikleri (soldan sağa veya sağdan sola görüntüleme, boşluk, satır sonu vb.);

    karşılık gelen büyük veya küçük harf (sırasıyla küçük ve büyük harfler için);

    karşılık gelen sayısal değer (sayısal karakterler için).

0'dan FFFF'ye kadar olan tüm kod aralığı, her biri bir dilin alfabesine veya işlevlerine benzer bir grup özel karaktere karşılık gelen birkaç standart alt kümeye bölünmüştür. Aşağıdaki şema, Unicode 3.0'ın alt kümelerinin genel bir listesini içerir (Şekil 2).

şekil 2

Unicode standardı, birçok modern bilgisayar sisteminde depolama ve metin için temel oluşturur. Ancak çoğu İnternet protokolüyle uyumlu değildir, çünkü kodları herhangi bir bayt değeri içerebilir ve protokoller genellikle hizmet baytları olarak 00 - 1F ve FE - FF baytlarını kullanır. Uyumluluğu sağlamak için, günümüzde en yaygın UTF-8 olan birkaç Unicode dönüştürme formatı (UTF'ler, Unicode Dönüşüm Formatları) geliştirilmiştir. Bu biçim, her bir Unicode kodunu İnternet protokolleri tarafından taşınmaya uygun bir bayt kümesine (birden üçe kadar) dönüştürmek için aşağıdaki kuralları tanımlar.

Burada x,y,z, en az anlamlı olandan başlayarak çıkarılması gereken ve belirtilen tüm pozisyonlar dolduruluncaya kadar sağdan sola sonucun baytlarına girilmesi gereken kaynak kodun bitlerini gösterir.

Unicode standardının daha da geliştirilmesi, yeni dil düzlemlerinin eklenmesiyle ilişkilidir, yani. 10000 - 1FFFF, 20000 - 2FFFF vb. aralığındaki karakterler, yukarıdaki tabloda yer almayan ölü dillerin komut dosyalarının kodlamasını içermesi gerekir. Bu ek karakterleri kodlamak için yeni bir UTF-16 formatı geliştirildi.

Bu nedenle, baytları Unicode biçiminde kodlamanın 4 ana yolu vardır:

UTF-8: Bir baytta kodlanmış 128 karakter (ASCII formatı), 2 baytta kodlanmış 1920 karakter ((Roma, Yunanca, Kiril, Kıpti, Ermeni, İbranice, Arapça karakterler), 3 baytta kodlanmış 63488 karakter (Çince, Japonca vb.) .) Kalan 2.147.418.112 karakter (henüz kullanılmamıştır) 4, 5 veya 6 bayt ile kodlanabilir.

UCS-2: Her karakter 2 bayt ile temsil edilir. Bu kodlama, Unicode biçiminden yalnızca ilk 65.535 karakteri içerir.

UTF-16: UCS-2'nin bir uzantısıdır ve 1.114.112 Unicode karakter içerir. İlk 65.535 karakter 2 bayt, geri kalanı 4 bayt ile temsil edilir.

USC-4: Her karakter 4 bayt ile kodlanmıştır.

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 yapılmalı?

ASCII tablosunun diğer sürümleri, benzer sorunları gidermek 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 (bkz. ekran görüntüsü #3).


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. Tanınmış 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 gerekli olabilir. Örneğin, ihtiyacınız olan belirli bir karakter kümesini girersiniz ve sayfanın kendisini görüntülerken bu koda karşılık gelen karakter görüntülenecektir.

Diğer şeylerin yanı sıra, çok dilli bir site oluştururken bu tür kodlama gereklidir, çünkü bir veya başka bir 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 kaydı 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ı işlevler 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 bir 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ü