Описание тега character-encoding
Кодировка символов - это действие или результат представления символов (читаемый человеком текст / символы, такие как a
или 汉
или ) в виде серии байтов (машиночитаемых нулей и единиц).
Вкратце, так же, как изменение шрифта с Arial на Wingdings изменяет внешний вид вашего текста, изменение кодировки влияет на интерпретацию последовательности байтов. Например, в зависимости от кодировки байты1 0xE2 0x89 0xA0
может представлять текст â‰
в кодовой странице Windows 1252 илиБ┴═
в KOI8-R или символ ≠ в UTF-8.
Полезным справочником является Абсолютный минимум, который должен знать каждый разработчик программного обеспечения о Unicode и наборах символов (без оправданий!)
Стандарт кодирования на https://encoding.spec.whatwg.org/ определяет кодировку символов для Интернета. Он требует использования UTF-8 в Интернете и определяет другие кодировки как устаревшие / устаревшие.
Какая это кодировка символов?
Часто задают вопросы о помощи в идентификации или изменении текста в определенной кодировке, но часто возникают проблемы. Пожалуйста, включите достаточно информации, чтобы мы могли вам помочь.
Плохо: "Я смотрю на текст и вижу - что это"?
Хорошо: "У меня есть текст в неизвестной кодировке в файле. Я не могу просмотреть этот текст в UTF-8, но когда я настраиваю свою систему на использование ISO-8859-1, я вижу" óòöô ". Я знаю, что это неправильно; текст должен быть<text>
в <language>
. Шестнадцатеричный дамп начала файла показывает
000000 9e 9f 9a a0 af b4 be f0 9e af b3 f2 20 b7 5f 20
Плохо: все, что пытается использовать термин "ANSI" в этом контексте2
В устаревшей документации Microsoft Windows ошибочно используется термин "ANSI" для обозначения того набора символов, который используется по умолчанию для текущего языкового стандарта. Но это движущаяся цель; теперь нам также нужно угадать ваш текущий языковой стандарт.
Лучше: укажите точную кодовую страницу
Обычно в западных установках Windows вы будете использовать CP-1252; но, конечно, если нужно угадывать, нужно и так сказать.
Уведомление:
Мы не можем догадаться, какую кодировку вы используете для просмотра загадочных данных. Пожалуйста, включите эту информацию, если вы искренне пытаетесь рассказать нам о том, что вы видите.
Копировать / вставить редко бывает достаточно, потому что это вводит несколько дополнительных переменных (нам нужно будет правильно предположить, как ваш веб-браузер обрабатывает текст, а также веб-сервер и инструмент, который вы использовали для получения копии текста, и так далее).
Если вы знаете, что текст должен представлять (даже нечетко), это может помочь значительно сузить проблему.
Шестнадцатеричный дамп - единственное недвусмысленное представление, но, пожалуйста, не переусердствуйте - обычно бывает достаточно нескольких строк данных.
Общие вопросы
- Что такое кодировка символов и почему я должен с ней возиться
- Какой знак "ï" at в начале моего исходного файла?
- Как определить кодировку / кодовую страницу текстового файла
- Различия в форматах Unicode, UTF, ASCII, ANSI
- Как я могу найти код специального символа в текстовом редакторе?
1 Когда речь идет о кодировании, часто используются шестнадцатеричные представления, поскольку они более краткие -0xE2
это шестнадцатеричное представление байта 11100010
.
2 Американский национальный институт стандартов стандартизировала некоторые наборы символов (в частности, ASCII, ANSI стандарт ANSI X3.4-1986) и отображения текста коды форматирования, но, конечно, не кодовые страницы Microsoft Windows или механизм для того, как выбран один из них.