Таблицы кодов символов ascii и unicode
Каждый компьютер имеет свой набор символов, который он реализует. Такой набор содержит 26 заглавных и строчных букв, цифры и специальные символы (точка, пробел и тд). Символы при переводе в целые числа имеют название кодами. Были разработаны стандарты, что бы компьютеры имели одинаковые наборы кодов.
Стандарт ASCII
ASCII (American Standart Code for Inmormation Interchange) — американский стандартный код для обмена информацией. Каждый символ ASCII имеет 7 битов, поэтому максимальное число символов — 128 (таблица 1). Коды от 0 до 1F являются управляющими символами, которые не печатаются. Множество непечатных символов ASCII нужны для передачи данных. К примеру послание может состоять из символа начала заголовка SOH, самого заголовка и символа начала текста STX, самого текста и символа конца текста ETX, и символ конца передачи EOT. Однако данные по сети передаются в пакетах, которые сами отвечают за начало передачи и конец. Так что непечатные символы почти не используются.
Таблица 1 — таблица кодов ASCII
Число Команда Значение Число Команда Значение 0 NUL Пустой указатель 10 DLE Выход из системы передачи 1 SOH начало заголовка 11 DC1 Управление устройством 2 STX Начало текста 12 DC2 Управление устройством 3 ETX Конец текста 13 DC3 Управление устройством 4 EOT Конец передачи 14 DC4 Управление устройством 5 ACK Запрос 15 NAK Неподтверждение приема 6 BEL Подтверждение приема 16 SYN Простой 7 BS Символ звонка 17 ETB Конец блока передачи 8 HT Отступ назад 18 CAN Отмета 9 LF Горизонтальная табуляция 19 EM Конец носителя A VT Перевод строки 1A SUB Подстрочный индекс B FF Вертикальная табуляция 1B ESC Выход C CR Перевод страницы 1C FS Разделитель файлов D SO Возврат каретки 1D GS Разделитель группы E SI Переключение на дополнительный регистр 1E RS Разделитель записи SI Переключение на стандартный регистр 1F US Разделитель модуля Число Символ Число Символ Число Символ Число Символ Число Символ Число Символ 20 пробел 30 0 40 @ 50 P 60 . 70 p 21 ! 31 1 41 A 51 Q 61 a 71 q 22 ‘ 32 2 42 B 52 R 62 b 72 r 23 # 33 3 43 C 53 S 63 c 73 s 24 φ 34 4 44 D 54 T 64 d 74 t 25 % 35 5 45 E 55 И 65 e 75 и 26 & 36 6 46 F 56 V 66 f 76 v 27 ‘ 37 7 47 G 57 W 67 g 77 w 28 ( 38 8 48 H 58 X 68 h 78 x 29 ) 39 9 49 I 59 Y 69 i 70 y 2A ‘ 3A ; 4A J 5A Z 6A j 7A z 2B + 3B ; 4B K 5B [ 6B k 7B 2E 3E > 4E N 5E — 6E n 7E
Стандарт Unicode
Предыдущая кодировка отлично подходит для английского языка, однако для других языков она не удобная. К примеру в немецком языке есть умляуты, а в французском надстрочные знаки. Некоторые языки имеют совершенно разные алфавиты. Первой попыткой расширения ASCII был IS646, который расширял предыдущую кодировку еще на 128 символов. Добавлены были латинские буквы со штрихами и диакритическими знаками, и получил название — Latin 1. Следующая попытка была IS 8859 — которые содержал кодовую страницу. Были еще попытки расширений, но это все было не универсальным. Была создана кодировка UNICODE (is 10646). Идея кодировка в том, что бы приписать каждому символу единое постоянное 16-битное значение, которое называется — указателем кода. Всего получается 65536 указателей. Для экономии места использовали Latin-1 для кодов 0 -255, легко изменяя ASII в UNICODE. Такой стандарт решил много проблем, однако не все. В связи с поступлением новых слов, к примеру для японского языка нужно увеличивать количество терминов где-то на 20 тыс. Также нужно включить шрифт брайля.