Интернет жизнь

Все об интернете

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Текстовые файлы и кодировка.

Текстовый файл — простейший тип. Традиционно каждый байт такого файла кодирует один символ из набора ASCII. Грубо говоря, один байт — один знак. Такой тип файлов не содержит ничего, кроме текста! В этом легко убедиться, открыв текстовый файл в HEX-редакторе.

Однако 8-битной кодировки явно недостаточно для обозначения всех символов всех алфавитов. Точнее, закодировать можно, но нужно прямо оговаривать кодовую страницу — символам какого алфавита соответствуют 8битные коды в данном случае. Например, если текст сохранен в кодовой странице DOS866, а вы открываете его в Блокноте, который работает с кодовой страницей Win1251, вместо русских букв вы увидите «крякозябры».

В последнее время нормой стала кодировка Unicode, в которой для хранения одного символа используется 4 байта (32 бита). Программам не надо «думать» о кодовых страницах — набора Unicode с избытком хватит для кодирования всех живых и мертвых алфавитов. Так появились текстовые файлы в кодировке Unicode: четыре байта — один знак.

Разные представления Unicode отличаются числом битов, задействованных в кодировании символа (UTF-8, UTF-16, UTF-32), а также порядком байтов: big endian (BE) — старший байт записан перед младшим, little endian (LE) — обратный порядок. Для относительной совместимости со старыми ОС и программами применяется такое представление кодировки Unicode, как UTF-8. В тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Блокнот Windows 7 позволяет сохранять текстовые файлы в одной из четырех кодировок на выбор.

Текстовые файлы в кодировке Unicode UTF-8 содержат в самом начале последовательность EF BB BF. Это метка порядка байтов (Byte Order Mark, BOM), иначе называемая сигнатурой файла UTF-8.

Если файл сохранен в других представлениях Unicode, и сигнатуры будут другими:

UTF-16BE — FE FF;

UTF-16LE — FF FE;

UTF-32BE — 00 00 FE FF;

UTF-32LE — FF FE 00 00.

Благодаря сигнатурам программы при открытии таких файлов правильно интерпретируют значения последующих байтов. Если же сигнатуры нет, это файл либо в 8битной кодировке, либо в UTF-16BE или UTF-32BE.

 
  • Карта сайта.
  • Поиск

    ===============================

    Интернет теперь в твоей судьбе!

    В интернете принято дарить -

    Музыку, свои воспоминанья...

    Тянется невидимая нить

    Через страны, дни и расстоянья.

    Незнакомым людям дарят сны,

    Нежные стихи и пожеланья...

    Теплые слова всегда нужны

    В мире виртуального свиданья.

    Тот, кто дарит - чувствует сильней,

    Ничего не требуя в награду.

    Подарить другим любовь сумей,

    Потому что это многим надо!

    И вернутся смайлики к тебе,

    И друзья появятся, конечно.

    Интернет теперь в твоей судьбе -

    На короткий миг, длиною в вечность!

    П.Давыдов

    ===============================

    Войти


    Яндекс.Метрика