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