Что такое кодировки символов, как ANSI и Unicode, и как они отличаются?

Оглавление:

Что такое кодировки символов, как ANSI и Unicode, и как они отличаются?
Что такое кодировки символов, как ANSI и Unicode, и как они отличаются?

Видео: Что такое кодировки символов, как ANSI и Unicode, и как они отличаются?

Видео: Что такое кодировки символов, как ANSI и Unicode, и как они отличаются?
Видео: КАК РАБОТАЕТ БИТКОИН? — ТОПЛЕС - YouTube 2024, Ноябрь
Anonim
ASCII, UTF-8, ISO-8859 … Возможно, вы видели, как эти странные прозвища плавают вокруг, но что они на самом деле означают? Читайте дальше, когда мы объясняем, что такое кодировка символов и как эти аббревиатуры относятся к простому тексту, который мы видим на экране.
ASCII, UTF-8, ISO-8859 … Возможно, вы видели, как эти странные прозвища плавают вокруг, но что они на самом деле означают? Читайте дальше, когда мы объясняем, что такое кодировка символов и как эти аббревиатуры относятся к простому тексту, который мы видим на экране.

Фундаментальные строительные блоки

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

(Сравнение сценариев Grantha, Tulu и Malayalam, Изображение из Википедии)
(Сравнение сценариев Grantha, Tulu и Malayalam, Изображение из Википедии)

В мире компьютеров мы используем термин «характер». Характер - это своего рода абстрактное понятие, определенное конкретными параметрами, но оно является основной единицей значения. Латинский «А» не совпадает с греческим «альфа» или арабским «alif», потому что у них разные контексты - они с разных языков и имеют несколько разные произношения, поэтому мы можем сказать, что они разные персонажи. Визуальное представление символа называется «глифом», а разные наборы глифов называются шрифтами. Группы символов принадлежат к «набору» или «репертуару».

Когда вы печатаете абзац и вы меняете шрифт, вы не меняете фонетические значения букв, вы меняете, как они выглядят. Это просто косметический (но не несущественный!). Некоторые языки, такие как древний египетский и китайский, имеют идеограммы; они представляют целые идеи вместо звуков, и их произношение может меняться со временем и на расстоянии. Если вы замените один символ на другой, вы подменяете идею. Это больше, чем просто изменение букв, это изменение идеограммы.

Кодировка символов

(Изображение из Википедии)
(Изображение из Википедии)

Когда вы вводите что-то на клавиатуре или загружаете файл, как компьютер знает, что отображать? Для этого нужна кодировка символов. Текст на вашем компьютере не является буквами, это серия парных буквенно-цифровых значений. Кодировка символов действует как ключ, для которого значения соответствуют тем символам, которые, подобно тому, как орфография диктует, какие звуки соответствуют тем буквам. Морзе-код - это своего рода кодировка символов. В нем объясняется, как группы длинных и коротких единиц, такие как звуковые сигналы, представляют символы. В коде Морзе символы - это просто английские буквы, цифры и полные остановки. Существует множество кодировок символов компьютера, которые переводят на буквы, цифры, знаки акцента, знаки препинания, международные символы и т. Д.

Часто на эту тему также используется термин «кодовые страницы». Это, по сути, кодировки символов, используемые конкретными компаниями, часто с небольшими изменениями. Например, кодовая страница Windows 1252 (ранее известная как ANSI 1252) является модифицированной формой ISO-8859-1. Они в основном используются как внутренняя система для обозначения стандартных и измененных кодировок символов, характерных для одних и тех же систем. Раньше кодировка символов была не столь важной, потому что компьютеры не связывались друг с другом. Когда интернет становится популярным, а сетевое общение является обычным явлением, оно становится все более важным в нашей повседневной жизни, даже если мы даже не осознаем этого.

Много разных типов

(Изображение от sarah sosiak)
(Изображение от sarah sosiak)

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

Давайте рассмотрим некоторые из наиболее распространенных.

(Выдержка из таблицы ASCII, Изображение с asciitable.com)
(Выдержка из таблицы ASCII, Изображение с asciitable.com)
  • ASCII - Американский стандартный код для обмена информацией является одним из старых кодировок символов. Первоначально он был разработан на основе телеграфных кодов и со временем эволюционировал, чтобы добавить больше символов и некоторых устаревших непечатаемых управляющих символов. Это, вероятно, так же просто, как вы можете получить с точки зрения современных систем, поскольку оно ограничено латинским алфавитом без акцентированных символов. Его 7-битная кодировка позволяет всего 128 символов, поэтому существует несколько неофициальных вариантов, используемых во всем мире.
  • ISO-8859 - Наиболее широко используемая группа кодировок символов Международной организации по стандартизации - номер 8859. Каждое конкретное кодирование обозначается числом, часто предваряемым описательным прозвищем, например. ISO-8859-3 (латинский-3), ISO-8859-6 (лат. / Араб.).Это надмножество ASCII, что означает, что первые 128 значений в кодировке такие же, как ASCII. Тем не менее, это 8-бит, и он позволяет 256 символов, поэтому он отходит оттуда и включает в себя гораздо более широкий массив символов, причем каждая конкретная кодировка фокусируется на другом наборе критериев. Latin-1 включала кучу акцентированных букв и символов, но позже была заменена переработанным набором Latin-9, который включает обновленные глифы, такие как символ евро.
Image
Image

(Выдержка из тибетского сценария, Unicode v4, from unicode.org)

  • Unicode - Этот стандарт кодирования направлен на универсальность. В настоящее время он включает в себя 93 скрипта, организованных в нескольких блоках, с гораздо большим количеством работ. Unicode работает по-другому, чем другие наборы символов, вместо того, чтобы напрямую кодировать глиф, каждое значение направляется далее в «кодовую точку». Это шестнадцатеричные значения, которые соответствуют символам, но сами глифы предоставляются отдельным образом программой, например, ваш веб-браузер. Эти кодовые точки обычно изображаются следующим образом: U + 0040 (что соответствует «@»). Специфическими кодировками по стандарту Unicode являются UTF-8 и UTF-16. UTF-8 пытается обеспечить максимальную совместимость с ASCII. Это 8-бит, но позволяет использовать все символы с помощью механизма замещения и нескольких пар значений на символ. UTF-16 идеально подходит для совместимости ASCII для более полной 16-разрядной совместимости со стандартом.
  • ISO-10646 - Это не настоящая кодировка, а только набор символов Unicode, стандартизованный ISO. Это в основном важно, потому что это репертуар персонажа, используемый HTML. Некоторые из более продвинутых функций, предоставляемых Unicode, которые позволяют сортировать и справа налево, наряду с сценариями слева направо, отсутствуют. Тем не менее, он отлично работает для использования в Интернете, поскольку он позволяет использовать широкий спектр скриптов и позволяет браузеру интерпретировать глифы. Это делает локализацию несколько проще.

Какую кодировку я должен использовать?

Ну, ASCII работает для большинства англоязычных, но не для других. Чаще всего вы увидите ISO-8859-1, который работает на большинстве западноевропейских языков. Другие версии ISO-8859 работают для кириллических, арабских, греческих или других конкретных сценариев. Однако, если вы хотите отображать несколько сценариев в одном документе или на одной и той же веб-странице, UTF-8 обеспечивает гораздо лучшую совместимость. Он также отлично работает для людей, которые используют правильную пунктуацию, математические символы или символы вне манжеты, такие как квадраты и флажки.

(Несколько языков в одном документе, Снимок экрана с сайта gujaratsamachar.com)
(Несколько языков в одном документе, Снимок экрана с сайта gujaratsamachar.com)

Однако есть недостатки для каждого набора. ASCII ограничена знаками пунктуации, поэтому он не работает невероятно хорошо для типографских исправлений. Когда-либо печатайте / вставляете в Word из Word только, чтобы иметь какую-то странную комбинацию глифов? Это недостаток ISO-8859, или, вернее, его предполагаемая совместимость с кодовыми страницами, специфичными для ОС (мы смотрим на ВАС, Microsoft!). Основным недостатком UTF-8 является отсутствие надлежащей поддержки в редактировании и публикации приложений. Другая проблема заключается в том, что браузеры часто не интерпретируют и просто отображают знак байтового символа кодированного символа UTF-8. Это приводит к отображению нежелательных глифов. И, конечно, объявление одной кодировки и использование символов из другого без объявления / ссылки на них должным образом на веб-странице затрудняет для браузеров их правильное отображение и для поисковых систем соответствующим образом индексировать их.

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

Рекомендуемые: