Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2015

О кодировках

  1. Файл на диске и в оперативной памяти хранится в виде последовательностей нулей и единиц.
  2. Восемь двоичных цифр называют байтом. Всего 256 разных байтов. Их обозначают 0, 1, 2, ..., 255:
    • 0 = 00000000
    • 1 = 00000001
    • 2 = 00000010
    • 3 = 00000011
    • ............
    • 255 = 11111111
  3. Или так:
    • 00 = 00000000
    • 01 = 00000001
    • 02 = 00000010
    • 03 = 00000011
    • ............
    • 08 = 00001000
    • 09 = 00001001
    • 0A = 00001010
    • 0B = 00001011
    • .............
    • 0F = 00001111
    • 10 = 00010000
    • .............
    • F0 = 11110000
    • .............
    • FF = 11111111
  4. Такая запись называется двузначным 16-ричным числом
  5. В текстовом файле каждому байту соответствует значок, отображаемый программой – редактором текста на экране – буква маленькая или большая, цифра, знак препинания или еще какой-нибудь символ.

  6. При вводе текста с помощью редактора каждой клавише на клавиатуре и многим сочетаниям клавиш соответсвкет свой байт (например, Shift + A для большой буквы A)
  7. Посмотреть на сами байты в файле, а не на значки, в FAR можно Viewer'ом (F3 → F4); байты показываются в 16-ричном виде

  8. Таблица соответствия байт <=> значок называется кодировкой. Первых 128 байтов (с нулём в певрой позиции) хватает, чтобы закодировать знаки, используемые в английском языке, ставшие международным стандартом. Всех 256 байтов хватает для совместного использования русского и английского языков.

  9. Существует несколько кодировок кириллицы: cp1251 – стандартная для Windows, cp866 – старая, KOI8-R – стандартная для Linux и др.

  10. Во всех этих кодировках первые 128 байтов соответствуют одним и тем же значкам, а именно, английским буквам и ряду стандартных знаков (цифрам, знакам препинания и др.) Кириллические буквы не входят в число первых 128 байтов.
  11. Придумана универсальная система знаков Юникод. В ней представлены более 1 млн знаков, используемых человечеством. Для кодирования этого огромного кодового пространства одного байта недостаточно. Есть универсальные кодировки, которые используют переменное число байтов на один знак. Одна из таких кодировок – UTF-8. Недостаток – она сложная, преимущество – в ней можно закодировать текст на любом языке.

  12. Если набрать русский текст с помощью клавиатуры, вводящей символы в одной кодировке, а посмотреть на него с помощью редактора, использующего другую кодировку, увидите абракадабру. Наверное, вы видали такое на некоторых веб-страницах или еще где-нибудь :)

  13. Бороться можно двумя способами:
    • можно указать редактору, какую кодировку использовать;
    • можно изменить сам текстовый файл – перевести его из одной кодировки в другую. При этом байты изменятся, т.к. в разных кодировках один и тот же знак кодируется разными байтами.

  14. FAR позволяет переключить кодировку для отображения текста, не изменяя сам файл (F8 или Shift+F8).
  15. FAR позволяет изменить кодировку в файле (Ctrl+A – выделить весь текст, Ctrl+X – убрать в карман, F8 или Shift+F8 для переключения кодировки, Ctrl+V – вставка текста, после этого при сохранении файла он меняется – происходит перекодирование в самом файле).