Фундаментальные строительные блоки
Когда мы говорим о письменном языке, мы говорим о том, что буквы являются строительными блоками слов, которые затем строят предложения, параграфы и т. Д. Буквы - это символы, которые представляют звуки. Когда вы говорите о языке, вы говорите о группах звуков, которые объединяются, чтобы сформировать какой-то смысл. Каждая языковая система имеет сложный набор правил и определений, которые определяют эти значения. Если у вас есть слово, это бесполезно, если вы не знаете, на каком языке оно, и вы используете его с другими, которые говорят на этом языке.
В мире компьютеров мы используем термин «характер». Характер - это своего рода абстрактное понятие, определенное конкретными параметрами, но оно является основной единицей значения. Латинский «А» не совпадает с греческим «альфа» или арабским «alif», потому что у них разные контексты - они с разных языков и имеют несколько разные произношения, поэтому мы можем сказать, что они разные персонажи. Визуальное представление символа называется «глифом», а разные наборы глифов называются шрифтами. Группы символов принадлежат к «набору» или «репертуару».
Когда вы печатаете абзац и вы меняете шрифт, вы не меняете фонетические значения букв, вы меняете, как они выглядят. Это просто косметический (но не несущественный!). Некоторые языки, такие как древний египетский и китайский, имеют идеограммы; они представляют целые идеи вместо звуков, и их произношение может меняться со временем и на расстоянии. Если вы замените один символ на другой, вы подменяете идею. Это больше, чем просто изменение букв, это изменение идеограммы.
Кодировка символов
Когда вы вводите что-то на клавиатуре или загружаете файл, как компьютер знает, что отображать? Для этого нужна кодировка символов. Текст на вашем компьютере не является буквами, это серия парных буквенно-цифровых значений. Кодировка символов действует как ключ, для которого значения соответствуют тем символам, которые, подобно тому, как орфография диктует, какие звуки соответствуют тем буквам. Морзе-код - это своего рода кодировка символов. В нем объясняется, как группы длинных и коротких единиц, такие как звуковые сигналы, представляют символы. В коде Морзе символы - это просто английские буквы, цифры и полные остановки. Существует множество кодировок символов компьютера, которые переводят на буквы, цифры, знаки акцента, знаки препинания, международные символы и т. Д.
Часто на эту тему также используется термин «кодовые страницы». Это, по сути, кодировки символов, используемые конкретными компаниями, часто с небольшими изменениями. Например, кодовая страница Windows 1252 (ранее известная как ANSI 1252) является модифицированной формой ISO-8859-1. Они в основном используются как внутренняя система для обозначения стандартных и измененных кодировок символов, характерных для одних и тех же систем. Раньше кодировка символов была не столь важной, потому что компьютеры не связывались друг с другом. Когда интернет становится популярным, а сетевое общение является обычным явлением, оно становится все более важным в нашей повседневной жизни, даже если мы даже не осознаем этого.
Много разных типов
Существует множество различных кодировок символов, и для этого есть много причин. Кодировка символов, которую вы решите использовать, зависит от ваших потребностей. Если вы общаетесь по-русски, имеет смысл использовать кодировку символов, которая поддерживает кириллицу. Если вы общаетесь по-корейски, вам нужно что-то, что хорошо представляет Хангул и Ханджа. Если вы математик, то вы хотите что-то, что имеет все научные и математические символы, представленные хорошо, а также греческий и латинский глифы. Если вы - шутник, возможно, вам понравится перевернутый текст. И, если вы хотите, чтобы все эти типы документов были просмотрены любым лицом, вам нужна кодировка, которая довольно распространена и легко доступна.
Давайте рассмотрим некоторые из наиболее распространенных.
- ASCII - Американский стандартный код для обмена информацией является одним из старых кодировок символов. Первоначально он был разработан на основе телеграфных кодов и со временем эволюционировал, чтобы добавить больше символов и некоторых устаревших непечатаемых управляющих символов. Это, вероятно, так же просто, как вы можете получить с точки зрения современных систем, поскольку оно ограничено латинским алфавитом без акцентированных символов. Его 7-битная кодировка позволяет всего 128 символов, поэтому существует несколько неофициальных вариантов, используемых во всем мире.
- ISO-8859 - Наиболее широко используемая группа кодировок символов Международной организации по стандартизации - номер 8859. Каждое конкретное кодирование обозначается числом, часто предваряемым описательным прозвищем, например. ISO-8859-3 (латинский-3), ISO-8859-6 (лат. / Араб.).Это надмножество ASCII, что означает, что первые 128 значений в кодировке такие же, как ASCII. Тем не менее, это 8-бит, и он позволяет 256 символов, поэтому он отходит оттуда и включает в себя гораздо более широкий массив символов, причем каждая конкретная кодировка фокусируется на другом наборе критериев. Latin-1 включала кучу акцентированных букв и символов, но позже была заменена переработанным набором Latin-9, который включает обновленные глифы, такие как символ евро.
(Выдержка из тибетского сценария, 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 обеспечивает гораздо лучшую совместимость. Он также отлично работает для людей, которые используют правильную пунктуацию, математические символы или символы вне манжеты, такие как квадраты и флажки.
Однако есть недостатки для каждого набора. ASCII ограничена знаками пунктуации, поэтому он не работает невероятно хорошо для типографских исправлений. Когда-либо печатайте / вставляете в Word из Word только, чтобы иметь какую-то странную комбинацию глифов? Это недостаток ISO-8859, или, вернее, его предполагаемая совместимость с кодовыми страницами, специфичными для ОС (мы смотрим на ВАС, Microsoft!). Основным недостатком UTF-8 является отсутствие надлежащей поддержки в редактировании и публикации приложений. Другая проблема заключается в том, что браузеры часто не интерпретируют и просто отображают знак байтового символа кодированного символа UTF-8. Это приводит к отображению нежелательных глифов. И, конечно, объявление одной кодировки и использование символов из другого без объявления / ссылки на них должным образом на веб-странице затрудняет для браузеров их правильное отображение и для поисковых систем соответствующим образом индексировать их.
Для ваших собственных документов, рукописей и т. Д. Вы можете использовать все, что вам нужно для выполнения этой работы. Тем не менее, похоже, что большинство людей согласны с использованием версии UTF-8, которая не использует знак байтового байта, но это не совсем единогласно. Как вы можете видеть, каждая кодировка символов имеет свое собственное использование, контекст, сильные и слабые стороны. Как конечный пользователь, вам, вероятно, не придется иметь дело с этим, но теперь вы можете сделать дополнительный шаг вперед, если захотите.