• Ondalık karakter kodu. ASCII kodlaması (bilgi alışverişi için Amerikan standart kodu) - Latince için temel metin kodlaması

    Bildiğiniz gibi, bir bilgisayar bilgileri birler ve sıfırlardan oluşan bir dizi olarak temsil eden ikili biçimde depolar. Bilgiyi insan algısına uygun bir forma çevirmek için, her benzersiz sayı dizisi görüntülendiğinde karşılık gelen sembolle değiştirilir.

    Basılı ve kontrol karakterleri ile ikili kodları ilişkilendirmek için sistemlerden biri

    Bilgisayar teknolojisinin mevcut gelişme düzeyiyle, kullanıcının her belirli karakterin kodunu bilmesi gerekmez. Bununla birlikte, kodlamanın nasıl yapıldığına dair genel bir anlayış son derece yararlıdır ve hatta bazı uzman kategorileri için gereklidir.

    ASCII'nin oluşturulması

    Orijinal haliyle, kodlama 1963'te geliştirildi ve ardından 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 olan karakterlerin sekizinci bit dahil kodlara atandığı genişletilmiş bir sürüm çıktı.

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

    ASCII bilgisayar gösterimi

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

    Tablodaki iki kod, standart US-ASCII ile ulusal varyantı arasında geçiş yapmak için ayrılmıştır.

    ASCII 128 değil 256 karakter içermeye başladıktan sonra, tablonun orijinal sürümünün sıfır 8. bit ile ilk 128 kodda saklandığı kodlama varyantı yaygınlaştı. Ulusal yazı işaretleri tablonun üst yarısında tutuldu (128-255 pozisyonları).

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

    Rus Dili

    70'lerin başında İskandinav dilleri, Çince, Korece, Yunanca vb. İçin kodlamaların geliştirilmesinden sonra, Sovyetler Birliği de kendi versiyonunun yaratılmasına başladı. Yakında, ilk 128 ASCII karakter kodunu tutan ve ulusal alfabenin harfleri ve ek karakterler için aynı sayıda konum tahsis eden KOI8 adlı 8 bitlik bir kodlama sürümü geliştirildi.

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

    ASCII sorunları

    Genişletilmiş tablodaki öğe sayısı bile 256'yı geçmediğinden, birkaç farklı komut dosyasını tek bir kodlamada barındırma olasılığı yoktu. 90'lı yıllarda, Rusça ASCII karakterleriyle yazılan metinlerin yanlış görüntülenmesiyle 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ını diğerine değiştirirken, metnin tüm harflerinin, kodlamanın farklı bir versiyonunda aynı numaraya sahip diğerleriyle 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 hemen hemen tüm yazı dillerinin karakterlerini barındırmayı mümkün kılmış olmasıdır. Bu durumda, ilk 128 ASCII karakteri Unicode'da aynı karakterlere karşılık gelir.

    2000 yılında ASCII, İnternet'teki en popüler kodlamaydı ve Google tarafından indekslenen 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 en popüler kodlamanın yerini Unicode (UTF-8) aldı.

    Bu nedenle ASCII, bilgi teknolojisi tarihinin önemli bir parçasıdır, ancak gelecekte kullanımı ümitsiz olarak görülmektedir.

    Metin yazmak için kullanılan simgeler kümesine denir. alfabetik olarak.

    Alfabedeki karakter sayısı güç.

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

    N, alfabenin önem derecesidir (sembol sayısı),

    b, bit sayısıdır (sembolün bilgi ağırlığı).

    256 karakter kapasiteli bir alfabeye gerekli tüm karakterler yerleştirilebilir. Bu alfabe denir yeterli.

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

    8 bitlik ölçü birimine bir isim verildi 1 bayt:

    1 bayt = 8 bit.

    Bilgisayar metnindeki her karakterin ikili kodu, 1 bayt bellek kaplar.

    Metin bilgisi bilgisayar belleğinde nasıl temsil edilir?

    Karakterlerin bayt bayt 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şlemeyi gerçekleştirirken her karaktere ayrı ayrı erişebilir. Öte yandan, 256 karakter, çok çeşitli karakter bilgilerini temsil etmek için oldukça yeterlidir.

    Şimdi soru, her karaktere hangi sekiz bitlik ikili kodun yazılacağı sorusu ortaya çıkıyor.

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

    Bilgisayar alfabesindeki tüm karakterler 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 sıra numarasıdır.

    Bilgisayar alfabesindeki tüm karakterlere seri numaraları atanan bir tabloya kodlama tablosu denir.

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

    Tablo, PC'ler için uluslararası standart haline geldi. ASCII(asci olarak telaffuz edilir) (Bilgi Alışverişi için Amerikan Standart Kodu).

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

    Tablonun sadece ilk yarısı uluslararası bir standarttır, yani; sayıları olan karakterler 0 (00000000), en fazla 127 (01111111).

    ASCII kodlama tablosunun yapısı

    Seri numarası

    kod

    Sembol

    0 - 31

    00000000 - 00011111

    0'dan 31'e kadar sayıları olan karakterlere kontrol karakterleri denir.
    İşlevleri, ekranda metin görüntüleme veya yazdırma, ses sinyali verme, metni işaretleme vb. İşlemlerini kontrol etmektir.

    32 - 127

    00100000 - 01111111

    Tablonun standart kısmı (İngilizce). Buna Latin alfabesinin küçük ve büyük harfleri, ondalık basamaklar, noktalama işaretleri, her türlü parantez, ticari ve diğer semboller dahildir.
    Karakter 32 bir boşluktur, yani metinde boş konum.
    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ı (10000000 ile başlayan ve 11111111 ile biten 128 kod) farklı seçeneklere sahip olabilir, her seçeneğin kendi numarası vardır.
    Kod sayfası, öncelikle Latince dışındaki ulusal yazıları 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) alfabetik sıraya göre düzenlendiğine ve sayıların artan değer sırasına göre sıralandığına dikkatinizi çekiyorum. Karakterlerin düzenlenmesinde sözlükbilimsel düzenin bu şekilde gözetilmesine alfabenin sıralı kodlama ilkesi denir.

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

    ASCII kod tablosunun ikinci yarısı


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

    Kronolojik olarak, bilgisayarlarda Rus harflerini 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ı.

    90'lı yılların başından itibaren, MS DOS işletim sisteminin hakimiyet zamanı, 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), ISO 8859-5 adlı başka bir kodlamayı Rus dili için bir standart olarak onayladı.

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

    90'lı yılların sonundan bu yana, karakter kodlamasının standartlaştırılması sorunu, adı verilen yeni bir uluslararası standardın getirilmesiyle çözüldü. Unicode. Bu 16 bitlik bir kodlamadır, yani karakter başına 2 bayt belleğe sahiptir. Tabii bu durumda kullanılan hafıza miktarı 2 kat artıyor. Ancak böyle bir kod tablosu, 65536 karaktere kadar dahil edilmesine izin verir. Unicode standardının eksiksiz belirtimi, dünyadaki tüm mevcut, tükenmiş ve yapay olarak oluşturulmuş alfabelerin yanı sıra birçok matematiksel, müzikal, kimyasal ve diğer sembolleri içerir.

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

    Bilgisayar belleğindeki sözcüklerin dahili gösterimi

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

    Unicode (İngilizce'de Unicode) bir karakter kodlama standardıdır. Basitçe söylemek gerekirse, bu metin karakterlerinin ( , harfler, noktalama öğeleri) ikili kodlara. Bilgisayar yalnızca sıfırların ve birlerin sırasını anlar. Ekranda tam olarak neyi göstermesi gerektiğini bilmesi için her karaktere benzersiz bir numara atamak gerekir. Seksenlerde karakterler bir baytla, yani sekiz bitle (her bit 0 veya 1'dir) kodlanıyordu. Böylece, bir tablonun (bu aynı zamanda bir kodlama veya kümedir) yalnızca 256 karakteri barındırabileceği ortaya çıktı. Bu bir dil için bile yeterli olmayabilir. Bu nedenle, birçok farklı kodlama ortaya çıktı ve bu kafa karışıklığı, 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ılır. Örneğin, Kiril büyük harfi M, U+041C'dir. Bu, 041 satırı ile C sütununun kesiştiği noktada olduğu anlamına gelir. Kopyalayıp 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ı tipleriyle nasıl yazıldığını göreceksiniz. En azından ne olduğunu bulmak için, karakterin kendisini arama çubuğuna girebilirsiniz, bunun yerine bir kare çizilse bile. Ayrıca, bu site, kullanım kolaylığı için farklı bölümlerden toplanan aynı türden özel (ve - rastgele) simge kümelerine sahiptir.

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

    Unicode Konsorsiyumunun kendisi yeni karakterler icat etmez. Toplumda uygulamasını bulan simgeler 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ılıyordu. Ancak prensip olarak ticari markalar ve şirket logoları eklenmez. Apple elması veya Windows bayrağı kadar yaygın bile. Bugüne kadar, 8.0 sürümünde yaklaşık 120.000 karakter kodlanmıştır.

    Sembol yerleşimi

    BS (geri adım) karakteri sayesinde, yazıcı bir karakteri diğerinin üzerine yazdırabilir. ASCII, harflere bu şekilde aksan eklemeyi sağladı, örneğin:

    • bir BS " → bir
    • bir BS ` → bir
    • bir BS ^ → â
    • o BS / → ø
    • c BS , → ç
    • n BS ~ → ñ

    Not: eski yazı tiplerinde, kesme işareti " sola eğimliydi ve yaklaşık işareti ~ yukarı kaydırıldı, bu nedenle vurgu ve yaklaşık işaretinin üstteki rolüne uydular.

    Aynı karakter bir karakterin üzerine bindirilirse kalın, karakterin üzerine bir altı çizilirse altı çizili yazı elde edilir.

    • bir BS bir → A
    • bir BS_ → A

    Not: Bu, örneğin man help sisteminde kullanılır.

    ASCII'nin ulusal varyantları

    ISO 646 (ECMA-6) standardı, ulusal sembollerin yerine yerleştirilmesi olasılığını sağlar. @ [ \ ] ^ ` { | } ~ . Bunun yanında yerinde # yerleştirilebilir £ ve yerinde $ - ¤ . Bu sistem, yalnızca birkaç ek karakterin gerekli olduğu Avrupa dilleri için çok uygundur. ASCII'nin ulusal karakterleri olmayan bir varyantına US-ASCII veya "Uluslararası Referans Sürümü" adı verilir.

    Daha sonra, kod tablosunun alt yarısının (0-127) US-ASCII karakterleri ve üst yarısının (128-255) olduğu 8 bitlik kodlamaları (kod sayfaları) kullanmanın daha uygun olduğu ortaya çıktı. bir dizi ulusal karakter de dahil olmak üzere ek karakterlerle dolu. Bu nedenle, ASCII tablosunun üst yarısı, Unicode'un yaygın olarak benimsenmesinden önce, yerel dilin harfleri olan yerelleştirilmiş karakterleri temsil etmek için yoğun bir şekilde kullanılıyordu. Kiril karakterlerini ASCII tablosuna yerleştirmek için tek bir standardın olmaması, kodlamalarda (KOI-8, Windows-1251 ve diğerleri) birçok soruna neden oldu. Latin alfabesi olmayan diğer diller de birkaç farklı kodlamanın varlığından zarar gördü.

    .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    0. HİÇ SOM EOA EOM EQT WRU TR ZİL BKSP HT LF VT FF CR BU YÜZDEN
    1. DC 0 DC 1 DC 2 DC 3 DC 4 HATA SENKRONİZASYON LEM S0 S1 Ö2 S3 S4 S5 S6 S7
    2.
    3.
    4. BOŞLUK ! " # $ % & " ( ) * + , - . /
    5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
    6.
    7.
    8.
    9.
    A. @ A B C D e F G H BEN J K L M N Ö
    B. P Q R S T sen V W X Y Z [ \ ]
    C.
    D.
    E. A B C D e F G H Ben J k ben M N Ö
    F. P Q R S T sen v w X y z ESC SİL

    Minimum adreslenebilir bellek biriminin 36 bit word olduğu bilgisayarlarda, ilk başta 6 bitlik karakterler kullanılmıştır (1 word = 6 karakter). ASCII'ye geçişten sonra, bu tür bilgisayarlar bir kelimeye 5 yedi bitlik karakter (1 bit gereksiz kaldı) veya 4 dokuz bitlik karakter yerleştirmeye başladı.

    ASCII kodları, programlama sırasında hangi tuşa basıldığını belirlemek için de kullanılır. Standart bir QWERTY klavye için kod tablosu şöyle görünür:

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

    Ne olduğunu?

    ASCII, bilgileri 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 kodlanır.

    ASCII kodlaması Amerika'da geliştirildi, bu nedenle standart kodlama tablosu genellikle yaklaşık 128 karakter olmak üzere sayılarla birlikte İngiliz alfabesini içerir. Ama sonra makul 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ça harfler olabilir (bkz. Ekran görüntüsü No. 2).

    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, grafik düzenleyicilerin işlevini yerine getiren, bir görüntüyü metne çeviren ve bir görüntüyü ASCII grafiklerine dönüştüren programlara 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 istenebilir. Ö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ülenir.

    Diğer şeylerin yanı sıra, çok dilli bir site oluştururken bu tür bir kodlama gereklidir, çünkü şu veya bu ulusal tabloda yer almayan karakterlerin ASCII kodlarıyla değiştirilmesi gerekecektir. Okuyucu bilgi ve iletişim teknolojileri (BİT) ile doğrudan bağlantılıysa, 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. Unicode;
    7. ASCII sanatı;
    8. KOI-8.

    ASCII tablo özellikleri

    Herhangi bir sistematik program gibi, ASCII'nin de kendine has karakteristik özellikleri vardır. Örneğin, ondalık sistem (0'dan 9'a kadar olan rakamlar) ikili sisteme dönüştürülür (yani her 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 durumu 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 düşünülmesine rağmen sekiz bit olarak çalışmaktadır.

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

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

    Özellikle, kalın ve yarı kalın olarak vurgulamak mümkün olmayacaktır çünkü kodlama, genel görünüm ve biçimi değil, yalnızca 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 Ön Sayfa;
    • 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 ancak bu, bugünkü yazımızın kapsamı dışında. Umarım sizin için gerçekten faydalı olmuştur.

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

    İyi kötü