
(Не писать, сбросить на мыло группы) Кодирование символов
Все символьные обозначения букв, цифр, специальных знаков и иероглифов на самом деле представляют собой битовые комбинации - различные сочетания битов. Так, например, из 8 битов, в различных комбинациях, теоретически может получиться 256 последовательностей, в свою очередь каждой из этих последовательностей присвоен символ, другими словами из 8 битов может получиться 256 символов. Каждому такому символу присваивается свой код и из них составляется таблица - кодировка символов. Соответственно таких таблиц может быть как минимум по одной на каждый из земных языков. На самом деле их гораздо больше, чем это нужно, все они были созданы в разное время, для различных платформ, и кодируются они не только при помощи 8 битов, но и 16 и даже 32.
Самым популярным из стандартов кодирования символов, в настоящий момент является стандарт ISO 646, созданный международной организацией стандартизации ISO, а точнее его первые 128 символов, которые кодировались при помощи 8 битов, но при этом первый бит всегда равнялся нулю. Ему было присвоено имя ASCII и иногда его еще называют 7-битовым стандартом. Он используется большинством компьютерных машин для написания символов латинского алфавита, а также для синтаксиса всех языков программирования и разметки, а также для всех типов данных.
Для поддержки языков, использующих в своем алфавите символы отличные от латинских, был использован восьмой бит байта, а это дало возможность добавить еще 128 дополнительных символов. Была создана серия кодировок ISO 8859, в которых первая часть - это 128 символов ASCII. Самая первая из них, ISO 8859-1, еще ее называют ISO Latin-1 или 8-битовой ASCII, содержит в себе практически все европейские нестандартные символы, а кодировка ISO 8859-5 является русской.
В свою очередь, организация Unicode Consortium создала на основе 16-битового кодирования одноименную кодировку, в которую решено было вместить 65536 символов, каждый весом в два байта. Первые 256 символов Unicode в точности соответствуют ISO 8859-1, а саму кодировку компьютерное сообщество признало и использует все чаще, и если основной кодировкой в HTML раньше считалась ISO 8859-1, то с появлением HTML 4.0, основной кодировкой стала Unicode.
Не желая останавливаться на достигнутом, ISO разработала новый, 32-битовый стандарт кодирования ISO 10646. Он совместим с Unicode, а также имеет несколько своих производных фоматов, одна из которых - формат UTF-8 внедрен в Windows.
Рассмотрим структуру таблицы ASCII. Для удобства символы в ней пронумерованы в шестнадцатеричной системе счисления от 0 - 7F. Первые знакоместа в таблице занимают непечатаемые символы (0 до 7F), затем следуют печатаемые символы (20 - 7F).
ТАБЛИЦА ASCII
Непечатаемые символы
Число |
Команда |
Значение |
0 |
NUL |
NULL |
1 |
SOH |
Start of Heading |
2 |
STX |
Start of Text |
3 |
ETX |
End of TeXt |
4 |
EOT |
End Of Transmission |
5 |
ENQ |
ENQurity |
6 |
ACK |
ACKnolidgement |
7 |
BEL |
BELl |
8 |
BS |
Back Space |
9 |
HT |
Horizontal Tab |
A |
LF |
Line Feed |
B |
VT |
Vertical Tab |
C |
FF |
From Feed |
D |
CR |
Carriage Return |
E |
SO |
Shift Out |
F |
Si |
Shift In |
10 |
DLE |
Data Link Escape |
11 |
DC1 |
Device Control 1 |
12 |
DC2 |
Device Control 2 |
13 |
DC3 |
Device Control 3 |
14 |
DC4 |
Device Control 4 |
15 |
NAK |
Negative ACKnolidgement |
16 |
SYN |
SYNcronous idle |
17 |
ETB |
End of Transmission Block |
18 |
CAN |
CANcel |
19 |
EM |
End of Medium |
1A |
SUB |
SUBstitude |
1B |
ESC |
ESCape |
1C |
FS |
File Separator |
1D |
GS |
Groupe Separator |
1E |
RS |
Record Separator |
1F |
DC1 |
Unit Separator |