Теория:

Нажатие любой алфавитно-цифровой клавиши на клавиатуре приводит к тому, что в компьютер посылается сигнал в виде двоичного числа, представляющего собой одно из значений кодовой таблицы.
Кодовая таблица — это внутреннее представление символов в компьютере.
В качестве стандарта долгое время использовалась таблица \(ASCII \)(\(A\)merican \(S\)tandard \(C\)ode for \(I\)nformational \(I\)nterchange — Американский стандартный код информационного обмена).
 
Для хранения двоичного кода одного символа выделен \(1\) байт \(=\) \(8 \)бит. Учитывая, что каждый бит принимает значение \(1\) или \(0\), количество возможных сочетаний единиц и нулей равно 28 = 256.
Значит, с помощью \(1\) байта можно получить \(256\) разных двоичных кодовых комбинаций и отобразить с их помощью \(256\) различных символов.
Эти коды и составляют таблицу \(ASCII\).
 
Для сокращения записи и удобства пользования этими кодами символов в таблице используют шестнадцатеричную систему счисления, состоящую из \(16\) символов — \(10\) цифр и \(6\) латинских букв: \(A\), \(B\), \(C\), \(D\), \(E\), \(F\). При кодировании символов сначала записывается цифра столбца, а затем строки, на пересечении которых находится данный символ.
ASCII-коды
53305_html_4377f1e5.png
 
Например, латинская буква \(S\) в таблице \(ASCII\) представлена шестнадцатеричным кодом — \(53\). При нажатии клавиши с буквой \(S\) в память компьютера записывается код \(01010011\), представляющий собой двоичный эквивалент шестнадцатеричного числа \(53\). Этот код может быть получен путем замены каждой шестнадцатеричной цифры её двоичным представлением. В данном случае цифра \(5\) заменена кодом \(0101\), а цифра 3 — кодом \(0011\). При выводе буквы \(S\) на экран, компьютер выполняет декодирование: на основании этого двоичного кода строится изображение символа.
 
Обрати внимание!
Любой символ в таблице \(ASCII\) кодируется с помощью \(8\) двоичных разрядов или \(2\) шестнадцатеричных разрядов.
Стандарт \(ASCII\) кодирует первые \(128 \)символов от \(0\) до \(127\): цифры, буквы латинского алфавита, управляющие символы. Таблица выше отображает кодировку символов в шестнадцатеричной системе счисления.
 
Первые \(32\) символа являются управляющими и предназначены в основном для передачи команд управления. Их назначение может варьироваться в зависимости от программных и аппаратных средств. Вторая половина кодовой таблицы (от \(128\) до \(255\)) американским стандартом не определена и предназначена для символов национальных алфавитов, псевдографических и некоторых математических символов. В разных странах могут использоваться различные варианты второй половины кодовой таблицы.
 
Обрати внимание!
Цифры кодируются по стандарту \(ASCII \)в двух случаях: при вводе-выводе и когда они встречаются в тексте. Если цифры участвуют в вычислениях, то осуществляется их преобразование в двоичный код в соответствии с правилами (см. здесь).
Для сравнения рассмотрим число \(45\) для двух вариантов кодирования.

При использовании в тексте это число потребует для своего представления \(2\) байта, поскольку каждая цифра будет представлена своим кодом в соответствии с таблицей \(ASCII\). В шестнадцатеричной системе код будет выглядеть как \(3435\), в двоичной системе — \(00110100 00110101\).
 
При использовании в вычислениях код этого числа будет получен по специальным правилам перевода и представлен в виде \(8\)-разрядного двоичного числа \(00101101\), на что потребуется \(1\) байт.
 
В настоящее время широко распространен код \(Unicode\). Эта кодировка поддерживается в большинстве операционных систем, во всех современных браузерах и многих программах.
 
Стандарт \(Unicode\) явился результатом сотрудничества Международной организации по стандартизации (\(ISO\)) с ведущими производителями компьютеров и программного обеспечения. В мире существует \(6700\) живых языков, но только \(50\) из них являются официальными языками государств. Письменностей используется около \(25\), что делает возможным создание универсального стандарта.
 
Для кодирования этих письменностей достаточно \(16\)-битового диапазона (\(2\) байта на символ), то есть диапазона от \(0000\) до \(FFFF\). Стандарт \(ASCII\) занимает в кодовом пространстве свое почетное место в диапазоне от \(0000\) до \(00FF\).
 
Каждой письменности выделен свой блок кодов. На сегодняшний день кодирование всех живых официальных письменностей считается завершенным: распределено около \(29000\) позиций из \(65535\) возможных.
Кодовая таблица Unicode
 cyrillic.jpg
 
В последнее время консорциум \(Unicode\) приступил к кодированию остальных письменностей нашей планеты, которые представляют какой-либо интерес: письменности мёртвых языков, выпавших из современного обихода, китайские иероглифы, искусственно созданные алфавиты и т. п.
 
Для представления такого разнообразия языков \(16\)-битового кодирования уже недостаточно, и сегодня \(Unicode\) уже приступил к освоению \(21\)-битового пространства кодов (\(000000\)-\(10FFFF\)), которое разбито на \(16\) зон, названных плоскостями.