Кодировки для хранения русского текста
Рассмотрим кодировки, которые в нижней своей части совпадают с 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 (что делает несовместимым текст программы и результат ее выполнения).