Кодировки для хранения русского текста

Рассмотрим кодировки, которые в нижней своей части совпадают с ASCII.

Кодировка utf-8

  • Преимущества:
    • может хранить не только русский текст
    • как следствие - универсальная
    • как следствие - хранит и абсолютно все типографические символы (различные варианты кавычек и т.д.)
  • Недостатки:
    • символ кодируется переменным числом байт
    • как следствие - utf-8 файл вообще говоря не текстовый, а бинарный.
    • на хранение русских символов требуется более одного байта.

Кодировка koi8-r

От КОИ8 (код обмена информацией 8 битный)

Распространена среди в unix-системах. В последнее время вытесняется utf-8, но не до конца.
  • Преимущества:
    • русские буквы смещены относительно аналогичных (фонетически) английских на 128. Т.е. если от кода русской буквы 'ц' убрать старший бит (от равен 1), то получим C (а для 'Ц' - 'c');
  • Недостатки:
    • буквы русского алфавита расположены не по порядку ( А<Ц<Б )

Кодировка cp866

Использовалась на IBM-совместимых системах. Присутствует в Windows-консоли.
  • Преимущества:
    • псевдографические символы совпадают с cp437
  • Недостатки:
    • почти нет (разве что отсутствие значка копирайта).

Кодировка windows-1251

Основная кодировка в Windows-системах (русских).
  • Преимущества:
    • большое количество типографических знаков (например, русские кавычки)
  • Недостатки:
    • нет символов псевдографики (то, из чего рисуют рамочки в терминале), поэтому в самих Windows для этих целей приходится использовать cp866 (что делает несовместимым текст программы и результат ее выполнения).
Topic revision: r1 - 03 Oct 2010, RomanKondakov
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback