Кодировки

8-битный текст

Исторически для кодирования текстовых файлов применялись 7-битный набор символов ASCII, а также 8-битные EBCDIC и различные расширения ASCII. В 8-битных кодовых страницах общепринято использовать в первой половине кодовой таблицы символы, соответствующие ASCII.

Преимуществом 8-битного представления текста является программная простота и независимость от проблем порядка байтов или длины машинного слова на разных платформах.
Недостаток — большое количество различных стандартов, из-за этого проблема несовместимости.

Unicode в текстовых файлах

Применение Unicode в текстовых файлах, хотя в основном решает «проблему кодировок» и стандартизирует употребление управляющих символов, но создаёт свои проблемы. В большинстве современных систем неделимой единицей информации в потоке данных является байт (8 бит), которых для кодирования одного символа из Юникода требуется несколько. В качестве решения применяются несовместимые между собой системы UTF-8 и две версии UTF-16 (UTF-16LE и UTF-16BE с противоположным порядком байтов). Иногда в начало файла добавляют специальный символ-маркер (U+FEFF), позволяющий распознать формат однозначно. UTF-8 имеет преимущество обратной совместимости с ASCII, однако программная обработка текста в UTF-8 усложняется непостоянным размером символа. Также тексты в Юникоде отличаются существенно большей избыточностью, нежели 8-битные.

Управляющие символы

Различные операционные системы придерживаются своего представления перевода строки и конца файла.
В UNIX перевод строки состоит из одного символа LF (0x0A), в Mac OS — из символа CR (0x0D), а в DOS и Microsoft Windows перевод строки кодируется последовательностью двух символов: CR и LF.
В DOS и Microsoft Windows конец файла кодируется символом 0x1A, а в UNIX символ конца файла не употребляется.

Помимо названных, в текстовых файлах применяются такие символы как табуляция (0×09) и перевод страницы (0x0C).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

 

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>