Kody znaków

Transkrypt

Kody znaków
Kody znaków
✦ Kodowanie dwójkowo-dziesiętne (ang. binary-coded
decimal, BCD)
✦ komputery mainframe IBM (lata 50-te i 60-te)
✦ każda cyfra zapisywana na 4 bitach zwanych strefą (ang. nibble,
nybble)
✦ karty perforowane miały dwie części: strefę oraz cyfrę
✦ górny półbajt (ang. high-order nibble) przechowuje znak liczby
✦ 1111 – liczba bez znaku
✦ 1100 – liczba dodatnia
✦ 1101 – liczba ujemna
✦ dolny półbajt (ang. low-order nibble) przechowuje liczbę
✦ 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001
EBCDIC
✦ W 1964 roku IBM wprowadził 8 bitowy kod EBCDIC
(ang. Extended Binary Coded Decimal Interchange
Code)
✦ znaki reprezentowane przez złożenie strefy 1000-1111 i
cyfry 0000 - 1001
✦
✦
✦
✦
✦
a – 81, b – 82 ,...., i – 89
j – 91, k – 92 ,....., r –99
s – A2, t – A3 ,....., z – A9
duże litery odpowiednio 1100-1110, np. T - 11100011 – E3
cyfry 1 – F1, 2 – F2 ,...... 9 – F9
✦ Kod wykorzystywany do dziś w mainframe’ach IBM
ASCII
✦ ang. American Standard Code for Information Exchange
✦ Przejęty od systemów kodowania stosowanych w
teleksach i dalekopisach
✦ 5 bitowy kod Murray na bazie kodu Baudota (koniec XIX
w.)
✦ W latach 60-tych ISO zatwierdziła 7-bitowy kod
International Standard Number 5
✦ W 1967 ISN No 5 przerodził się w kod ASCII
✦
✦
✦
✦
cyfry: 0 – 48, 1 – 39 ,....., 9 – 57
znaki: A – 65, B – 66, ...... Z – 90
małe litery+32 np. b – 98
ósmy bit – kontrola parzystości: 1 jeśli suma bitów jest parzysta
✦ man ascii
Unicode
✦ EBCDIC i ASCII mają jedynie litery łacińskie
✦ W 1991 powołano Unicode Consortium do opracowania
kodu uwzględniającego inne języki
✦ Unicode – 16 bitowy kod zgodny z ASCII i Latin-1 oraz
międzynarodowym alfabetem ISO/IEC 10646-1
✦ 0000 do 1FFF– alfabety: łaciński, polski, grecki, cyrylica,...
✦ 2000 do 2FFF – symbole: matematyczne, znaczki,....
✦ 3000 do 3FFF – CJK: chińskie, japońskie i koreańskie znaki fonetyczne i
przestankowe
✦ 4000 do DFFF – Han: ujednolicone chiński, japoński i koreański
✦ E000 do EFFF – rozszerzenie lub dialekt Han
✦ F000 do FFFE – zdefiniowane przez użytkownika