Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Американская стандартная кодировочная таблица ASCII

Аббревиатура ASCII означает «American Standard Code for Information Interchange», что в переводе на русский выглядит примерно как «американский стандартный код для обмена информацией». Имеется ввиду информация, представленная в нулях и единицах — битах. Эти биты объединены в байты, которые соответствуют печатным символам — буквам, цифрам и прочим знакам.

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

История вкратце

Поначалу никаких стандартов не было, и для каждой компьютерной системы придумывали свои способы ввода текста. В 1956-м в США попытались составить 6-битную кодировку Fieldata, но получилось не очень хорошо.

В старинных компьютерах также использовался код Бодо, оформленный материально в виде дырочек на перфолентах. Но и этого, разумеется, было мало.

И вот в 1959-м талантливый американский программист Боб Бемер (1920 — 2004), начинает работу над новой кодировочной таблицей. Ему страсть как надоело отсутствие единых правил передачи данных при обмене информации с электромеханическими терминалами, вот и решил создать что-то полезное.

В 1963-м году результаты труда были опубликованы ассоциацией «American Standards Association», которая позже превратилась в институт «American National Standards Institute» («ANSI»).

Однако первый стандарт (US-ASCII) появился только в 1968-м, когда разработку, как говорится, более менее довели до ума.

 .0.1 .2.3.4 .5.6.7 .8.9.A .B.C.D .E.F
0.NULSOHSTXETXEOT ENQACKBELBSTABLF VTFFCRSOSI
1.DLEDC1DC2DC3DC4 NAKSYNETBCANEMSUB ESCFSGSRSUS
2.  !"#$  %&'()* +,./
3.012345 6789 : ; <=> ?
4.@ABCDE FGHIJKL MNO
5.PQRSTU VWXYZ[\] ^_
6.`abcde fghijklm no
7.pqrstu vwxyz{|} ~DEL

В 70-х началось распространение персональных компьютеров по всему миру, американская стандартная кодировочная таблица ASCII вышла за пределы США и начала адаптироваться для разных языков. Но об этом — далее.

Становление Unicode

Нажатие клавиши с латинской буквой «a» отправит в компьютер вот такую последовательность нулей и единиц: 01100001. Если удерживать Shift, то получится «A», представленная в двоичном виде так: 01000001.

Аббревиатуру «ASCII» компьютер воспринимает в следующем виде: 01000001 01010011 01000011 01001001 01001001.

Иными словами, в 60-х годах минувшего века была составлена таблица, где напротив каждой латинской буквы, строчной и прописной, каждой цифры, а также дополнительных символов (например, возврат каретки: 00001101) указали конкретные байты, последовательности нулей и единиц, примеры которых приведены выше.

Поначалу каждому знаку выделялось лишь 7 бит. Получилось 128 символов. Всё это приняли в качестве стандарта ISO 646.

Однако люди разговаривают не только на английском и, соответственно, желают печатать тексты на родных языках. Поэтому в 70-х годах минувшего века добавили возможность прикручивать национальные алфавиты, превратив 7-битную кодировку в 8-битную. Это дало дополнительно ещё 128 символов.

«Всё равно мало!» — заявила организация Unicode Consortium. И сделала 16-битное кодирование, которого стало хватать для чего угодно (ведь нулями и единицами уже можно было описывать аж 65536 знаков). Так появилась универсальная Unicode, UTF-16, стандарт ISO 10646.

Однако этой новинке, какой бы универсальной она ни была, требовалась совместимость с ASCII. Поэтому придумали формат преобразования Unicode в 8-битную ипостась. То бишь, «Unicode Transformation Format, 8-bit», более известный как UTF-8.

Другие модификации

На широких просторах пост-советского пространства в течение некоторого времени была распространена ещё одна модификация, заточенная под кириллические символы: KOI-8. С конкретными вариантами KOI-8-R для русского, KOI-8-U для украинского, KOI8-RU для обоих языков и белорусского в придачу.

Вариантом существенного перепиливания обсуждаемой кодировочной таблицы является ANSI, она же CP-1252, она же Windows-1252.

Как явствует из последнего варианта названия, сей продукт произведён фирмой Microsoft для использования в своих программных изделиях. А также для снижения совместимости со сторонним софтом, разумеется.

Как с этим жить

Первая проблема: адекватное отображение кириллических символов на страницах во всемирной паутине. В наши дни применяются кодировки КОИ-8 (иногда встречается, особенно на старых, давно заброшенных сайтах), Windows-1252 и UTF-8. Последняя, к счастью, получила наибольшее распространение.

Теоретически, современные браузеры вроде бы умеют идентифицировать кодировку кириллицы, но на практике, если таковая не указана в HTML-коде страницы или в настройках сервера, есть риск увидеть вместо букв нечто инопланетное, в народе именуемое кракозябрами. Иногда удаётся включить правильное определение вручную — методом научного тыка в соответствующем разделе меню «Вид» браузера.

Следовательно, если вы изготавливаете сайт, то не ленитесь прописывать кодировку в «шапке» кода (между <head> и </head>). Например, вот так:

<meta charset="UTF-8" />

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

Вторая проблема: отображение простого неформатированного текста (Simple Text) в разных операционных системах. Если вы создали файл *.txt в Windows с помощью программы «Блокнот» или аналогичной, то в Ubuntu при открытии в Gedit могут получиться кракозябры. Наверняка отобразятся только латинские буквы, потому что они относятся к неотъемлемой изначальной части таблицы ASCII. Это основа всех основ, так сказать.

Выход: ради кросс-платформенной совместимости сохраняйте тексты в формате RTF, а не Simple Text. В самом начале содержимого файлов *.rtf присутствует условное обозначение кодировки (например, \fcharset204), поэтому текстовый процессор должен понять всё правильно.

Заключение

В современном электронно-цифровом мире всё чаще используется универсальная кодировка UTF-8, сводящая к минимуму риск появления иероглифической абракадабры. Она представляет собой наиболее успешное и продвинутое расширение ASCII.

Например, именно Unicode используется в блог-платформе Wordpress, в Википедии, на сайте операционной системы Ubuntu, да и вообще много где.

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

Автор: vanilinkin, специально для xBB.uz, 12.02.2013


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2013-02-12 14:59:27

Метки материала: таблица, ascii, таблица ascii, кодировочная таблица ascii, кодировочная таблица, байты, биты байты, информационные технологии, ит, компьютерные технологии, it, икт, информационно-коммуникационные технологии, цифровые технологии, информация и информатика

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.