Məzmuna keç
Educora
Orta8–10-cu sinif25 dəq11 / 59

Mətn informasiyasının kodlaşdırılması

Kompüter hərfləri necə ədədə çevirir: ASCII və UNICODE kod cədvəlləri, DİM-in şərtləri (ASCII — 1 bayt, UNICODE — 2 bayt, boşluqlar da sayılır), mətnin və sənədin həcmi, əlifbanın gücü və mətnin kanalla ötürülməsi — həll olunmuş imtahan tipli məsələlərlə.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • Kod cədvəlinin nə olduğunu izah etmək, ASCII kodları ilə sözləri kodlaşdırmaq və dekodlaşdırmaq
  • ASCII (1 bayt) və UNICODE (2 bayt) şərtləri ilə mətnin həcmini boşluqları və durğu işarələrini də sayaraq hesablamaq
  • Sənədin həcmindən əlifbanın gücünü, ötürmə şərtlərindən isə səhifələrin sayını tapmaq

Klaviaturada «Salam» yazanda kompüter hərfləri deyil, ədədləri yadda saxlayır: 83, 97, 108, 97, 109. Ekranda isə yenidən hərflər görünür, çünki proqram hər ədədə uyğun işarəni çəkir. Bəzən dostunun göndərdiyi mətndə «ə» əvəzinə «É™» kimi qəribə işarələr çıxır. Bu dərsdə kompüterin mətni necə kodlaşdırdığını və belə səhvlərin haradan yarandığını öyrənəcəyik.

«İnformasiyanın ölçülməsi: bit, bayt və vahidlər» dərsində I = K · i düsturunu öyrəndik, indi onu real mətnlərə tətbiq edəcəyik. Mövzu qəbul imtahanında tez-tez rast gəlinir: 2025–2026-cı illərin dörd qəbul imtahanında beş tapşırıq mətnin kodlaşdırılmasına aid idi (ASCII və UNICODE həcmləri, əlifbanın gücü, 64 simvollu əlifbada sözlər, UNICODE mətninin kanalla ötürülməsi), bir mətn emalı tapşırığında isə sözlər UNICODE həcminə görə seçilirdi.

Kod cədvəli: hər simvola bir ədəd

Tərif
Kodlaşdırma

İnformasiyanın bir işarələr sistemindən başqasına müəyyən qayda ilə çevrilməsi. Mətni kodlaşdırmaq — hər simvolu ikilik koda çevirmək deməkdir; əks əməliyyat dekodlaşdırma adlanır.

Tərif
Kod cədvəli

Hər simvola (hərfə, rəqəmə, durğu işarəsinə, boşluğa, xüsusi işarəyə) bir ədəd — kod — uyğun qoyan cədvəl. Mətni yazan və oxuyan proqramlar eyni cədvəldən istifadə etməlidir.

ASCII: bir simvol — bir bayt

ASCII (Amerika İnformasiya Mübadiləsi Standart Kodu) 1963-cü ildə yaradılıb. Onda 128 kod var (0–127): 0–31 idarəedici simvollardır (məsələn, yeni sətrə keçid), 32 — boşluq, 48–57 — rəqəmlər, 65–90 — böyük, 97–122 isə kiçik latın hərfləri. Kompüterdə hər ASCII simvolu 1 bayt (8 bit) tutur. 128–255 kodları milli hərflər üçün istifadə olunurdu: kiril hərfləri üçün Windows-1251 və KOI8-R, türk hərfləri üçün Windows-1254 cədvəlləri yaradıldı.

SimvolOnluq kodİkilik kod (1 bayt)
boşluq3200100000
04800110000
95700111001
A6501000001
B6601000010
Z9001011010
a9701100001
z12201111010
ASCII cədvəlinin bir hissəsi. Hərflər və rəqəmlər ardıcıl kodlara malikdir.
Kodlaşdırma və dekodlaşdırma

1) ASCII kodları 73 78 70 79 olan sözü tapın.
2) «A» hərfinin kodu 65-dir. «K» hərfinin kodu neçədir?
3) 01000010 01001001 01010100 ikilik kodları hansı sözü bildirir?
4) «d» hərfinin kodu 100-dür. «D» və «h» hərflərinin kodlarını tapın.

Həllini göstər
1) 73 − 65 = 8 ⇒ ingilis əlifbasının 9-cu hərfi, I; 78 ⇒ N; 70 ⇒ F; 79 ⇒ O. Söz: INFO.
2) K ingilis əlifbasının 11-ci hərfidir: 65 + 10 = 75.
3) 01000010 = 64 + 2 = 66 ⇒ B; 01001001 = 64 + 8 + 1 = 73 ⇒ I; 01010100 = 64 + 16 + 4 = 84 ⇒ T. Söz: BIT.
4) «D» = 100 − 32 = 68; «h» «d»-dən 4 hərf sonra gəlir: 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("ə"))
▸ Gözlənilən nəticə
[73, 78, 70, 79]
BIT
32 601
Python-da ord() simvolun kodunu, chr() isə koda uyğun simvolu verir. «ə» hərfinin kodu 601-dir: o, ASCII-də yoxdur, yalnız UNICODE-dadır.

UNICODE: bütün dillər bir cədvəldə

Müxtəlif ölkələrin 8 bitlik cədvəlləri bir-birinə uyğun gəlmirdi: eyni kod bir cədvəldə bir hərf, digərində başqa hərf idi. Buna görə 1991-ci ildə UNICODE standartı yaradıldı. Onda dünyanın bütün yazılarının hərflərinə, riyazi işarələrə və hətta emoji-lərə ayrıca nömrə verilir — bu gün 150 mindən çox simvol. İlk 128 kod ASCII ilə eynidir: «A» yenə 65-dir, «ə» hərfinin nömrəsi isə U+0259, yəni 601-dir.

Məktəb məsələlərində və DİM-in tapşırıqlarında «UNICODE» — hər simvol üçün 16 bit (2 bayt) deməkdir: 2¹⁶ = 65 536 müxtəlif simvol. Bu, UTF-16 kodlaşdırmasının əsas halına uyğundur. Real fayllarda və internetdə isə ən çox UTF-8 işlədilir: orada simvol 1-dən 4-ə qədər bayt tutur — latın hərfləri 1, Azərbaycan dilinin xüsusi hərfləri (ə, ş, ç, ğ, ı, ö, ü) və kiril hərfləri 2, € işarəsi və Çin heroqliflərinin çoxu 3, emoji isə 4 bayt.

KodlaşdırmaBir simvolSimvolların sayı
ASCII8 bit = 1 bayt2⁸ = 256 (standart ASCII — 128)
UNICODE (məktəb məsələlərində)16 bit = 2 bayt2¹⁶ = 65 536
UTF-81–4 baytbütün UNICODE simvolları
İmtahanda başqa şərt verilməyibsə: ASCII — 1 bayt, UNICODE — 2 bayt.
I = K · 8 bit (ASCII) I = K · 16 bit (UNICODE)
burada:
  • Imətnin informasiya həcmi
  • Kmətndəki bütün simvolların sayı: hərflər, rəqəmlər, boşluqlar, durğu işarələri

Bu, I = K · i düsturunun xüsusi halıdır: ASCII-də i = 8, UNICODE-da i = 16. Eyni mətn UNICODE-da ASCII-dəkindən 2 dəfə çox yer tutur.

  1. 1
    Hərfləri say

    Hər sözdəki hərfləri ayrıca say və topla.

  2. 2
    Boşluqları əlavə et

    Sözlər arasında bir boşluq varsa, boşluqların sayı = sözlərin sayı − 1.

  3. 3
    Durğu işarələrini unutma

    Nöqtə, vergül, sual və nida işarələri, dırnaqlar, tire, rəqəmlər — hamısı simvoldur.

  4. 4
    Vur və çevir

    K-nı 8 (ASCII) və ya 16 (UNICODE) bitə vur, sonra lazım olan vahidə keç.

Cümlənin həcmi: uyğunluq

Kodlaşdırma sistemləri ilə
Small steps lead to big results.
cümləsinin informasiya həcmi arasındakı uyğunluğu müəyyən edin (sözlər arasında bir boşluq var).
1. UNICODE
2. ASCII
a. 32 bayt
b. 2⁹ bit
c. 64 bit
d. 2⁸ bit
e. 64 bayt

Həllini göstər
Hərflər: Small (5) + steps (5) + lead (4) + to (2) + big (3) + results (7) = 26; boşluqlar: 6 söz − 1 = 5; nöqtə: 1. Cəmi K = 26 + 5 + 1 = 32 simvol.
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) heç birinə uyğun gəlmir: bu, 64 baytı 64 bitlə qarışdıranların cavabıdır.
Cavab: 1 – b, e; 2 – a, d.
Sözləri UNICODE həcminə görə seçirik

Mətn prosessorunda «Small steps lead to big results.» cümləsi yazılıb, simvollar UNICODE-da kodlaşdırılıb. Aysel informasiya həcmi 80 bit olan bütün sözləri qalın şriftlə, 64 bit olan sözü isə kursivlə yazdı. Hansı sözlər qalın, hansı söz kursiv oldu? (Nöqtə sözə aid deyil.)

Həllini göstər
UNICODE-da bir hərf 16 bitdir.
80 bit : 16 = 5 hərf ⇒ Small və steps qalın olur.
64 bit : 16 = 4 hərf ⇒ lead kursiv olur.
Qalan sözlər (to — 32 bit, big — 48 bit, results — 112 bit) dəyişmir.
32 simvollu əlifbada sözlər

32 simvollu əlifbada kodlaşdırılmış sözlər və onların informasiya həcmləri arasında uyğunluğu müəyyən edin.
1. data
2. python
3. internet
a. 5 bayt
b. 30 bit
c. 20 bit
d. 2,5 bayt
e. 40 bit

Həllini göstər
32 = 2⁵ ⇒ hər simvol 5 bitlə kodlaşdırılır.
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.
Cavab: 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
▸ Gözlənilən nəticə
32
256 512
Salam 5
Gəncə 7
Баку 8
€ 3
len() boşluqlar və nöqtə daxil olmaqla simvolları sayır. Son sətirlər UTF-8-də real ölçünü göstərir: «Gəncə» sözündəki iki «ə» hərfinin hər biri 2 bayt tutduğu üçün söz 7 baytdır.

Sənədlər, əlifbanın gücü və ötürmə

Səhifələrdən ibarət sənəddə simvolların sayı K = səhifələr · sətirlər · bir sətirdəki simvollardır. İmtahan məsələlərində ədədlər adətən 2-nin qüvvətləri olur (32 sətir, 64 simvol), ona görə hesablamanı üstlərlə aparmaq rahatdır. Əksinə, həcm məlumdursa, bir simvolun bitlərinin sayını və əlifbanın gücünü tapmaq olar.

Sənədin həcmi

1) 16 səhifəlik mətnin hər səhifəsində 40 sətir, hər sətirdə 64 simvol var. Mətn UNICODE-da kodlaşdırılıb. Həcmi neçə Kbaytdır?
2) Mətn UNICODE-dan ASCII-yə çevrildi və həcmi 480 bayt azaldı. Mətndə neçə simvol var?

Həllini göstər
1) K = 16 · 40 · 64 = 40 960 simvol; I = 40 960 · 2 = 81 920 bayt = 81 920 : 1024 = 80 Kbayt.
Qısa yol: 16 · 64 = 2¹⁰, deməli, I = 40 · 2¹⁰ · 2 bayt = 80 Kbayt.
2) Hər simvol 2 baytdan 1 bayta keçib, yəni 1 bayt azalıb: 480 bayt : 1 bayt = 480 simvol.
i = I / K, N = 2ⁱi = I / K, N = 2ⁱ
burada:
  • ibir simvolun bitlərinin sayı
  • Imətn hissəsinin həcmi (bit); şəkillərin həcmi əvvəlcə çıxılır
  • Ksimvolların sayı
  • Nəlifbanın gücü

Tərs məsələlərin açarı: əvvəlcə mətnin həcmini ayır, sonra simvolların sayına böl.

Sənəddən əlifbanın gücünə

20 səhifəlik sənədin ilk 4 səhifəsinin hər birində yalnız həcmi 16 Kbayt olan şəkil, qalan səhifələrin hər birində isə 32 sətir olmaqla hər sətirdə 64 simvoldan ibarət mətn var. Sənədin informasiya həcmi 88 Kbaytdır. Mətnin yazıldığı əlifbanın gücünü müəyyən edin.
A) 32 B) 64 C) 6 D) 128 E) 256

Həllini göstər
Şəkillər: 4 · 16 = 64 Kbayt ⇒ mətn: 88 − 64 = 24 Kbayt = 24 · 2¹³ bit.
Mətn səhifələri: 20 − 4 = 16 = 2⁴; K = 2⁴ · 2⁵ · 2⁶ = 2¹⁵ simvol.
i = 24 · 2¹³ : 2¹⁵ = 24 : 4 = 6 bit ⇒ N = 2⁶ = 64 (B).
C variantı i-nin özüdür: sual N haqqındadır, i haqqında deyil.

Mətn rabitə kanalı ilə ötürüləndə «İnformasiyanın ölçülməsi: bit, bayt və vahidlər» dərsindəki I = v · t düsturu işləyir: mətnin bitlə həcmi = sürət · vaxt.

Mətnin kanalla ötürülməsi

1) Hər səhifəsində 60 simvol olan UNICODE mətni ötürmə sürəti 48 bit/san olan kanalla 5 dəqiqəyə ötürülür. Mətn neçə səhifədir?
2) 2 səhifəlik ASCII mətninin hər səhifəsində 30 sətir, hər sətirdə 64 simvol var. Mətn 256 bit/san sürətlə neçə dəqiqəyə ötürülər?

Həllini göstər
1) t = 5 · 60 = 300 san; I = v · t = 48 · 300 = 14 400 bit.
Bir səhifə: 60 · 16 = 960 bit ⇒ 14 400 : 960 = 15 səhifə.
2) I = 2 · 30 · 64 · 8 = 30 720 bit; t = 30 720 : 256 = 120 san = 2 dəq.
Tapşırıq

s dəyişənində cümlə yazılıb. Onun UNICODE-da (hər simvol 16 bit) informasiya həcmini bitlə çap edin.

Tapşırıq · Python
s = "Bakı is the capital of Azerbaijan."
# print the UNICODE volume in bits
▸ Gözlənilən nəticə
544

Növbəti dərsdə — «Kompüter qrafikası: rastr və vektor təsvirlərin kodlaşdırılması» — şəkillərin necə kodlaşdırıldığını öyrənəcəyik; orada da N = 2ⁱ düsturu əsas rol oynayır.

Əsas fikirlər

  • Mətn kodlaşdırılanda hər simvol kod cədvəlindəki ədədlə əvəz olunur; ASCII-də «A» = 65, «a» = 97, boşluq = 32.
  • ASCII-də simvol 1 bayt (8 bit), məktəb məsələlərində UNICODE-da isə 2 bayt (16 bit) tutur.
  • Mətnin həcmini hesablayanda boşluqlar, durğu işarələri və rəqəmlər də sayılır.
  • N simvollu əlifbada bir simvol i bitdir (N = 2ⁱ): 64 simvol — 6 bit, 32 simvol — 5 bit.
  • Tərs məsələlərdə əvvəlcə şəkillərin həcmini çıx, sonra i = I / K tap və N = 2ⁱ hesabla.
  • Real fayllarda UTF-8 işlədilir: latın hərfi 1 bayt, ə və kiril hərfləri 2 bayt, emoji 4 bayt.

Özünü yoxla

12 sual. Hər düzgün cavab XP qazandırır.

1 / 12
DİM tapşırıqlarında UNICODE kodlaşdırmasında bir simvol neçə bit tutur?