Спецификация (знак порядка байтов) кодировки ISO

#encoding #iso-8859-1 #byte-order-mark #iso-8859-2

Вопрос:

существует ли спецификация кодировки ISO-8859-1 и ISO-8859-2?

Ответ №1:

Нет. Нет необходимости в спецификации (Знак порядка байтов) для кодировки, в которой каждый (за исключением) символ равен одному байту. Спецификация используется для определения того, какой порядок байтов имеет 16-битные (или 32-битные) числа: различные процессоры используют разные соглашения, а также разные протоколы: интернет (IP) использует другой порядок в качестве обычных процессоров Intel (и поэтому распространенных операционных систем).

Примечание: одна крупная компания (Microsoft), как известно, нарушает стандарты только для собственной выгоды, и поэтому она начала добавлять ненужные (и часто неправильные) спецификации также в UTF-8. (UTF-8 может использовать спецификацию в некоторых конкретных обстоятельствах). Не попадайтесь в ловушку. Unix, Linux и Apple смогли перейти на UTF-8 без особых сбоев.

Информация о кодировании должна быть выведена за пределы диапазона (например, заданного протоколом). Другого пути нет. А в старой 8-битной кодировке нет места для включения такой информации (256 символов уже недостаточно). Python и некоторые редакторы будут смотреть на подпись (строку текста) в начале или в конце файла, но это некрасиво вне исходного кода), и не все редакторы используют такую информацию.

В противном случае, обычный метод: попробуйте расшифровать его как UTF-8 (если нет 00 байт, в таком случае проверьте UTF-16 и UTF-32), если у вас есть ошибки, попробуйте с латиницей-1 или другими (вам нужен словарь распространенных слов на многих языках). В любом случае, существует множество эвристик (так что: «догадки»), и никогда нельзя быть уверенным в кодировании (только в большом тексте, созданном для людей: вероятность угадать высока).

Комментарии:

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