Felhasználói eszközök

Eszközök a webhelyen


oktatas:szamitastechnika:karakterkodolas

< Számítástechnika

Karakterkódolás

  • Szerző: Sallai András
  • Copyright © 2012, Sallai András
  • Szerkesztve: 2012, 2014, 2015, 2017
  • Licenc: CC BY-SA 4.0

Bevezetés

Mivel a számítógép alapvetően számokkal dolgozik, ezért minden általunk használt írásjelnek meg kell feleltetni egy számot. Az írásjel-szám megfeleltetés így egy kódtáblát eredményez.

BCD

Binary Coded Decimal (BCD)

Binárisan kódolt decimális számok.

A BCD egy 4 bites sorozatot használ, amely számokat reprezentál.

Decimális 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Például 123 így van kódolva:

0001 0010 0011

Tárolt programú vezérlések időzítésénél előfordul.

A négyes csoportokat tetrádnak hívjuk, amely görögből származik és négyes csoportot jelent.

19-ig ábrázolhatjuk a számokat a következő formában:

BCD kódtáblázat
Decimális szám BCD kód Decimális szám BCD kód
0 0000 10 0001 0000
1 0001 11 0001 0001
2 0010 12 0001 0010
3 0011 13 0001 0011
4 0100 14 0001 0100
5 0101 15 0001 0101
6 0110 16 0001 0110
7 0111 17 0001 0111
8 1000 18 0001 1000
9 1001 19 0001 1001

Az összeadás szokásos művelet a BCD kódokkal. Ha összeadás esetén átvitel történik, akkor az eredmény négyeshez (terádhoz) hozzá kell adni 0110-át.

Adjuk össze 19 és 5 számokat.

0001 1001
0000 0101
_________
0001 1110
     0110
_________
0010 0100

A 0110 hozzáadásával korrigáltuk a számot.

EBCDIC

Extended Binary-Coded Decimal Interchange Code.

Binárisan kódolt decimális kódrendszer az ASCII-től függetlenül alakult ki. Az IBM által 1963 és 1964 között kialakított kódrendszer. Elsőként az IBM System/360 rendszeren használták. Az ASCII szabvány fő támogatója akkoriban az IBM, de nem volt megvalósított verziójuk.

Itt használták

  • IBM nagyszámítógépein
    • System/360
    • z/OS
    • OS/390
    • VM
    • VSE
  • IBM minikomputerein
    • OS/400
    • i5/OS

A binárisan kódolt decimális (BCD) kódrendszer kiterjesztéseként jött létre.

Jellemzője:

  • 8 bites, szemben a 7-bites ASCII-vel
  • számtalan változata létezik, országok nyelvéhez igazítva
  • néhány Kelet-Ázsiai ország a 2 byte-os megfelelőjét használja
    • japán
    • kínai
    • koreai

ASCII

7-bites ASCII

Az eredeti amerikai kódtábla, a számítógépek elterjedése előtt. Ebben az időben is 8-bittel dolgoztak, de a 8-dik bitet másra használták. Az angol betűk tárolásához a 7 bit teljességgel elég volt.

karakter decimálisan kód
NUL 0 0000000
a 97 1100001
b 98 1100010
c 99 1100011
d 100 1100100
e 101 1100101
~ 126 1111110
127 1111111

8-bites ASCII

A számítógépek elterjedése magával hozott egy problémát. A 7-bites ASCII kódtábla nem tartalmazott minden nyelvterületen használható betűket. Így használni kezdték a 8-dik bitet is.

A 8-bites ASCII-t minden nyelvterületen saját karaktereik leírására használták. Ilyen nyelvterületek:

  • Nyugat Európai
    • Szabvány: ISO-8859-1
    • Gyakran így említik: Latin 1
    • é, ü
    • dán, holland (részben), angol, feröeri,
    • finn (részben) francia (részben), német,
    • izlandi, ír, olasz, norvég, portugál,
    • réto-román, skót, spanyol, svéd, albán, afrikaans, szuahéli
  • Közép Európai
    • Szabvány: ISO-8859-2
    • Gyakran így említik: Latin 2
    • ő, ű
    • bosnyák, lengyel, horváth, cseh, szlovák, szlovén, magyar
  • 3 latin3
    • török, máltai, eszperantó
  • 4 latin4
    • észt, lett, litván, grönlandi, számi
  • 5 latin/cirill
    • cirill ábécé (belorusz, bolgár, macedon, orosz, szerb, ukrán)
  • 6 latin/arab
    • arab
  • 7 latin/görög
    • görög, ó-görög
  • 8 latin/héber
    • héber
  • 9 latin5 török
    • ritkán használt izlandi és török; kurd nyelv
  • 10 latin6 északi
    • a latin4 átrendezése
  • 11 latin1/thai
    • thai
  • 12
    • nem készült el
  • 13 latin7/balti római
    • balti római (a latin4-ből és a latin-6-ból hiányzó)
  • 14 latin8 kelta
    • kelta nyelvek (gail és breton)
  • 15 latin9
    • 8859-1 felülvizsgálata (€)
  • 16 latin10
    • Latin-10 délkelet-európai
    • albán, horvát, magyar, olasz, lengyel,
    • román, szlovén
    • finn, francia, német, ír (új írású)
karakter decimálisan kód
NUL 0 00000000
a 97 01100001
b 98 01100010
c 99 01100011
d 100 01100100
e 101 01100101
254 11111110
255 11111111

Unicode

Bevezetés

A Unicode kódolást azért hozták létre, mert minden nyelvterületen más és más kódolást használtak. Ha egyik nyelvterületről a másikra kellett adatokat küldeni, akkor mindig át kellett kódolni az adatokat. A Unicode kódolást úgy alkották meg, hogy a föld összes nyelvterületének betűit, ábráit lefedje.

A Unicodenak több megvalósítása is van. Ilyenek:

  • UTF-8 - A karakterek 1, 2, 3 vagy 4 bytes
  • UTF-16 - A karakterek 2 vagy 4 bytes
  • UTF-32 - Minden karakter 4 bytes, azaz 32 bit
  • stb.

A Unicode karakterek gyűjteménye:

UTF-8

Egy Unicode megvalósítás, változó bájthosszúságú kódolás. Hogy hány bájton tárolunk egy karaktert változó. Ha például csak az angol ábéc betűig használjuk, akkor 1 bájt. Magyar ékezetesek használata esetén 2 bájton tárolódnak a karakterek. A japán kara (üres) szó 3 bájton van tárolva.

A magyar ékezetesek

á 00e1
í 00ed
é 00e9
ö 00f6
ó 00f3
ü 00fc
ő 0151
ű 0171

Han írás

A következő unicode karakterek csak telepített fontkészlet mellett láthatók. Debian GNU/Linux alapú rendszereken például: apt install ttf-hanazono

üreskéz:

7a7a HTML: 31354
624b

Az írásjelek UTF-8 esetén 3 bytes, UTF-16 bytes esetén 2 bytes, UTF-32 esetén 4 byteson tárolódnak.

Linuxon unicodebevitel:

Ctrl + Shift + U

Ekkor megjelenik egy U betű aláhúzva. Ha nem jelenik meg, akkor az aktuális program nem támogatja. Az U betű után beírjuk a bevinni kívánt kódot.

Unicode beszúró más rendszerekre:

Az unicodeinput program, ha egyszer használtuk, nem záródik be, az Alt+Plusz billentyűvel érhető el.

Víz 6c34 UTF-16 és UTF-8 esetén 2 bytes
5165 bemenet
9580 kapu

Sumér-akkád ékírás

A következő karakterek 4 bájton tárolódnak utf-8 esetén is.

A sumér-akkád ékírás kódjai 12000–1236E és 12400–12473 között vannak (angolul: cuneiform).

írásjel kód
𒀀 12000
𒀁 12001
𒀂 12002
𒍮 1236E
𒐀 12400
𒐁 12401
𒑳 12473

Ha nincsenek telepítve az őskori fontok, akkor a fenti táblázatban csak négyzetek vannak. Ezért a következő ábrán kép formájában látjuk ugyanezt:

A megjelenítéshez Ancient Scripts Unicode fontkészlet szükséges. Ősköri fontok készlete.

Debian GNU/Linuxon, Ubuntun, LinuxMint rendszeren így telepíthető:

apt-get install ttf-ancient-fonts

Windowson kiindulásnak:

Magyar rovásírás

A magyar rovásírás betűit a következő kódpontokon érhetjük el: U+10C80 - U+10CFF

A következő karakterekhez szükség van megfelelő fontokra:

𐲀𐲁

Szükséges fontok:

Még néhány Unicode lehetőség

Az írás mellett többféle szimbólum is megjeleníthető a Unicode segítségével. Néhány példa:

☉ ☿ ♀ ♁ ☽ ♂ ♃ ♄ ⛢ ♆ ♇
⛈ ⛅ ☼
🍏 🍔 🍷 🍅
 𝄞♩ ♩ ♩ ♪ 𝄽 ♫ ♫ ♫ ♬ 𝅘𝅥𝅯 𝅗𝅥
☠ ☢ ☣ ☤
♖ ♘ ♗ ♔ ♕ ♗ ♘ ♖
♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙




♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟
♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜
⚽ ⚾ ⛷ 🏃
  • ⬭ 2b2d eilipszis
  • △ 25b3 háromszög
  • ⊿ 22bf derékszögű háromszög
  • ⬜ 2b1c négyzet
  • ▭ 25Ad téglalap
  • ♢ 2662 rombusz
  • ⬠ 2b20 pentagon
  • ⬡ 2b21 hexagon
  • ○ 25cb kör
  • 𓅓 U+13153 egyiptomi hieroglif m hang, madár; mondat végét jelző jel
𓀆 𓀏 𓂡 𓀒 𓀐 
𓀗 𓀙 𓀝 𓀭 𓀾 𓂝
𓇖 𓇌 𓆲
𓅓
√ ∛ ✗ ✘ ✓✔
⚀ ⚁ ⚂ ⚃ ⚄ ⚅

Alapértelmezett kódolások

Operációs rendszer Alapértelemezett kódolás
Western Latin Cyrillic magyar
Modern Unices (*BSD, Mac OS X, GNU/Linux) utf-8 utf-8 utf-8
Mac (OS X előtt) applemac maccyr ?
Unix (régi) latin1 koi8-ru latin2
Windows ansinew, cp1252 cp1251 cp1250
DOS, OS/2 cp850 cp866nav cp852
régi DOS cp437

A magyar ékezethelyesség ellenőrzésére kitalált mondatok

  • árvíztűrő tükörfúrógép
  • Kázmér füstölgő fűnyírót húz
  • öt szép szűzlány őrült írót nyúz
  • tüskés hátú kígyóbűvölő

Linkek

oktatas/szamitastechnika/karakterkodolas.txt · Utolsó módosítás: 2023/08/04 22:50 szerkesztette: admin