Skip to content

Commit

Permalink
Добавил статью о кириллическом расширении ASCII, дополнил список испо…
Browse files Browse the repository at this point in the history
…льзованных источников
  • Loading branch information
chabErch committed Jul 12, 2022
1 parent 4197a3e commit e4896f9
Show file tree
Hide file tree
Showing 7 changed files with 88 additions and 3 deletions.
11 changes: 8 additions & 3 deletions docs/Кодирование информации/ASCII.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# ASCII

Таблица ASCII (**A**merican Standard **C**ode for **I**nformation **I**nterchange) состоит всего из 256 символов. Каждому символу ставится в соответствие уникальный десятичный код от $0_{10}$ до $255_{10}$ или соответствующий ему двоичный код от $00000000_2$ до $11111111_2$.
Таблица ASCII (**A**merican Standard **C**ode for **I**nformation **I**nterchange) была разработана в 1963 году для кодирования символов, коды которых помещались в 7 бит (128 символов), а старший использовался для контроля ошибок, возникших при передаче данных. Со временем кодировка была расширена до 8-ми бит (256 символов), коды первых 128-и символов не изменились.

Символы с кодами от $00_{16}$ до $7F_{16}$ являются стандартными и неизменными для любых приложений. Дальнейшее же продолжение таблицы символов (коды $80_{16}$ до $FF_{16}$) имеет множество различных реализаций, которые, определяются региональными (языковыми) особенностями.
Символы с кодами от $00_{16}$ до $7F_{16}$ (первые 128 символов) являются стандартными и неизменными для любых приложений. Дальнейшее же продолжение таблицы символов (коды $80_{16}$ до $FF_{16}$) имеет множество различных реализаций, которые, определяются региональными (языковыми) особенностями.

## Десятичные цифры

Expand Down Expand Up @@ -62,4 +62,9 @@
| $58$ | $3A$ | $00111010$ | : |
| $59$ | $3B$ | $00111011$ | ; |
| $60$ | $3C$ | $00111100$ | < |
|||||
|||||

## Список использованных источников

1. Семенов Ю.А. (ИТЭФ-МФТИ). ASCII [Электронный ресурс] URL: [https://ru.wikipedia.org/wiki/ASCII](https://ru.wikipedia.org/wiki/ASCII) (дата обращения: 12.07.2022)
2. Таблица символов ASCII [Электронный ресурс] URL: [https://www.industrialnets.ru/files/misc/ascii.pdf](https://www.industrialnets.ru/files/misc/ascii.pdf) (дата обращения: 12.07.2022)
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Кириллическое расширение ASCII

Таблица ASCII являлась отправной точкой для развития всех современных кодировок. Изначально в нее было заложено только 128 знаков латинского алфавита, арабских цифр, знаков препинания и управляющих символов, но в расширенной версии появилась возможность использовать все 256 значений, которые можно закодировать в одном байте информации. Т.е. появилась возможность добавить в ASCII символы букв своего языка.

## CP866

Одним из первых таких расширений выступила таблица **CP866** (**C**ode**p**age **866**), в которой была возможность использовать символы русского алфавита. Первые 128 ее символов полностью соответствовали ASCII, а вот уже нижняя часть таблицы позволяла закодировать еще 128 знаков (русские буквы и всякая там псевдографика):

<figure markdown>
![CP866](Кириллическое расширение ASCII.assets/image-20220712030144974.png)
<figcaption>CP866</figcaption>
</figure>

Откуда взялось такое количество псевдографики в CP866? Тут все дело в том, что эта кодировка для русского текста разрабатывалась еще в те года, когда графические операционные системы не были распространены как сейчас. А в DOS’е и подобных ей текстовых операционных системах псевдографика позволяла хоть как-то разнообразить оформление текстов и поэтому ею изобилует CP866 и все другие ее ровесницы из разряда расширенных версий ASCII.

CP866 распространяла компания IBM, но кроме этого для символов русского языка были разработаны еще ряд кодировок.

## КОИ-8

**КОИ-8** (**К**од **о**бмена **и**нформацией **8** бит, *KOI8*)

Разработчики КОИ-8 поместили символы русского алфавита в верхней части кодовой таблицы таким образом, что позиции кириллических символов соответствуют их фонетическим аналогам в английском алфавите в нижней части таблицы. Это означает, что если в тексте, написанном в КОИ-8, убрать восьмой бит каждого символа, то получится «читаемый» текст, подобный транслиту. Например, слово «Информатика» превратится в «iNFORMATIKA». Как побочное следствие, символы кириллицы оказались расположены не в алфавитном порядке.

Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов. Русский алфавит описывается в кодировке **KOI8-R**, украинский — в **KOI8-U**, кавказский **KOI8-C** и т.д.

KOI8-R стал фактически стандартом для русской кириллицы в 1990-х годах в электронной почте.

<figure markdown>
![KOI8-R](Кириллическое расширение ASCII.assets/image-20220712035636074.png)
<figcaption>KOI8-R</figcaption>
</figure>
## Windows-1251

Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок наличием практически всех символов, использующихся в русской типографике для обычного текста (отсутствует только значок ударения); Она также содержит все символы для других славянских языков: украинского, белорусского, сербского, македонского и болгарского.

Разработка Windows-1251 велась русским представительством Microsoft совместно с компаниями «Диалог» и «Параграф».

<figure markdown>
![Windows-1251](Кириллическое расширение ASCII.assets/image-20220712043712091.png)
<figcaption>Windows-1251</figcaption>
</figure>

## Кракозябры

Из-за такого обилия кодировок русского языка, у производителей шрифтов и производителей программного обеспечения постоянно возникала головная боль, а у нас с вам, зачастую вылезали те самые пресловутые **кракозябры**, когда происходила путаница с используемой в тексте версией.

Вот, например, какие кракозябры могут появиться при неправильной перекодировке слова «Информатика»

| оригинальная кодировка | отображаемая кодировка | результат |
| :--------------------: | :--------------------: | :--------------------: |
| CP866 | КОИ-8 | ┬╜Д╝Ю╛═Б╗╙═ |
| CP866 | Windows-1251 | €­д®а¬ вЁЄ |
| CP866 | UTF-8 | ���ଠ⨪� |
| КОИ-8 | CP866 | щ╬╞╧╥═┴╘╔╦┴ |
| КОИ-8 | Windows-1251 | йОЖПТНБФЙЛБ |
| КОИ-8 | UTF-8 | ����������� |
| Windows-1251 | CP866 | ╚эЇюЁьрЄшър |
| Windows-1251 | КОИ-8 | хМТНПЛЮРХЙЮ |
| Windows-1251 | UTF-8 | ����������� |
| UTF-8 | CP866 | ╨Ш╨╜╤Д╨╛╤А╨╝╨░╤В╨╕╨║╨░ |
| UTF-8 | КОИ-8 | п≤п╫я└п╬я─п╪п╟я┌п╦п╨п╟ |
| UTF-8 | Windows-1251 | �нформатика |

Очень часто они вылезали при отправке и получении сообщений по электронной почте, что повлекло за собой создание очень сложных перекодировочных таблиц, которые, собственно, решить эту проблему в корне не смогли, и зачастую пользователи для переписки использовали транслит латинских букв.

По сути, кракозябры, появляющиеся вместо русского текста, были результатом некорректного использования кодировки данного языка, которая не соответствовала той, в которой было закодировано текстовое сообщение изначально.

В конце концов такая ситуация с множеством кодировок многим надоела, появились предпосылки к созданию новой универсальной вариации, которая бы заменила собой все существующие и решила бы проблему с появлением не читаемых текстов. Кроме этого существовала проблема языков подобных китайскому, где символов языка было гораздо больше, чем 256.

## Список использованных источников

1. КОИ-8 [Электронный ресурс] URL: [https://dic.academic.ru/dic.nsf/ruwiki/11979](https://dic.academic.ru/dic.nsf/ruwiki/11979) (дата обращения: 12.07.2022)
2. Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами [Электронный ресурс] URL: [https://javarush.ru/groups/posts/1418-kodirovka-teksta-ascii-windows-1251-cp866-koi8-r-i-junikod-utf-8-16-32--kak-ispravitjh-problemu](https://javarush.ru/groups/posts/1418-kodirovka-teksta-ascii-windows-1251-cp866-koi8-r-i-junikod-utf-8-16-32--kak-ispravitjh-problemu) (дата обращения: 12.07.2022)
3. Декодер онлайн [Электронный ресурс] URL: [https://involta.ru/tools/decoder/](https://involta.ru/tools/decoder/) (дата обращения: 12.07.2022)

Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,7 @@
![Сложная ASCII графика](Общие сведения.assets/image-20220712002035398.png)
<figcaption>Сложная ASCII графика</figcaption>
</figure>
## Список использованных источников

1. Коды символов ASCII [Электронный ресурс] URL: [https://dic.academic.ru/dic.nsf/ruwiki/11979](https://dic.academic.ru/dic.nsf/ruwiki/11979) (дата обращения: 12.07.2022)
2. Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами [Электронный ресурс] URL: [https://javarush.ru/groups/posts/1418-kodirovka-teksta-ascii-windows-1251-cp866-koi8-r-i-junikod-utf-8-16-32--kak-ispravitjh-problemu](https://javarush.ru/groups/posts/1418-kodirovka-teksta-ascii-windows-1251-cp866-koi8-r-i-junikod-utf-8-16-32--kak-ispravitjh-problemu) (дата обращения: 12.07.2022)
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ nav:
- 'Кодирование информации':
- Общие сведения: 'Кодирование информации/Общие сведения.md'
- Таблица ASCII: 'Кодирование информации/ASCII.md'
- Кириллическое расширение ASCII: 'Кодирование информации/Кириллическое расширение ASCII.md'
- 'Хранение информации':
- Оптические диски: 'Хранение информации/Оптические диски.md'
- Жесткие диски: 'Хранение информации/Жесткие диски.md'
Expand Down

0 comments on commit e4896f9

Please sign in to comment.