UTF-8 - это кодировка или набор символов документа? - PullRequest
1 голос
/ 07 июля 2011

В соответствии с Рекомендацией W3C говорится, что для каждого приложения требуется свой набор символов документа (не путать с кодировкой символов).

Набор символов документа состоит из:

  • Репертуар: набор абстрактных символов, таких как латинская буква «A», кириллическая буква «I», китайский символ, означающий «вода» и т. Д.

  • Позиции кода: набор целочисленных ссылок на символы в репертуаре.

Каждый документ представляет собой последовательность символов из репертуара.

СимволКодировка: Как эти символы могут быть представлены

Когда я сохраняю файл в блокноте Windows, я предполагаю, что это «Наборы символов документа»:

  • ANSI
  • UNICODE
  • UNICODE BIG ENDIAN
  • UTF-8

Простые 3 вопроса:

Я хочу знать, являются ли они"наборы символов документа".И если они есть,

  1. Почему UTF-8 в списке?UTF-8 не должен быть кодировкой ?

    Если я не ошибаюсь со всем этим:

  2. Существуют ли другие наборы символов документачто Windows не позволяет определить?

  3. Как определить другие наборы символов документа?

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

В моем понимании:

  • ANSI - это и набор символов, и кодировка этого набора символов.
  • Unicode - это набор символов;рассматриваемая кодировка, вероятно, UTF-16.Альтернативная кодировка того же набора символов - это UTF-16 с прямым порядком байтов, к которому, вероятно, относится третий вариант.
  • UTF-8 - это кодировка Unicode.

Цель этого раскрывающегося списка в диалоговом окне «Сохранить» на самом деле состоит в том, чтобы выбрать как набор символов, так и кодировку для него, но они были немного небрежны с именами параметров.

(Технически, хотя,кодирование просто отображает целые числа в байтовые последовательности, поэтому любое кодирование можно использовать с любым набором символов, достаточно маленьким, чтобы «соответствовать» кодировке. Однако кодировки UTF- * разработаны с учетом Unicode.)

Также см. Об обязательной статье Джоэла о программном обеспечении по этому вопросу .

1 голос
/ 07 июля 2011

UTF-8 - кодировка символов, которая также используется для указания набора символов для HTML и других текстовых документов.Это одна из нескольких Unicode-кодировок (UTF-16 - другая).

Чтобы ответить на ваши вопросы:

  • Она есть в списке, потому что Microsoft решила внедрить ее в блокнот.1008 *
  • Существует много других наборов символов, хотя определение вашего собственного набора не полезно, поэтому не представляется возможным.
  • Вы не можете определить другие наборы символов для сохранения в блокноте.Попробуйте использовать редактор для программистов, такой как notepad ++, который даст вам больше наборов символов для использования.
...