Számok és karakterek ábrázolása Wettl Ferenc
2006. szeptember 14.
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
1 / 10
Tartalom
1
Kettes komplemens számábrázolás
2
ASCII ASCII kódtábla ISO-8859 8-bites szabványok Latin-2 kódkészletek
3
Unicode és ISO/IEC 10646 Latin tartományok UTF Unicode Transformation Format UTF-8
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
2 / 10
Kettes komplemens számábrázolás
Legfeljebb n-bites számokkal akarunk számolni. ( x ha x nem negatív, x= n 2 − |x| ha x negatív. A 2n − |x| kiszámítása n-bites szavak közti bitműveletekkel: |x| bitenkénti komplemense + 1, ugyanis 2n − |x| = (2n − 1) − |x| + 1 = 11 . . . 12 − |x| + 1. Mivel |x| = 2n − (2n − |x|), ezért x értékének meghatározása a bináris alakból ugyanígy történik, azaz ha az első bit egyes, |x| értéke a bináris alak komplemense + 1. A −1 alakja 11 . . . 12 . Példa legyen n = 4, x = −5: −5 → 16 − 5 → 11 = 10112 bitműveletekkel: x = −5 → |x| = 5 → 01012 → 10102 + 12 = 10112 Visszaalakítás: 10112 → 01002 + 12 = 01012 = 5, tehát x = −5.
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
3 / 10
ASCII
0 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ... 57 58
00
1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30
! " # $ % & ’ ( ) * + , . / 0
SPACE EXCLAMATION MARK QUOTATION MARK NUMBER SIGN DOLLAR SIGN PERCENT SIGN AMPERSAND APOSTROPHE LEFT PARENTHESIS RIGHT PARENTHESIS ASTERISK PLUS SIGN COMMA HYPHEN-MINUS FULL STOP SOLIDUS DIGIT ZERO
39 3A
9 :
DIGIT NINE COLON
Wettl Ferenc ()
ASCII kódtábla
59 60 61 62 63 64 65 ... 90 91 92 93 94 95 96 97 ... 122 123 124 125 126 127
3B 3C 3D 3E 3F 40 41
; < = > ? @ A
SEMICOLON LESS-THAN SIGN EQUALS SIGN GREATER-THAN SIGN QUESTION MARK COMMERCIAL AT LATIN CAPITAL LETTER A
5A 5B 5C 5D 5E 5F 60 61
Z [ \ ] ^ _ ‘ a
LATIN CAPITAL LETTER Z LEFT SQUARE BRACKET REVERSE SOLIDUS RIGHT SQUARE BRACKET CIRCUMFLEX ACCENT LOW LINE GRAVE ACCENT LATIN SMALL LETTER A
7A 7B 7C 7D 7E 7F
z { | } ~
LATIN SMALL LETTER Z LEFT CURLY BRACKET VERTICAL LINE RIGHT CURLY BRACKET TILDE
Számok és karakterek ábrázolása
2006. szeptember 14.
4 / 10
ASCII
ISO-8859 8-bites szabványok
1
ISO-8859-1 Latin1 (West European)
2
ISO-8859-2 Latin2 (East European)
3
ISO-8859-3 Latin3 (South European)
4
ISO-8859-4 Latin4 (North European)
5
ISO-8859-5 Cyrillic
6
ISO-8859-6 Arabic
7
ISO-8859-7 Greek
8
ISO-8859-8 Hebrew
9
ISO-8859-9 Latin5 (Turkish)
10
ISO-8859-10 Latin6 (Nordic)
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
5 / 10
ASCII
Latin-2 kódkészletek
ISO-8859-2, Microsoft CP1250 (Windows Latin2), CP852 (DOSLatin2) ISO-8859-1 ISO-8859-1 ISO-8859-1 ISO-8859-1 ISO-8859-1 ISO-8859-1 ISO-8859-2 ISO-8859-2 ISO-8859-2 ISO-8859-2 CP1250 CP1250 CP1250 CP1250 CP1250 CP1250 CP1250 CP1250 CP1250
C1 E1 D5 DB F5 FB D5 DB F5 FB 82 84 85 91 92 93 94 96 97
Wettl Ferenc ()
Á á Õ Û õ û Ő Ű ő ű , „ ... ‘ ’ “ ” – —
U+00C1 U+00E1 U+00D5 U+00DB U+00F5 U+00FB U+0150 U+0170 U+0151 U+0171 U+201A U+201E U+2026 U+2018 U+2019 U+201C U+201D U+2013 U+2014
LATIN CAPITAL LETTER A WITH ACUTE LATIN SMALL LETTER A WITH ACUTE LATIN CAPITAL LETTER O WITH TILDE LATIN CAPITAL LETTER U WITH CIRCUMFLEX LATIN SMALL LETTER O WITH TILDE LATIN SMALL LETTER U WITH CIRCUMFLEX LATIN CAPITAL LETTER O WITH DOUBLE ACUTE LATIN CAPITAL LETTER U WITH DOUBLE ACUTE LATIN SMALL LETTER O WITH DOUBLE ACUTE LATIN SMALL LETTER U WITH DOUBLE ACUTE SINGLE LOW-9 QUOTATION MARK DOUBLE LOW-9 QUOTATION MARK HORIZONTAL ELLIPSIS LEFT SINGLE QUOTATION MARK RIGHT SINGLE QUOTATION MARK LEFT DOUBLE QUOTATION MARK RIGHT DOUBLE QUOTATION MARK EN DASH EM DASH
Számok és karakterek ábrázolása
2006. szeptember 14.
6 / 10
Unicode és ISO/IEC 10646
Latin tartományok
U+0000 - U+007F ASCII U+0080 - U+00FF Latin-1 U+0100 - U+017F Latin Extended-A U+0180 - U+024F Latin Extended-B U+1E00 - U+1EFF Latin Extended
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
7 / 10
Unicode és ISO/IEC 10646
UTF Unicode Transformation Format
UTF-8 minden karakter kódja 8, 16 vagy 32-bites. UTF-16 minden karakter kódja 16 vagy 32-bites. UTF-32 minden karakter 32-bites.
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
8 / 10
Unicode és ISO/IEC 10646
Unicode U+0020 U+0030 U+0040 U+0041 U+0061 U+00C1 U+00C9 U+00CD U+00D3 U+00D6 U+00DA U+00DC U+00E1 U+00E9 U+00ED U+00F3 U+00F6 U+00FA U+00FC U+0150 U+0151 U+0170 U+0171
0 @ A a Á É Í Ó Ö Ú Ü á é í ó ö ú ü Ő ő Ű ű
UTF-8 20 30 40 41 61 c3 81 c3 89 c3 8d c3 93 c3 96 c3 9a c3 9c c3 a1 c3 a9 c3 ad c3 b3 c3 b6 c3 ba c3 bc c5 90 c5 91 c5 b0 c5 b1
Wettl Ferenc ()
UTF-8
a karakter hivatalos neve SPACE DIGIT ZERO COMMERCIAL AT LATIN CAPITAL LETTER A LATIN SMALL LETTER A LATIN CAPITAL LETTER A WITH ACUTE LATIN CAPITAL LETTER E WITH ACUTE LATIN CAPITAL LETTER I WITH ACUTE LATIN CAPITAL LETTER O WITH ACUTE LATIN CAPITAL LETTER O WITH DIAERESIS LATIN CAPITAL LETTER U WITH ACUTE LATIN CAPITAL LETTER U WITH DIAERESIS LATIN SMALL LETTER A WITH ACUTE LATIN SMALL LETTER E WITH ACUTE LATIN SMALL LETTER I WITH ACUTE LATIN SMALL LETTER O WITH ACUTE LATIN SMALL LETTER O WITH DIAERESIS LATIN SMALL LETTER U WITH ACUTE LATIN SMALL LETTER U WITH DIAERESIS LATIN CAPITAL LETTER O WITH DOUBLE ACUTE LATIN SMALL LETTER O WITH DOUBLE ACUTE LATIN CAPITAL LETTER U WITH DOUBLE ACUTE LATIN SMALL LETTER U WITH DOUBLE ACUTE Számok és karakterek ábrázolása
2006. szeptember 14.
9 / 10
Unicode és ISO/IEC 10646
Kódtartomány (darab) 000000-00007F (128) 000080-0007FF (1920) 000800-00FFFF (63488) 010000-10FFFF (1048576)
UTF-8
bináris alak 0zzzzzzz 00000yyy yyzzzzzz xxxxyyyy yyzzzzzz 000wwwxx xxxxyyyy yyzzzzzz
UTF-8 0zzzzzzz 110yyyyy 10zzzzzz 1110xxxx 10yyyyyy 10zzzzzz 11110www 10xxxxxx 10yyyyyy 10zzzzzz
Á 00C1→1100 0001→00011 000001→11000011 10000001→C3 81 Õ 00D5→1101 0101→00011 010101→11000011 10010101→C3 95 Ő 0150→0001 0101 0000→00101 010000→11000101 10010000→C5 90
Wettl Ferenc ()
Számok és karakterek ábrázolása
2006. szeptember 14.
10 / 10