Ascii таблица utf 8

В кодировке UTF-8 унаследованы однобайтные (точнее, 7-битные) коды символов ASCII-7 (коды от 0 до 127), т.е. одним байтом кодируются латинские буквы, цифры и специальные символы. Русские буквы (кириллица) представляются 16-битными (двухбайтными) кодами:

где X обозначены двоичные разряды для размещения кода символа в соответствии с таблицей UNICODE.

Юникод (англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки почти всех письменных языков. Представляемые в юникоде символы кодируются целыми числами без знака. Эти числа будем называть кодами символов в юникоде или просто UNICODE. Юникод имеет несколько форм представления символов в компьютере: UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). (Англ. Unicode transformation format — UTF).

Рассмотрим, как кодируется в UTF-8 буква Ж. Её UNICODE — 1046 10 или 0416 16 или 10000 010110 2. UNICODE в двоичном виде разбивается на две части: пять левых бит и шесть правых. Левая часть дополняется до байта признаком 110 двухбайтного кода UTF-8: 11010000. К правой части приписываются два бита 10 признака продолжения многобайтного кода: 10010110. Окончательно код буквы Ж в UTF-8 выглядит так:

11010000 10010110 2
или D0 96 16

Таким образом, русская буква кодируется дважды: сначала в 11-битный UNICODE, а затем — в 16-битный UTF-8.

БлогNot. Таблица кодов кириллицы в Unicode, UTF-8 и Windows-1251

Таблица кодов кириллицы в Unicode, UTF-8 и Windows-1251

Во-первых, напомню, что Юникод — не кодировка, а стандарт кодирования, кодировки — это UTF-8, UTF-16 и т.д., но, в силу инерции, разработчики и пользователи часто говорят о "кодировке Юникод", имея в виду распространённую именно в их деревне форму представления символов 🙂

Во-вторых, на самом деле кодирование там довольно замудрённое, возьмём, скажем русскую заглавную "Ж".

Представляемые в Юникоде символы кодируются целыми числами без знака, их можно называть "кодами символов Unicode".

Так, для буквы "Ж" Unicode = 104610 или 041616 или 10000 0101102. Unicode в двоичном виде разбивается на две части: пять левых бит и шесть правых. Левая часть в старших разрядах дополняется до байта признаком 110 двухбайтного кода UTF-8, получаем 11010000. К правой части в старших разрядах приписываются два бита 10 признака продолжения многобайтного кода, получаем 10010110. Окончательно код буквы "Ж" в UTF-8 будет иметь вид 11010000 100101102 или D0 9616.

Именно последний код мы увидим в любом 16-ричном вьюере файла, например, создав в текстовом редакторе файл со словом "Жора" и сохранив его в UTF-8 (только не из Блокнотика Windows, который добавит в начало файла 3-байтовую метку BOM):

То есть, каждая буква кодируется как бы дважды, сначала в 11-битный Unicode, затем в 16-битный UTF-8.

Ниже приведена таблица кодов кириллицы в Unicode, UTF-8 и однобайтовой кодировке Windows-1251.

СимволUnicodeUTF-8Windows-125116-ричн.10-тичн.16-ричн.10-тичн.А04101040D090208 144192Б04111041D091208 145193В04121042D092208 146194Г04131043D093208 147195Д04141044D094208 148196Е04151045D095208 149197Ж04161046D096208 150198З04171047D097208 151199И04181048D098208 152200Й04191049D099208 153201К041A1050D09A208 154202Л041B1051D09B208 155203М041C1052D09C208 156204Н041D1053D09D208 157205О041E1054D09E208 158206П041F1055D09F208 159207Р04201056D0A0208 160208С04211057D0A1208 161209Т04221058D0A2208 162210У04231059D0A3208 163211Ф04241060D0A4208 164212Х04251061D0A5208 165213Ц04261062D0A6208 166214Ч04271063D0A7208 167215Ш04281064D0A8208 168216Щ04291065D0A9208 169217Ъ042A1066D0AA208 170218Ы042B1067D0AB208 171219Ь042C1068D0AC208 172220Э042D1069D0AD208 173221Ю042E1070D0AE208 174222Я042F1071D0AF208 175223а04301072D0B0208 176224б04311073D0B1208 177225в04321074D0B2208 178226г04331075D0B3208 179227д04341076D0B4208 180228е04351077D0B5208 181229ж04361078D0B6208 182230з04371079D0B7208 183231и04381080D0B8208 184232й04391081D0B9208 185233к043A1082D0BA208 186234л043B1083D0BB208 187235м043C1084D0BC208 188236н043D1085D0BD208 189237о043E1086D0BE208 190238п043F1087D0BF208 191239р04401088D180209 128240с04411089D181209 129241т04421090D182209 130242у04431091D183209 131243ф04441092D184209 132244х04451093D185209 133245ц04461094D186209 134246ч04471095D187209 135247ш04481096D188209 136248щ04491097D189209 137249ъ044A1098D18A209 138250ы044B1099D18B209 139251ь044C1100D18C209 140252э044D1101D18D209 141253ю044E1102D18E209 142254я044F1103D18F209 143255СимволДвоичный код символаUTF-8 в двоичном видеUTF-8 в шестнадцатеричном виде$U+00241001000 010010024¢U+00A210 100010110 00010 10 100010C2 A2€U+20AC10 0000 10 1011001110 0010 10 000010 10 101100E2 82 AC��U+103481 0000 0011 01 00100011110 000 10 010000 10 001101 10 001000F0 90 8D 88

Маркер UTF-8 [ править | править код ]

Для указания, что файл или поток содержит символы Юникода, в начале файла или потока может быть вставлен маркер последовательности байтов (англ. Byte order mark, BOM ), который в случае кодирования в UTF-8 принимает форму трёх байтов: EF BB BF16 .

1-й байт2-й байт3-й байт
Двоичный код1110 11111011 10111011 1111
Шестнадцатеричный кодEFBBBF

Пятый и шестой байты [ править | править код ]

Изначально кодировка UTF-8 допускала использование до шести байтов для кодирования одного символа, однако в ноябре 2003 года стандарт RFC 3629 запретил использование пятого и шестого байтов, а диапазон кодируемых символов был ограничен символом U+10FFFF . Это было сделано для обеспечения совместимости с UTF-16.

«>

Оцените статью
Ремонт оргтехники
Добавить комментарий