İçeriğe geç
Educora
Orta8–10. sınıf25 dk11 / 59

Metin bilgisinin kodlanması

Bilgisayar harfleri nasıl sayıya çevirir: ASCII ve UNICODE kod tabloları, DİM kuralları (ASCII — 1 bayt, UNICODE — 2 bayt, boşluklar da sayılır), metnin ve belgenin boyutu, alfabenin gücü ve metnin bir kanaldan iletilmesi — sınav tarzında çözümlü sorularla.

Kendini test et
Bu derste öğreneceklerin
  • Kod tablosunun ne olduğunu açıklamak, ASCII kodlarıyla sözcükleri kodlamak ve kodlarını çözmek
  • ASCII (1 bayt) ve UNICODE (2 bayt) kurallarıyla metnin boyutunu boşlukları ve noktalama işaretlerini de sayarak hesaplamak
  • Belgenin boyutundan alfabenin gücünü, iletim verilerinden de sayfa sayısını bulmak

Klavyede “Salam” yazdığında bilgisayar harfleri değil, sayıları saklar: 83, 97, 108, 97, 109. Ekranda yeniden harfler görünür, çünkü bir program her sayıya karşılık gelen işareti çizer. Bazen ise bir arkadaşının gönderdiği metinde Azerbaycan harfi ə yerine “É™” gibi garip işaretler çıkar. Bu derste bilgisayarın metni nasıl kodladığını ve böyle hataların nereden geldiğini öğreneceğiz.

“Bilginin ölçülmesi: bit, bayt ve birimler” dersinde I = K · i formülünü öğrendik; şimdi onu gerçek metinlere uygulayacağız. Konu giriş sınavında sık çıkar: 2025–2026’daki dört giriş sınavında beş soru metnin kodlanmasıyla ilgiliydi (ASCII ve UNICODE hacimleri, alfabenin gücü, 64 karakterli alfabede sözcükler, UNICODE metnin bir kanaldan iletilmesi); bir metin işleme sorusunda ise sözcükler UNICODE hacmine göre seçiliyordu.

Kod tablosu: her karaktere bir sayı

Tanım
Kodlama

Bilginin belirli bir kurala göre bir işaret sisteminden başka birine dönüştürülmesi. Bir metni kodlamak, her karakteri ikili koda çevirmek demektir; ters işleme kod çözme denir.

Tanım
Kod tablosu

Her karaktere (harf, rakam, noktalama işareti, boşluk, özel işaret) bir sayı — kodunu — veren tablo. Metni yazan ve okuyan programlar aynı tabloyu kullanmalıdır.

ASCII: bir karakter, bir bayt

ASCII (Bilgi Değişimi için Amerikan Standart Kodu) 1963’te oluşturuldu. İçinde 128 kod vardır (0–127): 0–31 denetim karakterleridir (örneğin yeni satıra geçiş), 32 boşluk, 48–57 rakamlar, 65–90 büyük, 97–122 ise küçük Latin harfleridir. Bilgisayarda her ASCII karakteri 1 bayt (8 bit) yer kaplar. 128–255 kodları ulusal harfler için kullanıldı: Kiril harfleri için Windows-1251 ve KOI8-R, Türkçe için Windows-1254 tabloları yapıldı.

KarakterOnluk kodİkili kod (1 bayt)
boşluk3200100000
04800110000
95700111001
A6501000001
B6601000010
Z9001011010
a9701100001
z12201111010
ASCII tablosunun bir bölümü. Harflerin ve rakamların kodları ardışıktır.
Kodlama ve kod çözme

1) ASCII kodları 73 78 70 79 olan sözcüğü bulun.
2) “A” harfinin kodu 65’tir. “K” harfinin kodu kaçtır?
3) 01000010 01001001 01010100 ikili kodları hangi sözcüğü gösterir?
4) “d” harfinin kodu 100’dür. “D” ve “h” harflerinin kodlarını bulun.

Çözümü göster
1) 73 − 65 = 8 ⇒ İngiliz alfabesinin 9. harfi, I; 78 ⇒ N; 70 ⇒ F; 79 ⇒ O. Sözcük: INFO.
2) K, İngiliz alfabesinin 11. harfidir: 65 + 10 = 75.
3) 01000010 = 64 + 2 = 66 ⇒ B; 01001001 = 64 + 8 + 1 = 73 ⇒ I; 01010100 = 64 + 16 + 4 = 84 ⇒ T. Sözcük: BIT.
4) “D” = 100 − 32 = 68; “h”, “d”den 4 harf sonra gelir: 100 + 4 = 104.
Python
word = "INFO"
print([ord(c) for c in word])
print(chr(66) + chr(73) + chr(84))
print(ord("a") - ord("A"), ord("ə"))
▸ Beklenen çıktı
[73, 78, 70, 79]
BIT
32 601
Python’da ord() bir karakterin kodunu, chr() ise bir koda karşılık gelen karakteri verir. ə harfinin kodu 601’dir: bu harf ASCII’de yoktur, yalnızca UNICODE’da vardır.

UNICODE: bütün diller tek tabloda

Farklı ülkelerin 8 bitlik tabloları birbirini tutmuyordu: aynı kod bir tabloda bir harf, başka bir tabloda başka bir harf demekti. Bu yüzden 1991’de UNICODE standardı oluşturuldu. Bu standartta dünyadaki bütün yazıların harflerine, matematik işaretlerine ve hatta emojilere ayrı bir numara verilir — bugün 150.000’den fazla karakter. İlk 128 kod ASCII ile aynıdır: “A” yine 65’tir, ə harfinin numarası ise U+0259, yani 601’dir.

Okul sorularında ve DİM sınavlarında “UNICODE” karakter başına 16 bit (2 bayt) demektir: 2¹⁶ = 65.536 farklı karakter. Bu, UTF-16 kodlamasının temel durumuna uyar. Gerçek dosyalarda ve internette ise çoğunlukla UTF-8 kullanılır: burada bir karakter 1 ile 4 bayt arasında yer kaplar — Latin harfleri 1, Azerbaycan Türkçesinin özel harfleri (ə, ş, ç, ğ, ı, ö, ü) ve Kiril harfleri 2, € işareti ve Çince karakterlerin çoğu 3, emojiler ise 4 bayt.

KodlamaBir karakterKarakter sayısı
ASCII8 bit = 1 bayt2⁸ = 256 (standart ASCII — 128)
UNICODE (okul sorularında)16 bit = 2 bayt2¹⁶ = 65.536
UTF-81–4 baytbütün UNICODE karakterleri
Sınavda soruda aksi belirtilmedikçe: ASCII — 1 bayt, UNICODE — 2 bayt.
I = K · 8 bit (ASCII) I = K · 16 bit (UNICODE)
burada:
  • Imetnin bilgi hacmi
  • Kmetindeki bütün karakterlerin sayısı: harfler, rakamlar, boşluklar, noktalama işaretleri

Bu, I = K · i formülünün özel bir durumudur: ASCII’de i = 8, UNICODE’da i = 16. Aynı metin UNICODE’da ASCII’dekinin 2 katı yer kaplar.

  1. 1
    Harfleri say

    Her sözcüğün harflerini ayrı ayrı say ve topla.

  2. 2
    Boşlukları ekle

    Sözcükler arasında birer boşluk varsa boşluk sayısı = sözcük sayısı − 1.

  3. 3
    Noktalama işaretlerini unutma

    Nokta, virgül, soru ve ünlem işaretleri, tırnaklar, tire ve rakamlar da karakterdir.

  4. 4
    Çarp ve çevir

    K’yi 8 (ASCII) ya da 16 (UNICODE) bitle çarp, sonra istenen birime geç.

Cümlenin hacmi: eşleştirme

Kodlama sistemleriyle
Small steps lead to big results.
cümlesinin bilgi hacmini eşleştirin (sözcükler arasında birer boşluk var).
1. UNICODE
2. ASCII
a. 32 bayt
b. 2⁹ bit
c. 64 bit
d. 2⁸ bit
e. 64 bayt

Çözümü göster
Harfler: Small (5) + steps (5) + lead (4) + to (2) + big (3) + results (7) = 26; boşluklar: 6 sözcük − 1 = 5; nokta: 1. Toplam K = 26 + 5 + 1 = 32 karakter.
1. UNICODE: 32 · 2 = 64 bayt = 512 bit = 2⁹ bit ⇒ b, e.
2. ASCII: 32 · 1 = 32 bayt = 256 bit = 2⁸ bit ⇒ a, d.
“64 bit” (c) hiçbirine uymaz: 64 baytı 64 bitle karıştıranların cevabıdır.
Cevap: 1 – b, e; 2 – a, d.
Sözcükleri UNICODE hacmine göre seçiyoruz

Bir kelime işlemcide “Small steps lead to big results.” cümlesi yazılmış ve karakterler UNICODE’da kodlanmış. Aysel bilgi hacmi 80 bit olan bütün sözcükleri kalın, 64 bit olan sözcüğü ise italik yaptı. Hangi sözcükler kalın, hangisi italik oldu? (Nokta sözcüğe dahil değildir.)

Çözümü göster
UNICODE’da bir harf 16 bittir.
80 bit : 16 = 5 harf ⇒ Small ve steps kalın olur.
64 bit : 16 = 4 harf ⇒ lead italik olur.
Diğer sözcükler (to — 32 bit, big — 48 bit, results — 112 bit) değişmez.
32 karakterli alfabede sözcükler

32 karakterli bir alfabede kodlanmış sözcükleri bilgi hacimleriyle eşleştirin.
1. data
2. python
3. internet
a. 5 bayt
b. 30 bit
c. 20 bit
d. 2,5 bayt
e. 40 bit

Çözümü göster
32 = 2⁵ ⇒ bir karakter 5 bittir.
1. data: 4 · 5 = 20 bit = 2,5 bayt ⇒ c, d.
2. python: 6 · 5 = 30 bit ⇒ b.
3. internet: 8 · 5 = 40 bit = 5 bayt ⇒ a, e.
Cevap: 1 – c, d; 2 – b; 3 – a, e.
Python
s = "Small steps lead to big results."
print(len(s))                    # spaces and the dot included
print(len(s) * 8, len(s) * 16)   # bits in ASCII and in UNICODE
for w in ["Salam", "Gəncə", "Баку", "€"]:
    print(w, len(w.encode("utf-8")))   # real size in UTF-8, bytes
▸ Beklenen çıktı
32
256 512
Salam 5
Gəncə 7
Баку 8
€ 3
len(), boşluklar ve nokta dahil karakterleri sayar. Son satırlar UTF-8’deki gerçek boyutu gösterir: Gəncə sözcüğü 7 bayttır, çünkü içindeki iki ə harfinin her biri 2 bayt yer kaplar.

Belgeler, alfabenin gücü ve iletim

Birkaç sayfalık bir belgede karakter sayısı K = sayfa · satır · satırdaki karakter sayısıdır. Sınav sorularında sayılar genellikle ikinin kuvvetleridir (32 satır, 64 karakter), bu yüzden üslerle hesaplamak kolaydır. Tersine, hacim biliniyorsa karakter başına bit sayısı ve alfabenin gücü bulunabilir.

Belgenin hacmi

1) 16 sayfalık bir metnin her sayfasında 40 satır, her satırda 64 karakter var; metin UNICODE’da kodlanmış. Kaç KB’tır?
2) Bir metin UNICODE’dan ASCII’ye çevrildi ve hacmi 480 bayt azaldı. Metinde kaç karakter vardır?

Çözümü göster
1) K = 16 · 40 · 64 = 40.960 karakter; I = 40.960 · 2 = 81.920 bayt = 81.920 : 1024 = 80 KB.
Kısa yol: 16 · 64 = 2¹⁰, yani I = 40 · 2¹⁰ · 2 bayt = 80 KB.
2) Her karakter 2 bayttan 1 bayta indi, yani 1 bayt azaldı: 480 bayt : 1 bayt = 480 karakter.
i = I / K, N = 2ⁱi = I / K, N = 2ⁱ
burada:
  • ikarakter başına bit sayısı
  • Imetin kısmının hacmi (bit); resimlerin hacmi önce çıkarılır
  • Kkarakter sayısı
  • Nalfabenin gücü

Ters soruların anahtarı: önce metnin hacmini ayır, sonra karakter sayısına böl.

Belgeden alfabenin gücüne

20 sayfalık bir belgenin ilk 4 sayfasının her birinde yalnızca 16 KB’lık bir resim, diğer sayfaların her birinde ise 32 satırlık ve her satırı 64 karakterden oluşan bir metin var. Belgenin bilgi hacmi 88 KB’tır. Metnin yazıldığı alfabenin gücünü bulun.
A) 32 B) 64 C) 6 D) 128 E) 256

Çözümü göster
Resimler: 4 · 16 = 64 KB ⇒ metin: 88 − 64 = 24 KB = 24 · 2¹³ bit.
Metin sayfaları: 20 − 4 = 16 = 2⁴; K = 2⁴ · 2⁵ · 2⁶ = 2¹⁵ karakter.
i = 24 · 2¹³ : 2¹⁵ = 24 : 4 = 6 bit ⇒ N = 2⁶ = 64 (B).
C seçeneği i’nin kendisidir: soru i’yi değil, N’yi soruyor.

Bir metin iletişim kanalından gönderilirken “Bilginin ölçülmesi: bit, bayt ve birimler” dersindeki I = v · t formülü geçerlidir: metnin bit cinsinden hacmi = hız · süre.

Metnin kanaldan iletilmesi

1) Her sayfasında 60 karakter bulunan bir UNICODE metni, iletim hızı 48 bit/s olan bir kanaldan 5 dakikada iletiliyor. Metin kaç sayfadır?
2) 2 sayfalık bir ASCII metninin her sayfasında 30 satır, her satırda 64 karakter var. Metin 256 bit/s hızla kaç dakikada iletilir?

Çözümü göster
1) t = 5 · 60 = 300 s; I = v · t = 48 · 300 = 14.400 bit.
Bir sayfa: 60 · 16 = 960 bit ⇒ 14.400 : 960 = 15 sayfa.
2) I = 2 · 30 · 64 · 8 = 30.720 bit; t = 30.720 : 256 = 120 s = 2 dakika.
Alıştırma

s değişkeninde bir cümle var. Cümlenin UNICODE’daki (karakter başına 16 bit) bilgi hacmini bit olarak yazdırın.

Alıştırma · Python
s = "Bakı is the capital of Azerbaijan."
# print the UNICODE volume in bits
▸ Beklenen çıktı
544

Bir sonraki derste, “Bilgisayar grafiği: raster ve vektör görüntülerin kodlanması”, resimlerin nasıl kodlandığını öğreneceğiz; orada da N = 2ⁱ formülü temel rol oynar.

Önemli noktalar

  • Bir metin kodlanırken her karakter kod tablosundaki sayısıyla değiştirilir; ASCII’de “A” = 65, “a” = 97, boşluk = 32.
  • Bir karakter ASCII’de 1 bayt (8 bit), okul sorularında UNICODE’da ise 2 bayt (16 bit) yer kaplar.
  • Bir metnin boyutu hesaplanırken boşluklar, noktalama işaretleri ve rakamlar da sayılır.
  • N karakterli bir alfabede bir karakter i bittir (N = 2ⁱ): 64 karakter — 6 bit, 32 karakter — 5 bit.
  • Ters sorularda önce resimlerin hacmini çıkar, sonra i = I / K’yi bul ve N = 2ⁱ’yi hesapla.
  • Gerçek dosyalarda UTF-8 kullanılır: Latin harfi 1 bayt, ə ve Kiril harfleri 2 bayt, emojiler 4 bayt.

Kendini test et

12 soru. Her doğru cevap XP kazandırır.

1 / 12
DİM sorularında UNICODE kodlamasında bir karakter kaç bit yer kaplar?