19.12.13
23.9K
Для того, чтобы грамотно использовать ASCII
, необходимо расширить знания в данной сфере и о возможностях кодирования.
Что это такое?
ASCII
представляет собой кодировочную таблицу печатных символов (см. скриншот №1), набираемых на компьютерной клавиатуре, для передачи информации и некоторых кодов. Иными словами происходит кодирование алфавита и десятичных цифр в соответствующие символы, представляющие и несущие в себе необходимую информацию.
Кодировка ASCII
была разработана в Америке, поэтому стандартная кодировочная таблица обычно включает в себя английский алфавит с цифрами, что в общей сложности составляет около 128 символов. Но тогда возникает справедливый вопрос: что делать, если необходима кодировка национального алфавита?
Для решения подобных вопросов были разработаны другие версии таблицы ASCII
. Например, для языков с иноязычной структурой были или убраны буквы английского алфавита, или к ним добавлялись дополнительные символы в виде национального алфавита. Так, в кодировке ASCII
могут присутствовать русские буквы для национального использования (см. скриншот №2).
Где применяется система кодировки ASCII?
Данная кодировочная система необходима не только для набора текстовой информации на клавиатуре. Она также используется в графике. Например, в программе ASCII Art Maker
графические изображения различных расширений состоят из спектра символов кодировки ASCII
(см. скриншот №3).
Как правило, подобные программы можно разделить на те, что выполняют функцию графических редакторов, инвертируя изображение в текст, и на те, что конвертируют изображение в ASCII
-графику. Всем известный смайлик (или как его еще называют «улыбающееся человеческое лицо
») тоже является примером кодировочного символа.
Данный метод кодировки также может быть востребован во время написания или создания документа HTML. Например, вы вводите определённый и необходимый вам набор знаков, а при просмотре самой страницы на экран будет выведен символ, соответствующий данному коду.
Кроме всего прочего данный вид кодировки необходим при создании многоязычного сайта, потому что знаки, которые не входят в ту или иную национальную таблицу, нужно будет заменить ASCII
кодами. Если читатель непосредственно связан с информационно-коммуникативными технологиями (ИКТ), то ему будет полезно ознакомиться и с такими системами как:
Переносимый набор символов;
Управляющие символы;
EBCDIC;
VISCII;
YUSCII;
Юникод;
ASCII art;
КОИ-8.
Свойства таблицы ASCII
Как и любая систематизированная программа, ASCII
обладает своими характерными свойствами. Так, например, десятеричная система исчисления (цифры от 0 до 9) преобразуется в двоичную систему исчисления (т.е. каждая десятеричная цифра преобразуется в двоичную 288=1001000 соответственно).
Буквы, располагающиеся в верхних и нижних колонках, отличаются друг от друга лишь битом, что существенно снижает уровень сложности проверки и редактирование регистра.
При всех этих свойствах кодировка ASCII
работает как восьми битная, хотя изначально предусматривалась как семи битная.
Применение ASCII
в программах Microsoft Office:
В случае необходимости данный вариант кодирования информации может быть использован в Microsoft Notepad и Microsoft Office Word. В рамках этих приложений документ может быть сохранен в формате ASCII
, но в этом случае при наборе текста невозможно будет использование некоторых функций.
В компьютере понимается процесс ее преобразования в форму, позволяющую организовать более удобную передачу, хранение или автоматическую переработку этих данных. С этой целью используются различные таблицы. Кодировка ASCII — это первая система, разработанная в Соединенных Штатах для работы с англоязычным текстом, которая получила впоследствии распространение во всем мире. Ее описанию, особенностям, свойствам и дальнейшему использованию посвящена статья, представленная ниже.
Отображение и хранение информации в ЭВМ
Символы на мониторе компьютера или того или иного мобильного цифрового гаджета формируются на основе наборов векторных форм всевозможных знаков и кода, позволяющего найти среди них тот символ, который необходимо вставить в нужное место. Он представляет собой последовательностей бит. Таким образом, каждому символу должен однозначно соответствовать набор нулей и единиц, которые стоят в определенном, уникальном порядке.
Как все начиналось
Исторически сложилось так, что первые ЭВМ были англоязычными. Для кодирования символьной информации в них было достаточно использовать всего лишь 7 бит памяти, тогда как для этой цели выделялся 1 байт, состоящий из 8 битов. Количество знаков, понимаемых компьютером в таком случае, было равно 128. В число таких символов входили английский алфавит с его знаками препинания, числа и некоторые специальные символы. Англоязычная семибитная кодировка с соответствующей таблицей (кодовой страницей), разработанная в 1963 году, была названа American Standard Code for Information Interchange. Обычно для ее обозначения использовалась и используется и по сей день аббревиатура «Кодировка ASCII».
Переход к мультиязычности
Со временем компьютеры стали широко использоваться и в неанглоговорящих странах. В связи с этим появилась нужда в кодировках, позволяющих использовать национальные языки. Было решено не изобретать велосипед, и взять за основу ASCII. Таблица кодировки в новой редакции значительно расширилась. Использование 8-го бита позволило переводить на компьютерный язык уже 256 символов.
![](https://i0.wp.com/syl.ru/misc/i/ai/323207/1849328.jpg)
Описание
Кодировка ASCII имеет таблицу, которая делится на 2 части. Общепринятым международным стандартом принято считать лишь ее первую половину. В нее входят:
- Символы с порядковыми номерами от 0 до 31, кодируемые последовательностями от 00000000 до 00011111. Они отведены для управляющих символов, которые руководят процессом вывода текста на экран или принтер, подачей звукового сигнала и т. п.
- Символы с NN в таблице от 32 до 127, кодируемые последовательностями от 00100000 до 01111111 составляют стандартную часть таблицы. В их число входят пробел (N 32), буквы латинского алфавита (строчные и прописные), десятизначные цифры от 0 до 9, знаки препинания, скобки разного начертания и другие символы.
- Символы с порядковыми номерами от 128 до 255, кодируемые последовательностями от 10000000 до 11111111. В их число включены буквы национальных алфавитов, отличные от латинского. Именно эта альтернативная часть таблицы кодировка ASCII используется для преобразования в компьютерную форму русских символов.
![](https://i2.wp.com/syl.ru/misc/i/ai/323207/1849318.jpg)
Некоторые свойства
К особенностям кодировки ASCII относится отличие букв «A» - «Z» нижнего и верхнего регистров только одним битом. Это обстоятельство значительно упрощает преобразование регистра, а также его проверку на принадлежность к заданному диапазону значений. Кроме того, все буквы в системае кодировки ASCII представляются собственными порядковыми номерами в алфавите, которые записаны 5 цифрами в двоичной системе счисления, перед которыми для букв нижнего регистра стоит 011 2 , а верхнего — 010 2 .
К числу особенностей кодировки ASCII можно причислить и представление 10 цифр - «0»-«9». Во второй системе счисления они начинаются с 00112, а заканчиваются 2-ми значениями чисел. Так, 0101 2 эквивалентно десятичному числу пять, поэтому символ «5» записывается как 0011 01012. Опираясь на сказанное, можно легко преобразовать двоично-десятичные числа в строку в кодировке ASCII посредством добавления слева битовой последовательности 00112 к каждому полубайту.
![](https://i2.wp.com/syl.ru/misc/i/ai/323207/1849331.jpg)
"Юникод"
Как известно, для отображения текстов на языках группы юго-восточной Азии требуются тысячи знаков. Такое их количество никак не описывается в одном байте информации, поэтому даже расширенные версии ASCII уже не могли удовлетворять возросшие потребности пользователей из разных стран.
Так, возникла необходимость создания универсальной кодировки текста, разработкой которой при сотрудничестве со многими лидерами мировой IT-индустрии занялся консорциум "Юникод". Его специалистами была создана система UTF 32. В ней для кодирования 1 символа выделялось 32 бита, составляющих 4 байта информации. Главным недостатком было резкое увеличение объема необходимой памяти в целых 4 раза, что влекло за собой множество проблем.
В то же время для большинства стран с официальными языками, относящимися к индоевропейской группе, количество знаков, равное 2 32 , является более чем избыточным.
В результате дальнейшей работы специалистов из консорциума "Юникод" появилась кодировка UTF-16. Она стала тем вариантом преобразования символьной информации, которая устроила всех как по объему требуемой памяти, так и по числу кодируемых символов. Именно поэтому UTF-16 была принята по умолчанию и в ней для одного знака требуется зарезервировать 2 байта.
Даже эта достаточно продвинутая и удачная версия "Юникода" имела некоторые недостатки, и после перехода от расширенной версии ASCII к UTF-16 увеличивала вес документа в два раза.
В связи с этим было решено использовать кодировку переменной длины UTF-8. В таком случае каждый символ исходного текста кодируется последовательностью длиной от 1 до 6 байт.
![](https://i2.wp.com/syl.ru/misc/i/ai/323207/1849905.jpg)
Связь с American standard code for information interchange
Все знаки латинского алфавита в UTF-8 переменной длины кодируются в 1 байт, как в системе кодировки ASCII.
Особенностью ЮТФ-8 является то, что в случае текста на латинице без использования других символов, даже программы, не понимающие "Юникод", все равно позволят его прочитать. Иными словами, базовая часть кодировки текста ASCII просто переходит в состав новой UTF переменной длины. Кириллические знаки в ЮТФ-8 занимают 2 байта, а, например, грузинские — 3 байта. Созданием UTF-16 и 8 была решена основная проблема создания единого кодового пространства в шрифтах. С тех пор производителям шрифтов остается только заполнять таблицу векторными формами символов текста исходя из своих потребностей.
В различных операционных системах предпочтение отдается различным кодировкам. Чтобы иметь возможность читать и редактировать тексты, набранные в другой кодировке, применяются программы перекодировки русского текста. Некоторые текстовые редакторы содержат встроенные перекодировщики и позволяют читать текст вне зависимости от кодировки.
![](https://i2.wp.com/syl.ru/misc/i/ai/323207/1849364.jpg)
Теперь вы знаете, сколько символов в кодировке ASCII и, как и почему она была разработана. Конечно, сегодня наибольшее распространение в мире получил стандарт "Юникод". Однако нельзя забывать, что он создан на базе ASCII, поэтому следует по достоинству оценивать вклад его разработчиков в сферу IT.
Наложение символов
Благодаря символу BS (возврат на шаг) на принтере можно печатать один символ поверх другого. В ASCII было предусмотрено добавление таким образом диакритики к буквам, например:
- a BS " → á
- a BS ` → à
- a BS ^ → â
- o BS / → ø
- c BS , → ç
- n BS ~ → ñ
Примечание
: в старых шрифтах апостроф " рисовался с наклоном влево, а тильда ~ была сдвинута вверх, так что они как раз подходили на роль акута и тильды сверху.
Если на символ накладывается тот же символ, то получается эффект жирного шрифта, а если на символ накладывается подчёркивание, то получается подчёркнутый текст.
Примечание
: это используется, например, в справочной системе man .
Национальные варианты ASCII
Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения национальных символов на месте @ [ \ ] ^ ` { | } ~
. В дополнение к этому, на месте #
может быть размещён £
, а на месте $
- ¤
. Такая система хорошо подходит для европейских языков, где нужны лишь несколько дополнительных символов. Вариант ASCII без национальных символов называется US-ASCII, или «International Reference Version».
Впоследствии оказалось удобнее использовать 8-битные кодировки (кодовые страницы), где нижнюю половину кодовой таблицы (0-127) занимают символы US-ASCII, а верхнюю (128-255) - дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII до повсеместного внедрения Юникода активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8 , Windows-1251 и другие). Другие языки с нелатинской письменностью тоже страдали из-за наличия нескольких разных кодировок.
.0
.1
.2
.3
.4
.5
.6
.7
.8
.9
.A
.B
.C
.D
.E
.F
0.
NUL
|
SOM
|
EOA
|
EOM
|
EQT
|
WRU
|
RU
|
BELL
|
BKSP
|
HT
|
LF
|
VT
|
FF
|
CR
|
SO
|
SI
|
1.
DC 0
|
DC 1
|
DC 2
|
DC 3
|
DC 4
|
ERR
|
SYNC
|
LEM
|
S 0
|
S 1
|
S 2
|
S 3
|
S 4
|
S 5
|
S 6
|
S 7
|
2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.
BLANK
|
!
|
"
|
#
|
$
|
%
|
&
|
"
|
( |
)
|
*
|
+
|
,
|
-
|
.
|
/
|
5.
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
:
|
;
|
<
|
=
|
>
|
?
|
6.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A.
@
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
B.
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
[
|
\
|
]
|
|
←
|
C.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E.
|
a
|
b
|
c
|
d
|
e
|
f
|
g
|
h
|
i
|
j
|
k
|
l
|
m
|
n
|
o
|
F.
p
|
q
|
r
|
s
|
t
|
u
|
v
|
w
|
x
|
y
|
z
|
|
|
|
ESC
|
DEL
|
На тех компьютерах, где минимально адресуемой единицей памяти было 36-битное слово, поначалу использовали 6-битные символы (1 слово = 6 символов). После перехода на ASCII на таких компьютерах в одном слове стали размещать либо 5 семибитных символов (1 бит оставался лишним), либо 4 девятибитных символа.
ASCII-коды используются также для определения нажатой клавиши при программировании. Для стандартной QWERTY-клавиатуры таблица кодов выглядит следующим образом:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Excel для Office 365
Word для Office 365
Outlook для Office 365
PowerPoint для Office 365
Publisher для Office 365
Excel 2019
Word 2019
Outlook 2019
PowerPoint 2019
OneNote 2016
Publisher 2019
Visio профессиональный 2019
Visio стандартный 2019
Excel 2016
Word 2016
Outlook 2016
PowerPoint 2016
OneNote 2013
Publisher 2016
Visio 2013
Visio профессиональный 2016
Visio стандартный 2016
Excel 2013
Word 2013
Outlook 2013
PowerPoint 2013
Publisher 2013
Excel 2010
Word 2010
Outlook 2010
PowerPoint 2010
OneNote 2010
Publisher 2010
Visio 2010
Excel 2007
Word 2007
Outlook 2007
PowerPoint 2007
Publisher 2007
Access 2007
Visio 2007
OneNote 2007
Office 2010
Visio Стандартный 2007
Visio стандартный 2010
Меньше
В этой статье
Вставка символа ASCII или Юникода в документ
Если вам нужно ввести только несколько специальных знаков или символов, можно использовать или сочетания клавиш. Список символов ASCII см. в следующих таблицах или статье Вставка букв национальных алфавитов с помощью сочетаний клавиш .
Примечания:
Вставка символов ASCII
Чтобы вставить символ ASCII, нажмите и удерживайте клавишу ALT, вводя код символа. Например, чтобы вставить символ градуса (º), нажмите и удерживайте клавишу ALT, затем введите 0176 на цифровой клавиатуре.
Для ввода чисел используйте цифровую клавиатуру
, а не цифры на основной клавиатуре. Если на цифровой клавиатуре необходимо ввести цифры, убедитесь, что включен индикатор NUM LOCK.
Вставка символов Юникода
Чтобы вставить символ Юникода, введите код символа, затем последовательно нажмите клавиши ALT и X. Например, чтобы вставить символ доллара ($), введите 0024 и последовательно нажмите клавиши ALT и X. Все коды символов Юникода см. в .
Важно:
Некоторые программы Microsoft Office, например PowerPoint и InfoPath, не поддерживают преобразование кодов Юникода в символы. Если вам необходимо вставить символ Юникода в одной из таких программ, используйте .
Примечания:
Если после нажатия клавиш ALT+X отображается неправильный символ Юникода, выберите правильный код, а затем снова нажмите ALT+X.
Кроме того, перед кодом следует ввести "U+". Например, если ввести "1U+B5" и нажать клавиши ALT+X, отобразится текст "1µ", а если ввести "1B5" и нажать клавиши ALT+X, отобразится символ "Ƶ".
Использование таблицы символов
Таблица символов - это программа, встроенная в Microsoft Windows, которая позволяет просматривать символы, доступные для выбранного шрифта.
С помощью таблицы символов можно копировать отдельные символы или группу символов в буфер обмена и вставлять их в любую программу, поддерживающую отображение этих символов. Открытие таблицы символов
В Windows 10
Введите слово "символ" в поле поиска на панели задач и выберите таблицу символов в результатах поиска.
В Windows 8
Введите слово "символ" на начальном экране и выберите таблицу символов в результатах поиска.
В Windows 7
нажмите кнопку Пуск
, последовательно выберите Все программы
, Стандартные
, Служебные
и щелкните Таблица символов
.
Символы группируются по шрифту. Щелкните список шрифтов, чтобы выбрать подходящий набор символов. Чтобы выбрать символ, щелкните его, затем нажмите кнопку Выбрать
. Чтобы вставить символ, щелкните правой кнопкой мыши нужное место в документе и выберите Вставить
.
Коды часто используемых символов
Полный список символов см. в на компьютере, таблице кодов символов ASCII или таблицах символов Юникода, упорядоченных по наборам .
Глиф
Глиф
Денежные единицы
|
|
|
|
|
|
|
|
|
|
|
|
|
Юридические символы
|
|
|
|
|
|
|
|
|
Математические символы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дроби
|
|
|
|
|
|
|
Знаки пунктуации и диалектные символы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Символы форм
|
|
|
|
Коды часто используемых диакритических знаков
Полный список глифов и соответствующих кодов см. в .
Глиф
|
|
Глиф
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Непечатаемые управляющие знаки ASCII
Знаки, используемые для управления некоторыми периферийными устройствами, например принтерами, в таблице ASCII имеют номера 0–31. Например, знаку перевода страницы/новой страницы соответствует номер 12. Этот знак указывает принтеру перейти к началу следующей страницы.
Таблица непечатаемых управляющих знаков ASCII
Десятичное число
|
Знак
|
Десятичное число
|
Знак
|
|
|
Освобождение канала данных
|
|
Начало заголовка
|
|
Первый код управления устройством
|
|
Начало текста
|
|
Второй код управления устройством
|
|
Конец текста
|
|
Третий код управления устройством
|
|
Конец передачи
|
|
Четвертый код управления устройством
|
|
|
пятиконечная
|
Отрицательное подтверждение
|
|
Подтверждение
|
|
Синхронный режим передачи
|
|
Звуковой сигнал
|
|
Конец блока передаваемых данных
|
|
|
|
|
|
Горизонтальная табуляция
|
|
Конец носителя
|
|
Перевод строки/новая строка
|
|
Символ замены
|
|
Вертикальная табуляция
|
|
|
превышать
|
Перевод страницы/новая страница
|
Двенадцат
|
Разделитель файлов
|
|
Возврат каретки
|
|
Разделитель групп
|
|
Сдвиг без сохранения разрядов
|
|
Разделитель записей
|
|
Сдвиг с сохранением разрядов
|
пятнадцат
|
Разделитель данных
|
|
|
|
|
|
|
|
[8-битные кодировки: ASCII, КОИ-8R и CP1251
] Первые таблицы кодировки, созданные в
США, не использовали восьмой бит в байте. Текст представлялся как последовательность байт, но восьмой
бит не учитывался (он применялся в служебных целях).
Общепризнанным стандартом стала таблица ASCII
(American Standard Code for
Information Interchange). Первые 32 символа таблицы ASCII (от 00 до 1F) использовались для
непечатаемых символов. Они были предназначены для управления печатающим устройством и т.п. Остальная
часть - от 20 до 7F - обычные (печатаемые) символы.
Таблица 1 - кодировка ASCII
Dec
Hex
Oct
Char
Description
0
|
0
|
000
|
|
null
|
1
|
1
|
001
|
|
start of heading
|
2
|
2
|
002
|
|
start of text
|
3
|
3
|
003
|
|
end of text
|
4
|
4
|
004
|
|
end of transmission
|
5
|
5
|
005
|
|
enquiry
|
6
|
6
|
006
|
|
acknowledge
|
7
|
7
|
007
|
|
bell
|
8
|
8
|
010
|
|
backspace
|
9
|
9
|
011
|
|
horizontal tab
|
10
|
A
|
012
|
|
new line
|
11
|
B
|
013
|
|
vertical tab
|
12
|
C
|
014
|
|
new page
|
13
|
D
|
015
|
|
carriage return
|
14
|
E
|
016
|
|
shift out
|
15
|
F
|
017
|
|
shift in
|
16
|
10
|
020
|
|
data link escape
|
17
|
11
|
021
|
|
device control 1
|
18
|
12
|
022
|
|
device control 2
|
19
|
13
|
023
|
|
device control 3
|
20
|
14
|
024
|
|
device control 4
|
21
|
15
|
025
|
|
negative acknowledge
|
22
|
16
|
026
|
|
synchronous idle
|
23
|
17
|
027
|
|
end of trans. block
|
24
|
18
|
030
|
|
cancel
|
25
|
19
|
031
|
|
end of medium
|
26
|
1A
|
032
|
|
substitute
|
27
|
1B
|
033
|
|
escape
|
28
|
1C
|
034
|
|
file separator
|
29
|
1D
|
035
|
|
group separator
|
30
|
1E
|
036
|
|
record separator
|
31
|
1F
|
037
|
|
unit separator
|
32
|
20
|
040
|
|
space
|
33
|
21
|
041
|
!
|
|
34
|
22
|
042
|
"
|
|
35
|
23
|
043
|
#
|
|
36
|
24
|
044
|
$
|
|
37
|
25
|
045
|
%
|
|
38
|
26
|
046
|
&
|
|
39
|
27
|
047
|
"
|
|
40
|
28
|
050
|
( |
|
41
|
29
|
051
|
)
|
|
42
|
2A
|
052
|
*
|
|
43
|
2B
|
053
|
+
|
|
44
|
2C
|
054
|
,
|
|
45
|
2D
|
055
|
-
|
|
46
|
2E
|
056
|
.
|
|
47
|
2F
|
057
|
/
|
|
48
|
30
|
060
|
0
|
|
49
|
31
|
061
|
1
|
|
50
|
32
|
062
|
2
|
|
51
|
33
|
063
|
3
|
|
52
|
34
|
064
|
4
|
|
53
|
35
|
065
|
5
|
|
54
|
36
|
066
|
6
|
|
55
|
37
|
067
|
7
|
|
56
|
38
|
070
|
8
|
|
57
|
39
|
071
|
9
|
|
58
|
3A
|
072
|
:
|
|
59
|
3B
|
073
|
;
|
|
60
|
3C
|
074
|
<
|
|
61
|
3D
|
075
|
=
|
|
62
|
3E
|
076
|
>
|
|
63
|
3F
|
077
|
?
|
|
|
Dec
Hex
Oct
Char
64
|
40
|
100
|
@
|
65
|
41
|
101
|
A
|
66
|
42
|
102
|
B
|
67
|
43
|
103
|
C
|
68
|
44
|
104
|
D
|
69
|
45
|
105
|
E
|
70
|
46
|
106
|
F
|
71
|
47
|
107
|
G
|
72
|
48
|
110
|
H
|
73
|
49
|
111
|
I
|
74
|
4A
|
112
|
J
|
75
|
4B
|
113
|
K
|
76
|
4C
|
114
|
L
|
77
|
4D
|
115
|
M
|
78
|
4E
|
116
|
N
|
79
|
4F
|
117
|
O
|
80
|
50
|
120
|
P
|
81
|
51
|
121
|
Q
|
82
|
52
|
122
|
R
|
83
|
53
|
123
|
S
|
84
|
54
|
124
|
T
|
85
|
55
|
125
|
U
|
86
|
56
|
126
|
V
|
87
|
57
|
127
|
W
|
88
|
58
|
130
|
X
|
89
|
59
|
131
|
Y
|
90
|
5A
|
132
|
Z
|
91
|
5B
|
133
|
[
|
92
|
5C
|
134
|
\
|
93
|
5D
|
135
|
]
|
94
|
5E
|
136
|
^
|
95
|
5F
|
137
|
_
|
96
|
60
|
140
|
`
|
97
|
61
|
141
|
a
|
98
|
62
|
142
|
b
|
99
|
63
|
143
|
c
|
100
|
64
|
144
|
d
|
101
|
65
|
145
|
e
|
102
|
66
|
146
|
f
|
103
|
67
|
147
|
g
|
104
|
68
|
150
|
h
|
105
|
69
|
151
|
i
|
106
|
6A
|
152
|
j
|
107
|
6B
|
153
|
k
|
108
|
6C
|
154
|
l
|
109
|
6D
|
155
|
m
|
110
|
6E
|
156
|
n
|
111
|
6F
|
157
|
o
|
112
|
70
|
160
|
p
|
113
|
71
|
161
|
q
|
114
|
72
|
162
|
r
|
115
|
73
|
163
|
s
|
116
|
74
|
164
|
t
|
117
|
75
|
165
|
u
|
118
|
76
|
166
|
v
|
119
|
77
|
167
|
w
|
120
|
78
|
170
|
x
|
121
|
79
|
171
|
y
|
122
|
7A
|
172
|
z
|
123
|
7B
|
173
|
{
|
124
|
7C
|
174
|
|
|
125
|
7D
|
175
|
}
|
126
|
7E
|
176
|
~
|
127
|
7F
|
177
|
DEL
|
|
Как легко заметить, в этой кодировке представлены только латинские буквы, причём те, которые используются в
английском языке. Есть также арифметические и другие служебные символы. Но нет ни русских букв, ни
даже специальных латинских для немецкого или французского языка. Это легко объяснить - кодировка
разрабатывалась имено как американский стандарт. Когда компьютеры стали применяться во всём мире, потребовалось
кодировать и другие символы.
Для этого было принято решение использовать восьмой бит в каждом байте. Тем самым оказались доступны
ещё 128 значений (от 80 до FF), которые можно было использовать для кодирования символов. Первая из
восьмибитных таблиц - “расширенный ASCII” (Extended ASCII
) - включала
в себя различные варианты латинских символов, применяемые в некоторых языках Западной Европы. Также в ней
были другие дополнительные символы, включая псевдографику.
Псевдографические символы позволяют, выводя на экран только текстовые символы, обеспечивать некоторое
подобие графики. При помощи псевдографики работает, например, програма для управления файлами FAR Manager.
Русских букв в таблице Extended ASCII не было. В России (ранее - СССР) и в других государствах
создавались свои кодировки, позволяющие представлять в 8-битных текстовых файлах
специфические “национальные” символы - латинские буквы польского и чешского языков,
кириллицу (включая русские буквы) и другие алфавиты.
Во всех кодировках, получивших распространение, первые 127 символов (т.е. значения байта при восьмом
бите, равном 0) совпадают с ASCII. Таким образом, файл в формате ASCII работает в любой из этих
кодировок; буквы английского языка в них представлены одинаково.
Организация ISO
(International Standardization Organization - Международная
Организация по Стандартам) приняла группу стандартов ISO 8859
. Она определяет 8-битные
кодировки для разных групп языков. Так, ISO 8859-1 - это Extended ASCII, таблица для США и
Западной Европы. А ISO 8859-5 - таблица для кириллицы (включая русский язык).
Однако по историческим причинам кодировка ISO 8859-5 не прижилась. Реально для русского языка применяются следующие кодировки:
Code Page 866 (CP866
), она же “DOS”, она же “альтернативная
кодировка ГОСТ”. Широко применялась до середины 90-х годов; теперь используется ограниченно. Практически
не применяется для распространения текстов в Интернете.
- КОИ-8. Разработана в 70-80-е годы. Является общепринятым стандартом для передачи почтовых сообщений
в российском Интернете. Широко применяется также в операционных системах семейства Unix, включая Linux.
Вариант КОИ-8, рассчитанный на русский язык, называется КОИ-8R
; существуют версии для
иных кириллических языков (так, KOI8-U - вариант для украинского языка).
- Code Page 1251, CP1251
, Windows-1251. Разработана компанией Microsoft для поддержки
русского языка в системе Windows.
Основным достоинством CP866 было сохранение символов псевдографики на тех же местах, что и в Extended
ASCII; поэтому могли без изменений работать зарубежные текстовые программы, например, знаменитый Norton
Commander. Ныне CP866 используется для программ под Windows, работающих в текстовых окнах или в полноэкранном
текстовом режиме, включая FAR Manager.
Тексты в CP866 в последние годы встречаются довольно редко (зато она используется для кодирования русских имен файлов в Windows). Поэтому мы подробнее остановимся на двух других кодировках - КОИ-8R и CP1251.
![](https://i0.wp.com/housecomputer.ru/technology/encoding/koi8-r.gif)
![](https://i0.wp.com/housecomputer.ru/technology/encoding/cp1251.gif)
Как можно заметить, в таблице кодировки CP1251 русские буквы расположены в алфавитном порядке (за исключением,
правда, буквы Ё). Благодаря такому расположению компьютерным программам очень просто осуществлять сортировку по алфавиту.
А вот в КОИ-8R порядок русских букв кажется случайным. Но на самом деле это не так.
Во многих старых программах при обработке или передаче текста терялся 8-й бит. (Сейчас такие программы
практически “вымерли”, но в конце 80-х - начале 90-х годов они были широко
распространены). Чтобы получить из 8-битного значения 7-битное, достаточно отнять от старшей цифры 8;
например, E1 превращается в 61.
А теперь сравните КОИ-8R с таблицей ASCII (табл.1). Вы обнаружите, что русские буквы поставлены в чёткое
соответствие с латинскими. Если исчезнет восьмой бит, строчные русские буквы превращаются в заглавные
латинские, а заглавные русские - в строчные латинские. Так, E1 в КОИ-8 - это
русское “А”, тогда как 61 в ASCII - латинское “a”.
Итак, КОИ-8 позволяет сохранять читаемость русского текста при потере 8-го бита. “Привет всем” превращается в “pRIWET WSEM”.
В последнее время и алфавитный порядок расположения символов в таблице кодировки, и читаемость при потере 8-го бита потеряли решающее значение. Восьмой бит в современных компьютерах не теряется ни при передаче, ни при обработке. А сортировка по алфавиту производится с учётом кодировки, а не простым сравнением кодов. (Кстати, коды CP1251 расположены не полностью по алфавиту - буква Ё не находится на своём месте).
Из-за того, что распространённых кодировок оказалось две, при работе с Интернетом (почта, просмотр Web-сайтов) иногда можно вместо русского текста увидеть бессмысленный набор букв. Например, “Я СБЮФЕМХЕЛ”. Это всего лишь слова “с уважением”; но они были закодированы в кодировке CP1251, а компьютер декодировал текст по таблице КОИ-8. Если те же слова были, наоборот, закодированы в КОИ-8, а компьютер декодировал текст по таблице CP1251, результатом будет “У ХЧБЦЕОЙЕН”.
Иногда бывает, что компьютер расшифровывает русскоязычные письма и вовсе по таблице, не предназначенной для русского языка. Тогда вместо русских букв появляются бессмысленный набор символов (например, латинские буквы восточно-европейских языков); их часто называют “крокозябрами”.
В большинстве случаев современные программы справляются с определением кодировок документов Интернета (электронных писем и Web-страниц) самостоятельно. Но иногда они “дают осечку”, и тогда можно увидеть странные последовательности русских букв или же “крокозябры”. Как правило, чтобы в такой ситуации вывести на экран настоящий текст, достаточно выбрать кодировку вручную в меню программы.
Для статьи использовалась информация странички http://open-office.edusite.ru/TextProcessor/p5aa1.html . Материал взят с сайта:
error: Content is protected !!
|