Ascii tablo ikili kodu. ASCII kodlaması

ASCII oluşturulduğunda, teletiplerde ve daktilolarda bulunan kontrol karakterleri kodlamanın başına dahil edildi ve zamanla 21. yüzyılda pratikte kullanılmasalar da orada sıkıca kurudular.

ASCII kodlaması hakkında bazı ayrıntılar şunlardır:

ASCII(İngilizce) A amerikalı S standart C elbise için Ben bilgi Ben değişim, [ˈæs.ki]), sayısal kodların bazı ortak basılı ve yazdırılamaz karakterlere atandığı bir tablonun (kodlama, küme) adıdır. Tablo, 1963 yılında ABD'de geliştirilmiş ve standardize edilmiştir. Rusça'da "ASCII" adı genellikle [ olarak telaffuz edilir. sormak(lar) ve].

ASCII tablosu, karakterler için kodları tanımlar:

  • Ondalık basamak;
  • Latin alfabesi;
  • ulusal alfabe;
  • noktalama işaretleri;
  • kontrol karakterleri.

Hikaye

Başlangıçta (1963) ASCII, kodları 7 bite (128 karakter; 27 = 128) uyan karakterleri kodlamak için geliştirildi, en önemli 7. bit (sıfırdan numaralandırma) ise veri iletimi sırasında oluşan hataları kontrol etmek için kullanıldı.

Zamanla kodlama 256 karaktere genişletildi (28=256); ilk 128 karakterin kodları değişmemiştir. ASCII, 8 bitlik kodlamanın yarısı olarak algılanmaya başlandı ve "genişletilmiş ASCII", 8. bit dahil olan ASCII olarak adlandırıldı (örneğin, KOI-8).

Sembol yerleşimi

Yazıcıdaki Backspace (BS) karakterini (backspace) kullanarak, bir karakteri diğerinin üzerine yazdırabilirsiniz. ASCII'de harflere aynı şekilde aksan işaretleri ekleyebilirsiniz, ö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ğimli olarak çizilmiştir ("`" ve "´" ile karşılaştırın) ve yaklaşık işareti "~" yukarı kaydırılmıştır ("~" ve "˜" ile karşılaştırın), bu yüzden vurgulu "´" ve "yukarıda dalga işareti" rol karakterleri için tam olarak doğru.

Aynı karakteri aynı konumda iki kez yazdırırsanız, kalın bir karakter elde edersiniz. Bir konuma bir karakter yazar ve ardından "_" alt çizgisini yazarsanız, altı çizili bir karakter elde edersiniz.

  • bir BS bir → A
  • bir BS _ → bir

Bu teknik, örneğin insan yardım sisteminde hala kullanılmaktadır.

ASCII'nin ulusal varyantları

ISO 646 (ECMA-6) standardı, ulusal karakterlerin ASCII'ye yerleştirilmesi olasılığını sağlar. Bunu yapmak için "@", "[", "\", "]", "^", "`", "(", "Dikey çubuk", ")", "~ karakterlerinin değiştirilmesi önerilir. ". Ayrıca, "#" pound işareti yerine "£" pound sembolü ve dolar sembolü "$" yerine - para birimi işareti "¤" yerleştirilebilir. Bu sistem, Latin karakterleri ve yalnızca birkaç ek karakter kullandıklarından, Avrupa dilleri için çok uygundur. Ulusal karakterler içermeyen bir ASCII varyantına "US-ASCII" veya "uluslararası referans sürümü" denir.

Latince olmayan yazıya sahip bazı diller için (Rusça, Yunanca, Arapça, İbranice) ASCII'de daha radikal değişiklikler yapıldı. Bu değişikliklerden birinde küçük Latin harfleri yerine ulusal semboller yerleştirildi (Rusça ve Yunanca - büyük harfler için). US-ASCII ve ulusal varyant arasında geçiş için sağlanan başka bir değişiklik; geçiş, SO karakterleri kullanılarak "anında" gerçekleştirildi (İng. S zam Ö ut) ve SI (eng. S zam Ben N); bu durumda, ulusal versiyonda tamamen değiştirmek mümkün oldu edebiyat ulusal sembollere. Ayrıca bakınız: KOI-7.

Daha sonra, kod tablosunun alt yarısının (0-127) US-ASCII karakterleriyle ve üst yarısının (128-255) bulunduğu 8 bitlik kodlamaları (kod sayfaları) kullanmanın daha uygun olduğu ortaya çıktı. ), ulusal karakter seti 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.

ASCII tablosunda Kiril karakterlerini yerleştirmek için tek bir standardın olmaması, kodlamalarda (KOI-8, Windows-1251 vb.) birçok soruna neden oldu. Latin alfabesi olmayan diğer diller de birkaç farklı kodlamanın varlığından zarar gördü.

Unicode standardının ilk 128 karakteri, karşılık gelen US-ASCII karakterleriyle aynıdır.

ASCII tablosu

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. HİÇ SOH STX ETX EOT TR ACK BEL BS HT LF VT FF CR BU YÜZDEN
1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB OLABİLMEK EM ALT ESC FS GS RS BİZ
2. ! « # $ % & ( ) * + , - . /
3. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4. @ A B C D E F G H BEN J K L M N Ö
5. P Q R S T sen V W X Y Z [ \ ] ^ _
6. ` A B C D e F G H Ben J k ben M N Ö
7. P Q R S T sen v w X y z { | } ~ SİL

ASCII standardının ilk versiyonunda (1963), yukarı ok ve sol ok karakterleri için sırasıyla 0x5e (94) ve 0x5f (95) konumları kullanılmıştır. ECMA-6 standardı (1965), bunları sırasıyla şapka (aynı zamanda inceltme işareti "^" karakteri olarak da kullanılır) ve alt çizgi karakteri "_" ile değiştirdi.

Kontrol karakterleri

Teletype üzerinden bilgi alışverişi için ASCII tablosu oluşturulmuştur. Set, teletip cihazını kontrol etmek için komut olarak kullanılan yazdırılamayan karakterleri içeriyordu. Cihazın özellikleri dikkate alınarak diğer bilgisayar öncesi mesajlaşma araçlarında (Mors kodu, semafor alfabesi) benzer komutlar kullanıldı.

  • HİÇ, 00 - boş, boş. Boş karakter her zaman göz ardı edildi. Delinmiş bantlarda, "1" sayısı bir delik ile, "0" sayısı ise bir delik olmaması ile belirtilmiştir. Delikli bandın bilgilerin kaydedilmediği bölümleri delik içermiyordu, yani boş karakterler içeriyordu; bu tür bölümler bandın başında ve sonunda yer alıyordu. Boş karakter, birçok programlama dilinde bu güne kadar bir satırın sonunun işareti olarak kullanılır ve "\0" ile gösterilir. ("Dize" terimi, bir karakter dizisini ifade eder.) Bazı işletim sistemlerinde null, herhangi bir metin dosyasının son karakteridir.

İletişim kanalı üzerinden iletilen mesajlar iki bölüme ayrılmıştır:

  • "başlık";
  • "metin".

"Başlık", gönderenin ve alıcının adreslerini, sağlama toplamı vb. içerir, "metin"den önce veya sonra yerleştirilebilir. "Metin" terimi, mesajın basılması amaçlanan kısmıydı.

  • SOH, 01 - S turta Ö F H eading, "başlığın" başlangıcı.
  • STX, 02 - S ekşi T e X t, "metin" başlangıcı. Sembol, teleyazıcıyı açmak için bir komut olarak kullanıldı. Yazdırılabilir metin, STX ve ETX karakterleri arasında bulunuyordu.
  • ETX, 03 - e nd arasında T e X t, "metin"in sonu. Sembol, teleyazıcıyı kapatmak için kullanıldı. Bu günlerde kod 03, bir sürece SIGINT sinyali göndermek için kullanılıyor. imza son int kırmak) ve Ctrl + C tuş bileşimine basılarak gönderilebilir. Böyle bir sinyal alındığında işlemden çıkılmalıdır.
  • EOT, 04 - e nd Ö F T iletim, iletimin sonu. Sembol, terminal emülatörleri tarafından dosya sonu (EOF) anlamında kullanılır. e nd Ö F F ile) ve Ctrl + D tuş bileşimine basılarak gönderilebilir. Böyle bir karakter alındığında, terminal emülatörü terminalde o anda çalışan işlemi algılayacak ve standart girişte (stdin) dosya sonu (EOF) bayrağını ayarlayacaktır. st andar D içinde akışı koy) bu sürecin. Sonuç olarak, süreç stdin okumayı durduracak ve okunan verileri işlemeye başlayacaktır.
  • TR, 05 - enq tel. "Lütfen onaylayın."
  • ACK, 06 - onayşimdi çıkıntı. "Onaylıyorum." NAK sembolü bunun tersi anlamına gelir - "onaylama."
  • BEL, 07 - bel l, zil, bip. Karakter genellikle "\a" olarak temsil edilir ve bip sesi çıkarmak için kullanılır. Modern bir PC'de ses, yerleşik hoparlör tarafından çalınır. Örneğin, aşağıdaki komutlar bir ses çalabilir: echo -e "\a" veya echo -e "\007" (bash); echo ^G (cmd.exe ; ^G yazmak için Ctrl + G'ye basın), printf("\a"); (C programlama dilinde kod).
  • BS, 08 - B onay S hız, bir karakter döndürür. ← Backspace tuşu bir önceki karakteri silmek için kullanılır.
  • SEKME, 09 - T ab, yatay sekme. "\t" olarak gösterilir. Bazen İngilizce'den HT olarak adlandırılır. H yatay T abdest.
  • LF, 0A - ben ine F eed, satır besleme. Yazıcı taşıyıcıyı bir satır aşağı indirme komutu. Karakter, UNIX'te bir metin dosyasında bir satırın sonunu işaretlemek için kullanılır. CR LF karakter dizisi, Windows'ta bir metin dosyasındaki satırın sonunu işaretler. Birçok programlama dilinde sembol "\n" olarak gösterilir. Metin görüntülenirken ↵ Enter tuşuna basmak satır sonu ile sonuçlanır.
  • VT, 0B - v dikey T ab, dikey sekme.
  • FF, 0C - F orm F eed, sayfa beslemesi, yeni sayfa. Yazıcının komutu, bir sonraki sayfanın başından itibaren yazdırmaya devam etmektir.
  • CR, 0D - C düzenleme R dönüş, taşıma dönüşü. Yazıcı için komut: Geçerli satırın başından itibaren yazdırmaya devam edin (yeni bir satırdan değil). Birçok programlama dilinde CR karakteri "\r" olarak gösterilir. Mac OS'de, CR karakteri bir metin dosyasındaki satırın sonunu işaretler. Klavyeden CR karakteri Ctrl + M tuş bileşimine basılarak girilebilir.
  • BU YÜZDEN, 0E - S zam Ö ut, başka bir kasete geçin. Diğer şerit genellikle kırmızıya boyanmıştı. Gelecekte, sembol ulusal kodlamaya geçmek için kullanıldı.
  • , 0F - S zam Ben N. SO'nun ters eylemini gerçekleştirmek için komut: kaynak teybe geç veya kaynak kodlamaya geç.
  • DLE, 10 - D ata ben mürekkep e scape, veri kanalını serbest bırakır. DLE'den sonraki tüm karakterler, kontrol karakterleri olarak değil, veri olarak ele alınmalıdır.
  • DC1, 11 - D apaçık C kontrol 1 , 1. cihaz kontrol karakteri. Komut: delikli şerit okuyucuyu açın.
  • DC2, 12 - D apaçık C kontrol 2 , 2. cihaz kontrol karakteri. Komut: zımbalayıcıyı açın.
  • DC3, 13 - D apaçık C kontrol 3 , 3. cihaz kontrol karakteri. Komut: delikli şerit okuyucuyu kapatın.
  • DC4, 14 - D apaçık C kontrol 4 , 4. cihaz kontrol karakteri. Komut: zımbalayıcıyı kapatın.
  • NAK, 15 - N olumsuz A C kŞimdilik, onaylamıyorum. ACK karakterini ters çevirin.
  • SYN, 16 - kronizasyon. Bu karakter, senkronizasyon için bir şeyin gönderilmesi gerektiğinde gönderildi.
  • ETB, 17 - e nd arasında T dahili B kilit, metin bloğunun sonu. Bazen metin teknik nedenlerle bloklara bölündü.
  • OLABİLMEK, 18 - olabilmek cel, iptal (daha önce ne geçti).
  • EM, 19 - e nd arasında M baskı, ortamın sonu (delinmiş bant, kağıt vb.)
  • ALT, 1 A- alt vekil, vekil. İletim sırasında anlamı kaybolan veya bozulan sembolün yerine sembol konur. Veya, yorumlanması için ek bir karakter kümesine geçilmesi gereken bir karakterin önüne bir karakter yerleştirilir. Ya da farklı renkte basılması gereken karakterin önüne karakter konur. Şu anda, karakter Ctrl + Z tuş bileşimine basılarak eklenir ve DOS ve Windows'ta bir dosyanın sonunu işaretlemek için kullanılır.
  • ESC, 1B- Esc maymun. ESC karakterini takip eden karakterin, ASCII'de tanımlanandan başka bir anlamı vardır. Kaçış karakterleri genellikle ESC karakterini takip eder. DOS'ta ANSI.SYS sürücüsü tarafından uygulanırlar.

Verilerin 4 seviyeye ayrılması desteklendi:

  • mesaj dosyalardan oluşabilir;
  • dosyalar gruplardan oluşabilir;
  • gruplar kayıtlardan oluşabilir;
  • kayıtlar birimlerden oluşabilir.
  • FS, 1C- F ile S ayırıcı, dosya ayırıcı.
  • GS, 1D - G sıra S ayırıcı, grup ayırıcı.
  • RS, 1E- R rekor S ayırıcı, kayıt ayırıcı.
  • BİZ, 1F- sen sirke S ayırıcı, birim ayırıcı.
  • SİL, 7F- del et, son karakteri sil. Hepsinin ikili kodundan oluşan DEL sembolü, herhangi bir sembolü "çekiçleyebilir". Aygıtlar ve programlar, DEL'in yanı sıra NUL'u da yoksaydı. Bu karakterin kodu, delikli bant üzerinde belleğe sahip ilk kelime işlemcilerden gelir: bunlarda, bir karakterin silinmesi, kodunun deliklerle (mantıksal birimleri ifade ederek) "çekilmesi" ile gerçekleşti.

Bir tablonun yapısal özellikleri

  • İkili sayı sisteminde "0" - "9" sayılarının karakter kodları 00112 ile başlar ve sayıların ikili değerleri ile biter. Örneğin, 01012, 5 sayısıdır ve 0011 01012, "5" karakteridir. Bunu bilerek, ikili kodlu ondalık (BCD) sayıları, her BCD yarım baytının soluna 00112 ekleyerek bir ASCII dizisine dönüştürebilirsiniz.
  • Büyük ve küçük harflerin "A" - "Z" harfleri temsillerinde yalnızca bir bit farklılık gösterir, bu da büyük/küçük harf dönüştürmeyi ve bir değer aralığına ait kodun kontrol edilmesini kolaylaştırır. Harfler, alfabede seri numaralarıyla temsil edilir, ikili sistemde beş basamak olarak yazılır ve önünde 0102 (büyük harfler için) veya 0112 (küçük harfler için) bulunur.

ASCII'nin bilgisayar gösterimi

Modern bilgisayarların büyük çoğunluğunda, minimum adreslenebilir bellek birimi 8 bitlik bir bayttır. Bu nedenle, burada 7 bitlik karakterler yerine 8 bitlik karakterler kullanılır. Genellikle ASCII karakteri en önemli bit olarak basitçe bir sıfır bit ekleyerek 8 bit'e genişletin.

ASCII kodları, programlamada tuş vuruşları için ara platformlar arası kodlar olarak kullanılır (IBM PC tarama kodlarının ve diğer dahili kodların aksine).

QWERTY klavye düzeni için, kod tablosu aşağıdaki tabloda gösterilene benzer:

Kaçmak F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Ekran görüntüsü kaydırma kilidi Duraklat
ё 1 2 3 4 5 6 7 8 9 0 - =+ geri boşluk Sokmak Ev Sayfa yukarı Rakam kilidi / eklemek. * eklemek. + ekle.
Sekme Q W E R T Y sen BEN Ö P [ ] Silmek son Sayfa Aşağı 7 ek 8 ekstra 9 ekstra
Kapak kilidi A S D F G H J K L ;Ve e Girmek 4 ek 5 ek 6 ek Ekle girin.
Vardiya Z X C V B N M ,< .> / Vardiya \| Yukarı 1 ekstra 2 ek 3 ek
Ctrl kazanç alternatif Boşluk Çubuğu alternatif kazanç liste Ctrl Sol Aşağı Sağ ins/0 Del/.

46/110

Bu klavye düzeninde Rusça harfler yoktur ve bazı yanlışlıklar da vardır ancak ana özellikler yansıtılmıştır.

herkesi konuşmaya davet ediyorum

METİN BİLGİLERİNİN KODLANMASI. ASCII KODLAMA. BAŞLICA KULLANILAN KİRİL KODLAMALARI

Herhangi bir metin, bir alfabenin karakter dizisidir. Kullanılan alfabenin her karakteri bir sayı olarak kodlanmışsa, metin bir sayı dizisi olarak sunulur. Bir bilgisayar metni işlerken sayıların ikili temsilini kullanır.

Kodlanmış metni doğru bir şekilde yorumlamak için, nerede olduğunu bilmeniz gerekir. ikili kod kaynak alfabenin bir karakteri ve diğerinin ikili kodu başlar. Her karakteri 8 bit - bir bayt dizisi ile kodlamak mümkündür.

Sekiz bitte 28 = 256 farklı tamsayı yazabilirsiniz. ikili sayılar- 000000002'den 111111112'ye. Bu, İngiliz ve Rus alfabelerinin her bir büyük ve küçük harfini, tüm Arap rakamlarını, noktalama işaretlerini, diğer bazı gerekli karakterleri ve veri aktarımı için hizmet kodlarını benzersiz (tekrarlanmayan) sekiz bitlik bir atama ile eşleştirmek için yeterlidir. .

Dijital kodlama ve müteakip kod çözme kolaylığı için kod tabloları derlenir. Açık farklı şekiller farklı işletim sistemlerine sahip bilgisayarlar farklı kod tabloları kullanır. Bilgisayar klavye karakterlerini 8 bitlik sayılarla kodlama standartlarından biri, ASCII (Bilgi Değişimi için Amerikan Standart Kodu) kod tablosudur. Noktalama işaretleri, Arap rakamları ve İngilizce karakterler içeren ilk yarısı (kodlar 0-127), dünya çapında genel kabul görmüş bir gelenektir. ASCII tablosunun 128 - 255 kodları (genişletilmiş ASCII - kodları) esas olarak ulusal alfabeler için kullanılır.

Alt tuşuna basarken küçük sayısal tuş takımında 0'dan 255'e kadar istediğiniz sayıyı yazarak kod tablosunu çoğaltabilirsiniz Şekil 1'de bu şekilde elde edilen kod tablosu görülmektedir.

♫ ☼ ◄ ↕

← ∟ ↔

M N O P R S T U V

T W W Y Y L E Y

Şekil 1 - Kod tablosu

Satır numarası ve sütun numarasından kod oluşturulur. Örneğin 50 kodu 2 rakamına karşılık gelir, 134 kodu Zh harfine karşılık gelir.0'dan 32'ye kadar olan kodlar servis kodlarıdır.

Çeşitli ulusal dillerin alfabelerinin kullanımına yönelik birçok kod tablosu varyantının varlığı başlı başına büyük bir rahatsızlıktır. Sipariş için masalara özel isimler, numaralar verilmeye başlandı (örneğin,

KOI-8), ancak bu, çeşitli ulusal alfabeleri birleştiren birleşik bir kod sistemi oluşturma sorununu çözmedi.

Bu uygunsuzlukların ve sınırlamaların ortadan kaldırılması, en son sürümlerle desteklenen yeni uluslararası standart Unicode sayesinde mümkün olmuştur. işletim sistemi Microsoft Windows. Şu anda, bu karakter kodlama standardı karakter başına iki bayt ayırır. Bu kodlama, ikili alfabede 216 = 65.536 farklı karakteri temsil etmenizi sağlar. İlk 128 karakterin kodları ASCII ile aynıdır.

MESAJLARIN BİLGİ HACMİ

ÇÖZÜMLÜ ZORLUKLAR

Görev. Her karakterin 1 bayt (KOI-8) tarafından kodlandığını varsayalım. Mesajın bilgi hacmini tahmin edin

İkili sayıları toplama kurallarını biliyorum.

Mesaj 39 karakter içerir, bu nedenle kodlamak için 1 bayt/karakter gerekir *39 karakter = 39 bayt,

veya 8 bit/bayt * 39 bayt = 312 bit.

1. Bir önceki örnekteki mesajda "binary" kelimesi "decimal" kelimesiyle değiştirilmiştir. Mesajın bilgi hacmi bit ve bayt olarak nasıl değişti?

Cevap: Mesajın bilgi hacmi 2 bayt, 16 bit arttı.

2. Her karakterin 1 bayt (KOI-8) tarafından kodlandığını varsayalım. Mesajın bilgi hacmini tahmin edin

Mesajın bilgi kapsamını değerlendirebilirim.

Cevap: Mesajın bilgi hacmi 48 bayttır.

3. Her karakterin 2 bayt (Unicode) olarak kodlandığını varsayalım. Mesajın bilgi hacmini tahmin edin

Böyle bir kodlamanın COI-8 olduğunu biliyorum.

Cevap: Mesajın bilgi hacmi 68 bayttır.

4. Her karakterin 2 bayt (Unicode) olarak kodlandığını varsayalım. Mesajın bilgi hacmini tahmin edin

Algoritma doğal bir dilde yazılabilir.

Cevap: Mesajın bilgi hacmi 92 bayttır.

5. Başlangıçta 16 bitlik Unicode koduyla yazılmış olan Rusça bilgi mesajı, 8 bitlik KOI-8 kodlamasına yeniden kodlandı. Bu durumda bilgi mesajı 480 bit azalmıştır. Mesajın karakter cinsinden uzunluğu nedir?

Cevap: Mesaj uzunluğu 60 karakterdir.

6. Orijinal olarak 8 bitlik KOI-8 koduyla yazılan Rusça bilgi mesajı, 16 bitlik Unicode kodlamaya yeniden kodlandı. Aynı zamanda, bilgi mesajının hacmi 568 bit arttı. Mesajın karakter cinsinden uzunluğu nedir?

Cevap: Mesajın uzunluğu 71 karakterdir.

7. Orijinal olarak 8 bitlik KOI-8 koduyla yazılan Rusça bilgi mesajı, 16 bitlik Unicode kodlamaya yeniden kodlandı. Mesaj içeriği nasıl değişti?

Cevap: bilgilendirme mesajının hacmi 2 kat arttı.

8. Bilgi hacmi Unicode'da 200 bit olan bir mesaj kaç karakter içerir?

Cevap: Mesaj 25 karakter içermektedir.

9. KOI-8 kodlamasında bilgi hacmi 240 bit olan bir mesaj kaç karakter içerir?

Cevap: Mesaj 30 karakter içermektedir.


BİLGİLERİN KODLANMASI VE KODUNUN ÇÖZÜLMESİ

ÇÖZÜMLÜ ZORLUKLAR

1. A, B, C, G harflerini kodlamak için sırasıyla 1000'den 1011'e kadar dört bitlik ikili kodlar kullanın. B, D, C, A karakter dizisi için bir ikili kod yazın, kodlama sonucunu sekizli bir kodda sunun.

Karakter kodları Tablo 1'de sunulmuştur: Tablo 1

Karşılık gelen ikili kod 16 basamak içerir: 1001101110101000, bu sayıyı üçlülere bölünmüş bir sekizli koda dönüştürmek için yazmak daha uygundur: 1 001 101 110 101 000. Karşılık gelen sekizli sayının aşağıdaki forma sahip olduğu açıktır: 115650 .

İkili olarak temsil edilen bir sayıyı onaltılıya dönüştürmek için, ikili gösterimi sağdan başlayarak dörtlülere (4 basamaklı gruplar) bölmek uygundur.

2. Rus alfabesinin 5 harfi için, 2 veya 3 rakam içerebilen ikili kodları verilmiştir. Kodlar tablo 3'e kaydedilir:

1) 110100000100110111

2) 101010000010010011

3) 110100001001100111

4) 110110000100110010.

Tablo 3'e göre rakam gruplarına bölerek dört mesajın her birinin kodunu sırayla çözelim:

1) 11 01 000 001 001 10 111 Karakter, son hane grubuyla eşleştirilemez

tablo 3'e göre. Mesaj bir hata içeriyor.

2) 10 10 10 000 01 001 001 1 Mesaj bir hata içeriyor.

3) 11 01 000 01 001 10 01 11

Mesajın kodu çözülebilir. 4) 11 01 10 000 10 01 10 010 Mesaj bir hata içeriyor.

Cevap: 3) 110100001001100111

BAĞIMSIZ ÇÖZÜM İÇİN GÖREVLER

1. M, N, P, Q harflerini kodlamak için sırasıyla 1000'den 1011'e kadar dört bitlik ikili kodlar kullanılır. N, Q, P, M karakter dizisi için bir ikili kod yazın, kodlama sonucunu sekizli kodda sunun.

Cevap: ikili kod 1001101110101000, sekizli kod 115650.

2. A, B, C, G harflerini kodlamak için sırasıyla 1000'den 1011'e kadar dört bitlik ikili kodlar kullanın. B, D, C, A karakter dizisi için bir ikili kod yazın, kodlama sonucunu onaltılık bir kodda sunun.

Cevap: ikili kod 1001 1011 1010 1000, onaltılık kod 9BA9.

3. M, N, O, P harflerini kodlamak için sırasıyla 000'den 111'e kadar üç basamaklı ikili kodlar kullanılır. O, N, M, P karakter dizisi için bir ikili kod yazın, kodlama sonucunu sekizli kodda sunun.

Cevap: ikili kod 110 101 100 111, sekizli kod 6547.

4. M, N, O, P harflerini kodlamak için sırasıyla 100'den 111'e kadar üç basamaklı ikili kodlar kullanılır. O, N, M, P karakter dizisi için bir ikili kod yazın, kodlama sonucunu onaltılık bir kodda sunun.

Cevap: ikili kod 1101 0110 0111, onaltılık kod B67.

İkinci basamak 3 olamaz.

6. Dört basamaklı sayıları oluşturmak için 1, 2, 3, 4, 5 sayıları kullanılırken aşağıdaki kurallar gereklidir:

1, 3, 4 rakamlarından biri birinci olabilir;

sayı kaydında, çift ve tek rakamlar dönüşümlü olarak;

Üçüncü basamak 4 olamaz.

Bu kurallara göre oluşturulmuş olası tüm sayıları yazın.

7. Dört basamaklı sayıları oluşturmak için 1, 2, 3, 4, 5 sayıları kullanılır ve aşağıdaki kurallara uyulmalıdır:

2, 4, 5 rakamlarından biri birinci olabilir;

sayı kaydında, çift ve tek rakamlar dönüşümlü olarak;

ikinci ve son haneler aynı olamaz. Bu kurallara göre oluşturulmuş olası tüm sayıları yazın.

8. Rus alfabesinin 5 harfi için, 2 veya 3 rakam içerebilen ikili kodları verilmiştir. Kodlar tabloda yazılmıştır:


Bu kodlamadaki dört mesajdan sadece biri hatasız geçti, sadece şifresi doğru bir şekilde çözülebilir. Listeden bu mesajı bulun:

1) 110100000100110011

2) 111010000010010011

3) 110100001001100111

4) 110110000100110010. Cevap: 110100001001100111

9. Rus alfabesinin 5 harfi için 2 veya 3 rakam içerebilen ikili kodları verilmiştir. Kodlar tabloda yazılmıştır:

SAVAŞ sırasını kodlayın, kodun içine mesajın kodunun doğru şekilde çözülmesine izin vermeyecek bir hata girin.

EĞİTİM TESTİ

2 Her karakterin 1 1) 384 bit bayt olarak kodlandığını varsayalım(KOI-8). Oran bilgisi 2) 192 bit

Bu metinde 24 karakterlik kelime uzunluğu

kodlama

3 Üretildi

yeniden kodlama

bilgi mesajı

orijinal olarak 8- ile yazılmış dil

bit kodu KOI-8, 16 bit kodlamaya

Unicode. Aynı zamanda, bilgi miktarı

mesajlar 336 bit artırıldı. Nedir

karakter cinsinden mesaj uzunluğu?

4 Kaç karakter

İleti,

bilgilendirme

KOI-8 kodlamasında 240 olan

5 kaç karakter yapar

İleti,

bilgilendirme

Unicode'da hangisi

6 A, B, C, D harflerini kodlamak için

üç basamaklı ikili kodlar kullanın

Doğru

Ders 2 konusunda kendi kendine çalışma materyali

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

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

Resim 1

Tablodan bir karakteri kodlamak için 8 bit (1 bayt) tahsis edilir. işlerken metin bilgisi bir bayt, bir karakterin kodunu içerebilir - bir harf, bir sayı, bir noktalama işareti, bir eylem karakteri, vb. Her karakterin bir tamsayı biçiminde 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 birlikte bir bayt dizisi olarak temsil edilir.

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

tablo 1

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

ASCII tablosunun ilk yarısı standardize edilmiştir. Kontrol kodlarını içerir (00h ila 20h ve 77h arası). Bu kodlar, metin öğelerine uygulanmadıklarından tablodan kaldırı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 sözde sembolleri, özel matematiksel sembolleri içerir. Alt kısmı kodlama tabloları, uygun sürücüler - yardımcı kontrol programları kullanılarak değiştirilebilir. Bu teknik, birden çok yazı tipini ve bunların yazı tipini 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 ekranındaki 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 nokta 0, açık (parlak) - 1 sayısıyla kodlanmıştır. İşaretin matris alanındaki koyu pikselleri noktayla ve açık pikselleri yıldızla temsil ediyorsanız, o zaman sembolün şeklini grafiksel olarak tasvir edebilirsiniz.

Farklı ülkelerdeki insanlar kendi anadillerindeki kelimeleri yazmak için semboller kullanırlar. E-posta sistemleri ve web tarayıcıları da dahil olmak üzere günümüzde ç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 okuyabilirler.

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

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

Yeni semboller görünür (örneğin: Euro), bunun sonucunda ISO, ISO-8859-1'e çok benzeyen yeni bir standart olan ISO-8859-15'i geliştirir. Fark şu şekildedir: 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 birimleri için semboller kaldırılmıştır. Sonuç olarak, kullanıcılar disklerinde aynı belgelere sahip olabilir, ancak farklı kodlamalarda olabilir. Bu sorunların çözümü, evrensel kodlama veya Unicode olarak adlandırılan tek bir uluslararası kodlama setinin benimsenmesidir.

benzer makaleler

2023 dvezhizni.ru. Tıbbi portal.