Win1251 таблица: Таблицы кодировок ASCII, CP1251 (windows1251), ISO-8859-5 — Микроконтроллеры для всех

Содержание

Таблицы кодировок ASCII, CP1251 (windows1251), ISO-8859-5 — Микроконтроллеры для всех

Таблица ASCII

Таблица ASCII (American standard code for information interchange) является мировым стандартом для кодирования букв английского алфавита, популярных спец символов (! $ # % & и т.д.) и некоторых непечатных символов (например, возврат каретки 0x0D и перенос строки 0х0А).

Таблица создавалась те времена, когда возникла необходимость связать символы и числа. А такое соответствие необходимо было для того что бы с помощью чисел можно было передать текстовое сообщение между разными устройствами с цифровой связью.

Таблица CP1251 (windows-1251)

Эта кодировочная таблица может называться или CP1251 или Windows-1251 Это стандарт кодирования кириллических символов в операционных системах windows с русскоязычным интерфейсом.

Первая часть этой таблицы (до байта 0x7F) повторяет таблицу ASCII, а вторая часть (от 0x80 до 0xFF) кодирует кириллические символы в алфавитном порядке.

CP1251 (windows-1251)

Таблица IS0-8859-5

Эта кодировка применяется в дисплеях Nextion для кодирования кириллических символов.

Стоит обратить внимание, что в данной таблице кириллические символы расположены в алфавитном порядке и сдвинуты ровно на 16 байт по сравнению с кодировочной таблицей windows-1251.

Кодировка UTF-8
(Unicode Transformation Format)

Очень распространенный формат кодирования символов, позволяющий кодировать символы переменным количеством байт.

Например, если для кодирования номера символа требуется 21 бит, то используется 4 байта для кодировки. Если для кодирования достаточно 11 бит, то используют 2 байта. А если номер символа может быть закодирован 7 битами, то используется один байт.

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

Все ASCII символы в кодировке UTF8 закодированы без изменений, то есть 1 байтом, как в стандартной таблице ASCII.

А вот остальные символы закодированы количеством байт от 2 до 4.

Кириллические символы закодированы двумя байтами.

Postgres Pro Standard : Документация: 9.5: 22.3. Поддержка кодировок : Компания Postgres Professional

22.3. Поддержка кодировок

Поддержка кодировок в Postgres Pro позволяет хранить текст в различных кодировках, включая однобайтовые кодировки, такие как входящие в семейство ISO 8859 и многобайтовые кодировки, такие как EUC (Extended Unix Code), UTF-8 и внутренний код Mule. Все поддерживаемые кодировки могут прозрачно использоваться клиентами, но некоторые не поддерживаются сервером (в качестве серверной кодировки). Кодировка по умолчанию выбирается при инициализации кластера базы данных Postgres Pro при помощи initdb. Она может быть переопределена при создании базы данных, что позволяет иметь несколько баз данных с разными кодировками.

Важным ограничением, однако, является то, что кодировка каждой базы данных должна быть совместима с параметрами локали базы данных LC_CTYPE (классификация символов) и LC_COLLATE (порядок сортировки строк). Для локали C или POSIX подойдёт любой набор символов, но для других локалей есть только одна кодировка, которая будет работать правильно. (Однако, в среде Windows кодировка UTF-8 может использоваться с любой локалью.)

22.3.1. Поддерживаемые кодировки

Таблица 22.1 показывает кодировки, доступные для использования в Postgres Pro.

Таблица 22.1. Кодировки Postgres Pro

ИмяОписаниеЯзыкПоддержка на сервереБайтов на символПсевдонимы
BIG5Big FiveТрадиционные китайские иероглифыНет1-2WIN950, Windows950
EUC_CNExtended UNIX Code-CNУпрощённые китайские иероглифыДа1-3 
EUC_JPExtended UNIX Code-JPЯпонскийДа1-3 
EUC_JIS_2004Extended UNIX Code-JP, JIS X 0213ЯпонскийДа1-3 
EUC_KRExtended UNIX Code-KRКорейскийДа1-3 
EUC_TWExtended UNIX Code-TWТрадиционные китайские иероглифы, тайваньскийДа1-3 
GB18030Национальный стандартКитайскийНет1-4 
GBKРасширенный национальный стандартУпрощённые китайские иероглифыНет1-2WIN936, Windows936
ISO_8859_5ISO 8859-5, ECMA 113Латинский/КириллицаДа1 
ISO_8859_6ISO 8859-6, ECMA 114Латинский/АрабскийДа1 
ISO_8859_7ISO 8859-7, ECMA 118Латинский/ГреческийДа1 
ISO_8859_8ISO 8859-8, ECMA 121Латинский/ИвритДа1 
JOHABJOHABКорейский (Хангыль)Нет1-3 
KOI8RKOI8-RКириллица (Русский)Да1KOI8
KOI8UKOI8-UКириллица (Украинский)Да1 
LATIN1ISO 8859-1, ECMA 94ЗападноевропейскиеДа1ISO88591
LATIN2ISO 8859-2, ECMA 94ЦентральноевропейскиеДа1ISO88592
LATIN3ISO 8859-3, ECMA 94ЮжноевропейскиеДа1ISO88593
LATIN4ISO 8859-4, ECMA 94СевероевропейскиеДа1ISO88594
LATIN5ISO 8859-9, ECMA 128ТурецкийДа1ISO88599
LATIN6ISO 8859-10, ECMA 144СкандинавскиеДа1ISO885910
LATIN7ISO 8859-13БалтийскиеДа1ISO885913
LATIN8ISO 8859-14КельтскиеДа1ISO885914
LATIN9ISO 8859-15LATIN1 c европейскими языками и диалектамиДа1ISO885915
LATIN10ISO 8859-16, ASRO SR 14111РумынскийДа1ISO885916
MULE_INTERNALВнутренний код MuleМультиязычный редактор EmacsДа1-4 
SJISShift JISЯпонскийНет1-2Mskanji, ShiftJIS, WIN932, Windows932
SHIFT_JIS_2004Shift JIS, JIS X 0213ЯпонскийНет1-2 
SQL_ASCIIне указан (см. текст)anyДа1 
UHCУнифицированный код ХангыльКорейскийНет1-2WIN949, Windows949
UTF8Unicode, 8-bitвсеДа1-4Unicode
WIN866Windows CP866КириллицаДа1ALT
WIN874Windows CP874ТайскийДа1 
WIN1250Windows CP1250ЦентральноевропейскиеДа1 
WIN1251Windows CP1251КириллицаДа1WIN
WIN1252Windows CP1252ЗападноевропейскиеДа1 
WIN1253Windows CP1253ГреческийДа1 
WIN1254Windows CP1254ТурецкийДа1 
WIN1255Windows CP1255ИвритДа1 
WIN1256Windows CP1256АрабскийДа1 
WIN1257Windows CP1257БалтийскиеДа1 
WIN1258Windows CP1258ВьетнамскийДа1ABC, TCVN, TCVN5712, VSCII

Не все клиентские API поддерживают все перечисленные кодировки. Например, драйвер интерфейса JDBC Postgres Pro не поддерживает MULE_INTERNAL, LATIN6, LATIN8 и LATIN10.

Поведение кодировки SQL_ASCII существенно отличается от других. Когда набором символов сервера является SQL_ASCII, сервер интерпретирует значения от 0 до 127 байт согласно кодировке ASCII, тогда как значения от 128 до 255 воспринимаются как незначимые. Перекодировка не будет выполнена при выборе SQL_ASCII. Таким образом, этот вариант является не столько объявлением того, что используется определённая кодировка, сколько объявлением того, что кодировка игнорируется. В большинстве случаев, если вы работаете с любыми данными, отличными от ASCII, не стоит использовать SQL_ASCII, так как Postgres Pro не сможет преобразовать или проверить символы, отличные от ASCII.

22.3.2. Настройка кодировки

initdb определяет кодировку по умолчанию для кластера Postgres Pro. Например,

initdb -E EUC_JP

настраивает кодировку по умолчанию на EUC_JP (Расширенная система кодирования для японского языка). Можно использовать --encoding вместо -E в случае предпочтения более длинных имён параметров. Если параметр -E или --encoding не задан, initdb пытается определить подходящую кодировку в зависимости от указанной или заданной по умолчанию локали.

При создании базы данных можно указать кодировку, отличную от заданной по умолчанию, если эта кодировка совместима с выбранной локалью:

createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr korean

Это создаст базу данных с именем korean, которая использует кодировку EUC_KR и локаль ko_KR. Также, получить желаемый результат можно с помощью данной SQL-команды:

CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;

Заметьте, что приведённые выше команды задают копирование базы данных template0. При копировании любой другой базы данных, параметры локали и кодировку исходной базы изменить нельзя, так как это может привести к искажению данных. Более подробное описание приведено в Разделе 21.3.

Кодировка базы данных хранится в системном каталоге pg_database. Её можно увидеть при помощи параметра psql -l или команды \l.

$ psql -l
                                         List of databases
   Name    |  Owner   | Encoding  |  Collation  |    Ctype    |          Access Privileges          
-----------+----------+-----------+-------------+-------------+-------------------------------------
 clocaledb | hlinnaka | SQL_ASCII | C           | C           | 
 englishdb | hlinnaka | UTF8      | en_GB.UTF8  | en_GB.UTF8  | 
 japanese  | hlinnaka | UTF8      | ja_JP.UTF8  | ja_JP.UTF8  | 
 korean    | hlinnaka | EUC_KR    | ko_KR.euckr | ko_KR.euckr | 
 postgres  | hlinnaka | UTF8      | fi_FI.UTF8  | fi_FI.UTF8  | 
 template0 | hlinnaka | UTF8      | fi_FI.UTF8  | fi_FI.UTF8  | {=c/hlinnaka,hlinnaka=CTc/hlinnaka}
 template1 | hlinnaka | UTF8      | fi_FI.UTF8  | fi_FI.UTF8  | {=c/hlinnaka,hlinnaka=CTc/hlinnaka}
(7 rows)

Важно

На большинстве современных операционных систем Postgres Pro может определить, какая кодировка подразумевается параметром LC_CTYPE, что обеспечит использование только соответствующей кодировки базы данных. На более старых системах необходимо самостоятельно следить за тем, чтобы использовалась кодировка, соответствующая выбранной языковой среде. Ошибка в этой области, скорее всего, приведёт к странному поведению зависимых от локали операций, таких как сортировка.

Postgres Pro позволит суперпользователям создавать базы данных с кодировкой SQL_ASCII, даже когда значение LC_CTYPE не установлено в C или POSIX. Как было сказано выше, SQL_ASCII не гарантирует, что данные, хранящиеся в базе, имеют определённую кодировку, и таким образом, этот выбор чреват сбоями, связанными с локалью. Использование данной комбинации устарело и, возможно, будет полностью запрещено.

22.3.3. Автоматическая перекодировка между сервером и клиентом

Postgres Pro поддерживает автоматическую перекодировку между сервером и клиентом для определённых комбинаций кодировок. Информация, касающаяся перекодировки, хранится в системном каталоге pg_conversion. Postgres Pro включает в себя некоторые предопределённые кодировки, как показано в Таблице 22.2. Есть возможность создать новую перекодировку при помощи SQL-команды CREATE CONVERSION.

Таблица 22.2. Клиент-серверные перекодировки наборов символов

Серверная кодировкаДоступные клиентские кодировки
BIG5не поддерживается как серверная кодировка
EUC_CNEUC_CN, MULE_INTERNAL, UTF8
EUC_JPEUC_JP, MULE_INTERNAL, SJIS, UTF8
EUC_JIS_2004EUC_JIS_2004, SHIFT_JIS_2004, UTF8
EUC_KREUC_KR, MULE_INTERNAL, UTF8
EUC_TWEUC_TW, BIG5, MULE_INTERNAL, UTF8
GB18030не поддерживается как серверная кодировка
GBKне поддерживается как серверная кодировка
ISO_8859_5ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, WIN866, WIN1251
ISO_8859_6ISO_8859_6, UTF8
ISO_8859_7ISO_8859_7, UTF8
ISO_8859_8ISO_8859_8, UTF8
JOHABне поддерживается как серверная кодировка
KOI8RKOI8R, ISO_8859_5, MULE_INTERNAL, UTF8, WIN866, WIN1251
KOI8UKOI8U, UTF8
LATIN1LATIN1, MULE_INTERNAL, UTF8
LATIN2LATIN2, MULE_INTERNAL, UTF8, WIN1250
LATIN3LATIN3, MULE_INTERNAL, UTF8
LATIN4LATIN4, MULE_INTERNAL, UTF8
LATIN5LATIN5, UTF8
LATIN6LATIN6, UTF8
LATIN7LATIN7, UTF8
LATIN8LATIN8, UTF8
LATIN9LATIN9, UTF8
LATIN10LATIN10, UTF8
MULE_INTERNALMULE_INTERNAL, BIG5, EUC_CN, EUC_JP, EUC_KR, EUC_TW, ISO_8859_5, KOI8R, LATIN1 to LATIN4, SJIS, WIN866, WIN1250, WIN1251
SJISне поддерживается как серверная кодировка
SHIFT_JIS_2004не поддерживается как серверная кодировка
SQL_ASCIIлюбая (перекодировка не будет выполнена)
UHCне поддерживается как серверная кодировка
UTF8все поддерживаемые кодировки
WIN866WIN866, ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, WIN1251
WIN874WIN874, UTF8
WIN1250WIN1250, LATIN2, MULE_INTERNAL, UTF8
WIN1251WIN1251, ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, WIN866
WIN1252WIN1252, UTF8
WIN1253WIN1253, UTF8
WIN1254WIN1254, UTF8
WIN1255WIN1255, UTF8
WIN1256WIN1256, UTF8
WIN1257WIN1257, UTF8
WIN1258WIN1258, UTF8

Чтобы включить автоматическую перекодировку символов, необходимо сообщить Postgres Pro кодировку, которую вы хотели бы использовать на стороне клиента. Это можно выполнить несколькими способами:

  • Использование команды \encoding в psql. \encoding позволяет оперативно изменять клиентскую кодировку. Например, чтобы изменить кодировку на SJIS, введите:

    \encoding SJIS
  • libpq (Раздел 31.10) имеет функции, для управления клиентской кодировкой.

  • Использование SET client_encoding TO. Клиентская кодировка устанавливается следующей SQL-командой:

    SET CLIENT_ENCODING TO 'value';

    Также, для этой цели можно использовать стандартный синтаксис SQL SET NAMES:

    SET NAMES 'value';

    Получить текущую клиентскую кодировку:

    SHOW client_encoding;

    Вернуть кодировку по умолчанию:

    RESET client_encoding;
  • Использование PGCLIENTENCODING. Если установлена переменная окружения PGCLIENTENCODING, то эта клиентская кодировка выбирается автоматически при подключении к серверу. (В дальнейшем это может быть переопределено при помощи любого из методов, указанных выше.)

  • Использование переменной конфигурации client_encoding. Если задана переменная client_encoding, указанная клиентская кодировка выбирается автоматически при подключении к серверу. (В дальнейшем это может быть переопределено при помощи любого из методов, указанных выше.)

Если перекодировка определённого символа невозможна (предположим, выбраны EUC_JP для сервера и LATIN1 для клиента, и передаются некоторые японские иероглифы, не представленные в LATIN1), возникает ошибка.

Если клиентская кодировка определена как SQL_ASCII, перекодировка отключается вне зависимости от кодировки сервера. Что же касается сервера, не стоит использовать SQL_ASCII, если только вы не работаете с данными, которые полностью соответствуют ASCII.

22.3.4. Дополнительные источники информации

Рекомендуемые источники для начала изучения различных видов систем кодирования.

Обработка информации на китайском, японском, корейском & вьетнамском языках.

Содержит подробные объяснения по EUC_JP, EUC_CN, EUC_KR, EUC_TW.

http://www.unicode.org/

Сайт Unicode Consortium.

RFC 3629

UTF-8 (формат преобразования 8-битного UCS/Unicode) определён здесь.

Урок 14. кодирование текстовой информации — Информатика — 10 класс

Информатика, 10 класс. Урок № 14.

Тема — Кодирование текстовой информации

Цели и задачи урока:

— познакомиться со способами кодирования и декодирования текстовой информации с помощью кодовых таблиц и компьютера;

— познакомиться со способом определения информационного объема текстового сообщения;

— познакомиться с алгоритмом Хаффмана.

Вся информация в компьютере хранится в двоичном коде. Поэтому надо научиться преобразовывать символы в двоичный код.

Формула Хартли определяет количество информации в зависимости от количества возможных вариантов:

N=2i, где

N — это количество вариантов,

i — это количество бит, не обходимых для кодирования.

Если же мы преобразуем эту формулу и примем за N — количество символов в используемом алфавите (назовем это мощностью алфавита), то мы поймем, сколько памяти потребуется для кодирования одного символа.

N=2i, где N — кол-во возможных вариантов

i — кол-во бит, потребуемых для кодирования

Итак, если в нашем алфавите будет присутствовать только 32 символа, то каждый из них займет только 5 бит.

И тогда каждому символу мы дадим уникальный двоичный код. Такую таблицу мы будем назвать кодировочной.

Первая широко используемая кодировочная таблица была создана в США и называлась ASCII, что в переводе означало American standard code for information interchange. Как вы видите, в таблице присутствуют не только латинские буквы, но и цифры, и даже действия. Каждому символу отводится 7 бит, а значит, всего было закодировано 128 символов.

Но так как этого количества было недостаточно, стали создаваться другие таблицы, в которых можно было закодировать и другие символы. Например, таблица Windows-1251, которая, по сути, являлась изменением таблицы ASCII, в которую добавили буквы кириллицы. Таких таблиц было создано множество: MS-DOS, КОИ-8, ISO, Mac и другие:

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

Поэтому была разработана международная таблица кодировки Unicode, включающая в себя как символы английского, русского, немецкого, арабского и других языков. На каждый символ в такой таблице отводится 16 бит, то есть она позволяет кодировать 65536 символов. Однако использование такой таблицы сильно «утяжеляет» текст. Поэтому существуют различные алгоритмы неравномерной кодировки текста, например, алгоритм Хаффмана.

АЛГОРИТМ ХАФФМАНА

Идея алгоритма Хаффмана основана на частоте появления символа в последовательности. Символ, который встречается в последовательности чаще всего, получает новый очень маленький код, а символ, который встречается реже всего, получает, наоборот, очень длинный код.

Пусть нам дано сообщение aaabcbeeffaabfffedbac.

Чтобы узнать наиболее выгодный префиксный код для такого сообщения, надо узнать частоту появления каждого символа в сообщении.

Шаг 1.

Подсчитайте и внесите в таблицу частоту появления каждого символа в сообщении:

У вас должно получиться:

Шаг 2.

Расположите буквы в порядке возрастания их частоты.

Шаг 3.

Теперь возьмем два символа с наименьшей чистотой и представим их листьями в дереве, частота которого будет равна сумме частот этих листьев.

Символы d и c превращаются в ветку дерева:

Шаг 4.

Проделываем эти шаги до тех пор, пока не получится дерево, содержащее все символы.

Итак, сортируем таблицу:

Шаг 5.

Объединяем символ e и символ cd в ветку дерева:

d

C

Шаг 6.

Сортируем:

Шаг 7.

Шаг 8.

Сортируем:

Шаг 9.

Шаг 10.

Сортируем:

Шаг 11.

Шаг 12.

Получился префиксный код. Теперь осталось расставить 1 и 0. Пусть каждая правая ветвь обозначает 1, а левая — 0.

Шаг 13.

Составляем код буквы, идя по ветке дерева от буквы к основанию дерева.

Тогда код для каждой буквы будет:

Задание №1

Закодируйте ASCII кодом слово MOSCOW.

Решение:

Составим таблицу и поместим туда слово MOSCOW. Используя таблицу ASCII кодов, закодируем все буквы слова:

M

O

S

C

O

W

1001101

1001111

1010011

1000011

1001111

1110111

ОТВЕТ: 100110110011111010011100001110011111110111

Задание №2

Используя табличный код Windows1251, закодируйте слово КОМПЬЮТЕР.

Решение:

К

О

М

П

Ь

Ю

Т

Е

Р

234

206

204

239

252

254

242

197

208

Ответ: 234206204239252254242197208

Задание №3

Используя алгоритма Хаффмана, закодируйте сообщение: Россия

Решение:

Давайте все левые ветви обозначим «1», а правые – «0»

Таким образом: С — 0, Р — 101, О — 100, И — 111, Я — 110

ОТВЕТ: 10110000111110

ASCII таблица / Программирование / stD

ASCIIAmericanStandardCode forInformationInterchange.

ASCII была разработана (1963 год) для кодирования символов, коды которых помещались в 7 бит (128 символов). Со временем кодировка была расширена до 8-ми бит (256 символов), коды первых 128-и символов не изменились.

Управляющие символы ASCII (код символа 0-31)

Первые 32 символа в ASCII-таблице не имеют печатных кодов и используются для управления периферийными устройствами, телетайпами, принтерами и т.д.

DECOCTHEXBINSymbolHTML NumberHTML NameDescription
00000x0000000000NUL \0& #000; Null char
10010x0100000001SOH& #001; Start of Heading
20020x0200000010STX& #002; Start of Text
30030x0300000011ETX& #003; End of Text
40040x0400000100EOT& #004; End of Transmission
50050x0500000101ENQ& #005; Enquiry
60060x0600000110ACK& #006; Acknowledgment
70070x0700000111BEL& #007; Bell
80100x0800001000BS& #008; Back Space
90110x0900001001HT \t& #009; Tab
100120x0A00001010LF \n& #010; Новая строка
110130x0B00001011VT& #011; Vertical Tab
120140x0C00001100FF& #012; Form Feed
130150x0D00001101CR \r& #013; Возврат каретки
140160x0E00001110SO& #014; Shift Out / X-On
150170x0F00001111SI& #015; Shift In / X-Off
160200x1000010000DLE& #016; Data Line Escape
170210x1100010001DC1& #017; Device Control 1 (oft. XON)
180220x1200010010DC2& #018; Device Control 2
190230x1300010011DC3& #019; Device Control 3 (oft. XOFF)
200240x1400010100DC4& #020; Device Control 4
210250x1500010101NAK& #021; Negative Acknowledgement
220260x1600010110SYN& #022; Synchronous Idle
230270x1700010111ETB& #023; End of Transmit Block
240300x1800011000CAN& #024; Cancel
250310x1900011001EM& #025; End of Medium
260320x1A00011010SUB& #026; Substitute
270330x1B00011011ESC& #027; Escape
280340x1C00011100FS& #028; File Separator
290350x1D00011101GS& #029; Group Separator
300360x1E00011110RS& #030; Record Separator
310370x1F00011111US& #031; Unit Separator
DECOCTHEXBINSymbolHTML NumberHTML NameDescription
Печатные символы ASCII (код символа 32-127)

Буквы, цифры, знаки препинания и другие символы расположенные на клавиатуре (англ.).

DECOCTHEXBINSymbolHTML NumberHTML NameDescription
320400x2000100000 & #32; Space
330410x2100100001!& #33; Exclamation mark
340420x2200100010«& #34;& quot;Double quotes (or speech marks)
350430x2300100011#& #35; Number
360440x2400100100$& #36; Dollar
370450x2500100101%& #37; Procenttecken
380460x2600100110&& #38;& amp;Ampersand
390470x2700100111& #39; Single quote
400500x2800101000(& #40; Open parenthesis (or open bracket)
410510x2900101001)& #41; Close parenthesis (or close bracket)
420520x2A00101010*& #42; Asterisk
430530x2B00101011+& #43; Plus
440540x2C00101100,& #44; Comma
450550x2D00101101& #45; Hyphen
460560x2E00101110.& #46; Period, dot or full stop
470570x2F00101111/& #47; Slash or divide
480600x30001100000& #48; Zero
490610x31001100011& #49; One
500620x32001100102& #50; Two
510630x33001100113& #51; Three
520640x34001101004& #52; Four
530650x35001101015& #53; Five
540660x36001101106& #54; Six
550670x37001101117& #55; Seven
560700x38001110008& #56; Eight
570710x39001110019& #57; Nine
580720x3A00111010:& #58; Colon
590730x3B00111011;& #59; Semicolon
600740x3C00111100<& #60;& lt;Less than (or open angled bracket)
610750x3D00111101=& #61; Equals
620760x3E00111110>& #62;& gt;Greater than (or close angled bracket)
630770x3F00111111?& #63; Question mark
641000x4001000000@& #64; At symbol
651010x4101000001A& #65; A
661020x4201000010B& #66; B
671030x4301000011C& #67; C
681040x4401000100D& #68; D
691050x4501000101E& #69; E
701060x4601000110F& #70; F
711070x4701000111G& #71; G
721100x4801001000H& #72; H
731110x4901001001I& #73; I
741120x4A01001010J& #74; J
751130x4B01001011K& #75; K
761140x4C01001100L& #76; L
771150x4D01001101M& #77; M
781160x4E01001110N& #78; N
791170x4F01001111O& #79; O
801200x5001010000P& #80; P
811210x5101010001Q& #81; Q
821220x5201010010R& #82; R
831230x5301010011S& #83; S
841240x5401010100T& #84; T
851250x5501010101U& #85; U
861260x5601010110V& #86; V
871270x5701010111W& #87; W
881300x5801011000X& #88; X
891310x5901011001Y& #89; Y
901320x5A01011010Z& #90; Z
911330x5B01011011[& #91; Opening bracket
921340x5C01011100\& #92; Backslash
931350x5D01011101]& #93; Closing bracket
941360x5E01011110^& #94; Caret — circumflex
951370x5F01011111_& #95; Underscore
961400x6001100000`& #96; Grave accent
971410x6101100001a& #97; a
981420x6201100010b& #98; b
991430x6301100011c& #99; c
1001440x6401100100d& #100; d
1011450x6501100101e& #101; e
1021460x6601100110f& #102; f
1031470x6701100111g& #103; g
1041500x6801101000h& #104; h
1051510x6901101001i& #105; i
1061520x6A01101010j& #106; j
1071530x6B01101011k& #107; k
1081540x6C01101100l& #108; l
1091550x6D01101101m& #109; m
1101560x6E01101110n& #110; n
1111570x6F01101111o& #111; o
1121600x7001110000p& #112; p
1131610x7101110001q& #113; q
1141620x7201110010r& #114; r
1151630x7301110011s& #115; s
1161640x7401110100t& #116; t
1171650x7501110101u& #117; u
1181660x7601110110v& #118; v
1191670x7701110111w& #119; w
1201700x7801111000x& #120; x
1211710x7901111001y& #121; y
1221720x7A01111010z& #122; z
1231730x7B01111011{& #123; Opening brace
1241740x7C01111100|& #124; Vertical bar
1251750x7D01111101}& #125; Closing brace
1261760x7E01111110~& #126; Equivalency sign — tilde
1271770x7F01111111 & #127; Delete
DECOCTHEXBINSymbolHTML NumberHTML NameDescription
Расширенные символы ASCII Win-1251 кириллица (код символа 128-255)
DECOCTHEXBINSymbol
1282000x8010000000Ђ
1292010x8110000001Ѓ
1302020x8210000010
1312030x8310000011ѓ
1322040x8410000100
1332050x8510000101
1342060x8610000110
1352070x8710000111
1362100x8810001000
1372110x8910001001
1382120x8A10001010Љ
1392130x8B10001011
1402140x8C10001100Њ
1412150x8D10001101Ќ
1422160x8E10001110Ћ
1432170x8F10001111Џ
1442200x9010010000Ђ
1452210x9110010001
1462220x9210010010
1472230x9310010011
1482240x9410010100
1492250x9510010101
1502260x9610010110
1512270x9710010111
1522300x9810011000 
1532310x9910011001
1542320x9A10011010љ
1552330x9B10011011
1562340x9C10011100њ
1572350x9D10011101ќ
1582360x9E10011110ћ
1592370x9F10011111џ
1602400xA010100000 
1612410xA110100001Ў
1622420xA210100010ў
1632430xA310100011Ј
1642440xA410100100¤
1652450xA510100101Ґ
1662460xA610100110¦
1672470xA710100111§
1682500xA810101000Ё
1692510xA910101001©
1702520xAA10101010Є
1712530xAB10101011«
1722540xAC10101100¬
1732550xAD10101101­ 
1742560xAE10101110®
1752570xAF10101111Ї
1762600xB010110000°
1772610xB110110001±
1782620xB210110010І
1792630xB310110011і
1802640xB410110100ґ
1812650xB510110101µ
1822660xB610110110
1832670xB710110111·
1842700xB810111000ё
1852710xB910111001
1862720xBA10111010є
1872730xBB10111011»
1882740xBC10111100ј
1892750xBD10111101Ѕ
1902760xBE10111110ѕ
1912770xBF10111111ї
1923000xC011000000А
1933010xC111000001Б
1943020xC211000010В
1953030xC311000011Г
1963040xC411000100Д
1973050xC511000101Е
1983060xC611000110Ж
1993070xC711000111З
2003100xC811001000И
2013110xC911001001Й
2023120xCA11001010К
2033130xCB11001011Л
2043140xCC11001100М
2053150xCD11001101Н
2063160xCE11001110О
2073170xCF11001111П
2083200xD011010000Р
2093210xD111010001С
2103220xD211010010Т
2113230xD311010011У
2123240xD411010100Ф
2133250xD511010101Х
2143260xD611010110Ц
2153270xD711010111Ч
2163300xD811011000Ш
2173310xD911011001Щ
2183320xDA11011010Ъ
2193330xDB11011011Ы
2203340xDC11011100Ь
2213350xDD11011101Э
2223360xDE11011110Ю
2233370xDF11011111Я
2243400xE011100000а
2253410xE111100001б
2263420xE211100010в
2273430xE311100011г
2283440xE411100100д
2293450xE511100101е
2303460xE611100110ж
2313470xE711100111з
2323500xE811101000и
2333510xE911101001й
2343520xEA11101010к
2353530xEB11101011л
2363540xEC11101100м
2373550xED11101101н
2383560xEE11101110о
2393570xEF11101111п
2403600xF011110000р
2413610xF111110001с
2423620xF211110010т
2433630xF311110011у
2443640xF411110100ф
2453650xF511110101х
2463660xF611110110ц
2473670xF711110111ч
2483700xF811111000ш
2493710xF911111001щ
2503720xFA11111010ъ
2513730xFB11111011ы
2523740xFC11111100ь
2533750xFD11111101э
2543760xFE11111110ю
2553770xFF11111111я
DECOCTHEXBINSymbol
Расширенные символы ASCII Win-1252 (код символа 128-255)
DECOCTHEXBINSymbol
1282000x8010000000
1292010x8110000001 
1302020x8210000010
1312030x8310000011ƒ
1322040x8410000100
1332050x8510000101
1342060x8610000110
1352070x8710000111
1362100x8810001000ˆ
1372110x8910001001
1382120x8A10001010Š
1392130x8B10001011
1402140x8C10001100Œ
1412150x8D10001101 
1422160x8E10001110Ž
1432170x8F10001111 
1442200x9010010000 
1452210x9110010001
1462220x9210010010
1472230x9310010011
1482240x9410010100
1492250x9510010101
1502260x9610010110
1512270x9710010111
1522300x9810011000˜
1532310x9910011001
1542320x9A10011010š
1552330x9B10011011
1562340x9C10011100œ
1572350x9D10011101 
1582360x9E10011110ž
1592370x9F10011111Ÿ
1602400xA010100000 
1612410xA110100001¡
1622420xA210100010¢
1632430xA310100011£
1642440xA410100100¤
1652450xA510100101¥
1662460xA610100110¦
1672470xA710100111§
1682500xA810101000¨
1692510xA910101001©
1702520xAA10101010ª
1712530xAB10101011«
1722540xAC10101100¬
1732550xAD10101101­�­
1742560xAE10101110®
1752570xAF10101111¯
1762600xB010110000°
1772610xB110110001±
1782620xB210110010²
1792630xB310110011³
1802640xB410110100´
1812650xB510110101µ
1822660xB610110110
1832670xB710110111·
1842700xB810111000¸
1852710xB910111001¹
1862720xBA10111010º
1872730xBB10111011»
1882740xBC10111100¼
1892750xBD10111101½
1902760xBE10111110¾
1912770xBF10111111¿
1923000xC011000000À
1933010xC111000001Á
1943020xC211000010Â
1953030xC311000011Ã
1963040xC411000100Ä
1973050xC511000101Å
1983060xC611000110Æ
1993070xC711000111Ç
2003100xC811001000È
2013110xC911001001É
2023120xCA11001010Ê
2033130xCB11001011Ë
2043140xCC11001100Ì
2053150xCD11001101Í
2063160xCE11001110Î
2073170xCF11001111Ï
2083200xD011010000Ð
2093210xD111010001Ñ
2103220xD211010010Ò
2113230xD311010011Ó
2123240xD411010100Ô
2133250xD511010101Õ
2143260xD611010110Ö
2153270xD711010111×
2163300xD811011000Ø
2173310xD911011001Ù
2183320xDA11011010Ú
2193330xDB11011011Û
2203340xDC11011100Ü
2213350xDD11011101Ý
2223360xDE11011110Þ
2233370xDF11011111ß
2243400xE011100000à
2253410xE111100001á
2263420xE211100010â
2273430xE311100011ã
2283440xE411100100ä
2293450xE511100101å
2303460xE611100110æ
2313470xE711100111ç
2323500xE811101000è
2333510xE911101001é
2343520xEA11101010ê
2353530xEB11101011ë
2363540xEC11101100ì
2373550xED11101101í
2383560xEE11101110î
2393570xEF11101111ï
2403600xF011110000ð
2413610xF111110001ñ
2423620xF211110010ò
2433630xF311110011ó
2443640xF411110100ô
2453650xF511110101õ
2463660xF611110110ö
2473670xF711110111÷
2483700xF811111000ø
2493710xF911111001ù
2503720xFA11111010ú
2513730xFB11111011û
2523740xFC11111100ü
2533750xFD11111101ý
2543760xFE11111110þ
2553770xFF11111111ÿ
DECOCTHEXBINSymbol

Кодировки


Разрабатывая просмотрщик текста в кодировке Win1251, нативной поддержки которой так не хватает Android-платформе, я поймал себя на мысли, что использую этот класс:

  1. public class StringEncoder

  2. {

  3.     protected static char[] cp1251 =

  4.     {

  5.         ‘\u0410’, ‘\u0411’, ‘\u0412’, ‘\u0413’, ‘\u0414’, ‘\u0415’, ‘\u0416’,

  6.         ‘\u0417’, ‘\u0418’, ‘\u0419’, ‘\u041A’, ‘\u041B’, ‘\u041C’, ‘\u041D’,

  7.         ‘\u041E’, ‘\u041F’, ‘\u0420’, ‘\u0421’, ‘\u0422’, ‘\u0423’, ‘\u0424’,

  8.         ‘\u0425’, ‘\u0426’, ‘\u0427’, ‘\u0428’, ‘\u0429’, ‘\u042A’, ‘\u042B’,

  9.         ‘\u042C’, ‘\u042D’, ‘\u042E’, ‘\u042F’, ‘\u0430’, ‘\u0431’, ‘\u0432’,

  10.         ‘\u0433’, ‘\u0434’, ‘\u0435’, ‘\u0436’, ‘\u0437’, ‘\u0438’, ‘\u0439’,

  11.         ‘\u043A’, ‘\u043B’, ‘\u043C’, ‘\u043D’, ‘\u043E’, ‘\u043F’, ‘\u0440’,

  12.         ‘\u0441’, ‘\u0442’, ‘\u0443’, ‘\u0444’, ‘\u0445’, ‘\u0446’, ‘\u0447’,

  13.         ‘\u0448’, ‘\u0449’, ‘\u044A’, ‘\u044B’, ‘\u044C’, ‘\u044D’, ‘\u044E’,

  14.         ‘\u044F’

  15.     };

  16.  

  17.     public static char decodeCharCP1251 (byte b)

  18.     {

  19.         int ich = b & 0xff;

  20.         if (ich == 0xb8) // ё

  21.             return 0x0451;

  22.         else if (ich == 0xa8) // Ё

  23.             return 0x0401;

  24.         else if (ich >= 0xc0)

  25.             return cp1251[ich-192];

  26.         return (char)ich;

  27.     }

  28. }

Корни этого класса уходят в далёкий 2005 год, когда некий VMX создавал SieFM. 8 лет прошло, а этот класс еще используется в моих программах. Пора бы отправить его на заслуженный отдых! Напишем собственный класс, который будет поддерживать не только Win1251, но и DOS (CP-866), KOI8-R и еще кучу других кодировок. Поехали!

  Существует понятие кодовая страница (code page) — это таблица соответствия каждому байту определённого символа. Символов у нас максимум 65536 (в unicode), а байт имеет лишь 255 значений, поэтому как ни крути, а все символы мы в один байт не закинем. Потому то и существуют различные кодировки. И для каждой кодировки существует своя кодовая таблица.
  Вот, пример кодовых таблиц двух кодировок: Win1251 и KOI8-R.
 
Как видно, отличаются они лишь 128 байтами (от 0x80 до 0xFF). Это всё потому, что значения от 0 до 127 (0x7F) постоянны (стандарт ASCII). То есть, для реализации однобайтовой кодировки, нам нужно заполнить таблицу из 128 значений символов, соответствующих каждому байту с 0x80 по 0xFF. Чтобы не загромождать классы кучей массивов, информацию будем считывать из файла.

  Вот класс для Java SE, который создаёт кодовые таблицы для всех поддерживаемых кодировок.
  CodepageCreator.java

  Для загрузки файлов из папки assets, нам понадобится класс CharsetLoader

Открыть спойлер

Закрыть спойлер

  1. public class CharsetLoader {

  2.  

  3.     private static AssetManager assets;

  4.  

  5.     public static void setAssetManager(AssetManager assets) {

  6.         CharsetLoader.assets = assets;

  7.     }

  8.  

  9.     public static char[] getCodepage(String charsetName) throws IOException {

  10.         String assetPath = charsetName + «.cp»;

  11.  

  12.         DataInputStream dis = new DataInputStream( assets.open(assetPath) );

  13.         char[] codepage = new char[0x80];

  14.         for (int i = 0; i < codepage.length; i++) {

  15.             codepage[i] = dis.readChar();

  16.         }

  17.         dis.close();

  18.  

  19.         return codepage;

  20.     }

  21. }

Теперь декодировать байт можно вот этой функцией:

  1. public final char decodeChar(byte signedByte) {

  2.     int unsigned = signedByte & 0xff;

  3.  

  4.     int charIndex = unsigned — 0x80;

  5.     if ( (0 <= charIndex) && (charIndex < codepage.length) ) {

  6.         return codepage[charIndex];

  7.     }

  8.  

  9.     return (char) unsigned;

  10.  }

К тому же можно выполнить и обратную операцию — закодировать символ в байт:

  1. public final byte encodeChar(char ch) {

  2.     if ( (0 <= ch) && (ch < 0x80) ) return (byte) ch;

  3.  

  4.     for (int i = 0; i < codepage.length; i++) {

  5.         if (ch == codepage[i]) return (byte) (i + 0x80);

  6.     }

  7.  

  8.     return (byte) ch;

  9. }

 
  Осталось только написать класс, который кодирует/декодирует не символы, а целые строки/массивы байт.
  Класс StringCoder

Открыть спойлер

Закрыть спойлер

  1. public class StringCoder {

  2.  

  3.     public static byte[] encodeString(String s, String enc) throws UnsupportedEncodingException {

  4.         byte[] bs;

  5.         try {

  6.             bs = s.getBytes(enc);

  7.         } catch (UnsupportedEncodingException x) {

  8.             Charset charset = new Charset(enc);

  9.             charset.loadCodepage();

  10.  

  11.             bs = new byte[s.length()];

  12.             for (int i = 0; i < s.length(); i++) {

  13.                 bs[i] = charset.encodeChar(s.charAt(i));

  14.             }

  15.         }

  16.         return bs;

  17.     }

  18.  

  19.     public static String decodeString(byte[] bs, String enc) throws UnsupportedEncodingException {

  20.         try {

  21.             return new String(bs, enc);

  22.         } catch (UnsupportedEncodingException x) {

  23.             Charset charset = new Charset(enc);

  24.             charset.loadCodepage();

  25.  

  26.             StringBuilder sb = new StringBuilder();

  27.             for (int i = 0; i < bs.length; i++) {

  28.                 sb.append( charset.decodeChar(bs[i]) );

  29.             }

  30.             return sb.toString();

  31.         }

  32.     }

  33. }

Пример использования:

  1. InputStream is = …

  2. ByteArrayOutputStream baos = new ByteArrayOutputStream();

  3. int oneByte;

  4. while ((oneByte = is.read()) != -1) {

  5.     baos.write((byte) oneByte);

  6. }

  7. baos.flush();

  8. is.close();

  9.  

  10. text = StringCoder.decodeString(baos.toByteArray(), «CP1251»);

  11. }

Готовые проекты с исходниками:
  CodepageCreator (Java SE)
  Encodings (Android)

Поделиться

Другие статьи автора

Лабораторная работа № 3. Аддитивные шифры

ЛАБОРАТОРНАЯ РАБОТА № 3. АДДИТИВНЫЕ ШИФРЫ

 

В аддитивных шифрах используется сложение по модулю (mod) исходного сообщения с гаммой, представленных в числовом виде. Напомним, что результатом сложения двух целых чисел по модулю является остаток от деления (например, 5+10 mod 4 = 15 mod 4 = 3).

В литературе шифры этого класса часто называют потоковыми. Стойкость закрытия этими шифрами определяется, главным образом, качеством гаммы, которое зависит от длины периода и случайности распределения по периоду [1].

Длиною периода гаммы называется минимальное количество символов, после которого последовательность цифр в гамме начинает повторяться. Случайность распределения символов по периоду означает отсутствие закономерностей между появлением различных символов в пределах периода.

По длине периода различаются гаммы с конечным и бесконечным периодом. Если длина периода гаммы превышает длину шифруемого текста, гамма является истинно случайной и не используется для шифрования других сообщений, то такое преобразование является абсолютно стойким (совершенный шифр). Такой шифр нельзя вскрыть на основе статистической обработки шифрограммы.

Сложение по модулю N. В 1888 г. француз маркиз де Виари в одной из своих научных статей, посвященных криптографии, доказал, что при замене букв исходного сообщения и ключа на числа справедливы формулы

Ci = (Pi + Ki) mod N,          (4)

Pi = (Ci + N — Ki) mod N,          (5)

где Pi, Ci — i-ый символ открытого и шифрованного сообщения;

N — количество символов в алфавите;

Кi — i-ый символ гаммы (ключа). Если длина гаммы меньше, чем длина сообщения, то она используется повторно.

Данные формулы позволяют выполнить зашифрование / расшифрование по Виженеру при замене букв алфавита числами согласно следующей таблице (применительно к русскому алфавиту):

Рис.21. Таблица кодирования символов

Например, для шифрования используется русский алфавит (N = 33), открытое сообщение – «АБРАМОВ», гамма – «ЖУРИХИН». При замене символов на числа буква А будет представлена как 0, Б – 1, …, Я – 32. Результат шифрования показан в следующей таблице.

Таблица 2. Пример аддитивного шифрования по модулю N

Сложение по модулю 2. Является частным случаем предыдущего шифра и используется при шифровании в автоматизированных системах. Символы текста и гаммы представляются в двоичных кодах, а затем каждая пара двоичных разрядов складывается по модулю 2 (, для булевых величин аналог этой операции – XOR, «Исключающее ИЛИ»). Процедуры шифрования и дешифрования выполняются по следующим формулам

Ci = Pi Ki,          (6)

Pi = Ci Ki.          (7)

Перед иллюстрацией использования шифра приведем таблицу кодов символов Windows 1251 и их двоичное представление.

Таблица 3. Коды символов Windows 1251 и их двоичное представление

Примечание. Dec-код – десятичный код символа, Bin-код – двоичный код символа.

Пример шифрования сообщения «ВОВА» с помощью гаммы «ЮЛЯ» показан в следующей таблице.

Таблица 4. Пример аддитивного шифрования по модулю 2

Задание на лабораторную работу.

В лабораторной работе необходимо зашифровать свою фамилию с помощью шифров гаммирования по модулю N и модулю 2.

При оформлении отчета необходимо привести исходное сообщение (фамилию), гамму и таблицы зашифрования/дешифрования.


1Классический одноразовый шифровальный блокнот — большой неповторяющийся случайный набор символов ключа, написанный на листах бумаги, склеенных в блокнот. Шифровальщик при личной встрече снабжался блокнотом, каждая страница которого содержала ключ. Такой же блокнот имелся и у принимающей стороны. Использованные страницы после однократного использования уничтожились.

PHP: get_html_translation_table — Manual

ISO-8859-1ISO8859-1 Западно-европейская Latin-1.
ISO-8859-5ISO8859-5 Редко используемая кириллическая кодировка (Latin/Cyrillic).
ISO-8859-15ISO8859-15 Западно-европейская Latin-9. Добавляет знак евро, французские и
финские буквы к кодировке Latin-1 (ISO-8859-1).
UTF-8  8-битная Unicode, совместимая с ASCII.
cp866ibm866, 866 Кириллическая кодировка, применяемая в DOS.
cp1251Windows-1251, win-1251, 1251 Кириллическая кодировка, применяемая в Windows.
cp1252Windows-1252, 1252 Западно-европейская кодировка, применяемая в Windows.
KOI8-Rkoi8-ru, koi8r Русская кодировка.
BIG5950 Традиционный китайский, применяется в основном на Тайване.
GB2312936 Упрощённый китайский, стандартная национальная кодировка.
BIG5-HKSCS  Расширенная Big5, применяемая в Гонконге.
Shift_JISSJIS, SJIS-win, cp932, 932 Японская кодировка.
EUC-JPEUCJP, eucJP-win Японская кодировка.
MacRoman  Кодировка, используемая в Mac OS.
''  Пустая строка активирует режим определения кодировки из файла
скрипта (Zend multibyte),
default_charset и текущей
локали (см. nl_langinfo() и
setlocale()) в указанном порядке.
Не рекомендуется к использованию.

Кодовая страница Windows 1251

Кодовая страница Windows 1251

Эта страница содержит таблицу кодовой страницы Microsoft Windows 1251 для русского и
некоторые другие языки, написанные кириллицей. CP1251
символы включены буквально в скобки слева от каждой строки.
Если вы сохраните эту страницу, у вас будет таблица CP1251, которую вы можете использовать для тестирования вашего
конфигурация набора символов эмулятора терминала.


Кодовая страница Microsoft Windows 1251
char dec col / row oct hex описание
[] 128 08/00 200 80 Кирилическая прописная буква DJE
[] 129 08/01 201 81 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА GJE
[] 130 08/02 202 82 НИЗКАЯ 9 ОДИНОЧНАЯ ЦИТАТА
[] 131 08/03 203 83 Кирилическая строчная буква GJE
[] 132 08/04 204 84 НИЗКАЯ 9 ДВОЙНАЯ ЦИТАТА
[] 133 08/05 205 85 ЭЛЛИПСИС
[] 134 08/06 206 86 КИНЖАЛ
[] 135 08/07 207 87 ДВОЙНОЙ КИНЖАЛ
[] 136 08/08 210 88 ЕВРО ЗНАК
[] 137 08/09 211 89 ЗА МИЛ ЗНАК
[] 138 08/10 212 8A ЗАГЛАВНАЯ БУКВА LJE
[] 139 08/11 213 8B ЛЕВЫЙ КРОНШТЕЙН ОДИНОЧНОЙ ЦИТАТЫ
[] 140 08/12 214 8C КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА NJE
[] 141 08/13 215 8D КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА KJE
[] 142 08/14 216 8E КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSHE
[] 143 15.08 217 8F КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДЖЕ
[] 144 09/00 220 90 КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА DJE
[] 145 09/01 221 91 ВЫСОКАЯ 6 ОДИНОЧНАЯ ЦИТАТА
[] 146 09/02 222 92 ВЫСОКАЯ 9 ОДИНОЧНАЯ ЦИТАТА
[] 147 09/03 223 93 ВЫСОКАЯ 6 ДВОЙНАЯ ЦИТАТА
[] 148 09/04 224 94 ВЫСОКАЯ 9 ДВОЙНАЯ ЦИТАТА
[] 149 09/05 225 95 БОЛЬШАЯ ЦЕНТРАЛЬНАЯ ТОЧКА
[] 150 09/06 226 96 RU ТИП
[] 151 07.09 227 97 EM DASH
[] 152 09/08 230 98 (НЕ ОПРЕДЕЛЕННО)
[] 153 09/09 231 99 ТОВАРНЫЙ ЗНАК
[] 154 09/10 232 9A СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА LJE
[] 155 09/11 233 9B ПРАВЫЙ КРОНШТЕЙН ДЛЯ ОДИНОЧНОЙ ЦИТАТЫ
[] 156 09/12 234 9C КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА NJE
[] 157 09/13 235 9D КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА KJE
[] 158 14.09 236 9E КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSHE
[] 159 15.09 237 9F КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДЖЕ
[] 160 10/00 240 A0 НЕПРЕРЫВНОЕ ПРОСТРАНСТВО
[] 161 10/01 241 A1 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА КОРОТКАЯ U
[] 162 10/02 242 A2 КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА КОРОТКАЯ U
[] 163 10/03 243 A3 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА JE
[] 164 10/04 244 ЗНАК ВАЛЮТЫ A4
[] 165 10/05 245 A5 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА GHE С ПОВОРОТОМ
[] 166 10/06 246 A6 СЛОМАННЫЙ БАР
[] 167 10/07 247 A7 ЗНАК ПАРАГРАФА
[] 168 10/08 250 A8 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА IO
[] 169 10/09 251 A9 ЗНАК АВТОРСКОГО ПРАВА
[] 170 10/10 252 AA КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА УКРАИНСКИЙ IE
[] 171 10/11 253 AB ЛЕВЫЙ УГЛОВОЙ ЦИТАТНЫЙ ЗНАК
[] 172 10/12 254 AC NOT SIGN
[] 173 10/13 255 AD МЯГКИЙ ДЕФИС
[] 174 10/14 256 AE ЗНАК ЗАРЕГИСТРИРОВАННОЙ ТОРГОВОЙ МАРКИ
[] 175 10/15 257 AF КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YI
[] 176 11/00 260 B0 ЗНАК, КОЛЬЦО ВЫШЕ
[] 177 11/01 261 B1 ЗНАК ПЛЮС-МИНУС
[] 178 11/02 262 B2 Кирилическая прописная буква БЕЛОРУССИЯ-УКРАИНСКИЙ ЯЗЫК I
[] 179 11/03 263 B3 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА БЕЛОРУССИЯ-УКРАИНСКИЙ ЯЗЫК I
[] 180 11/04 264 B4 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GHE С ПОВОРОТОМ
[] 181 11/05 265 B5 МИКРОЗНАК
[] 182 06/11 266 B6 ЗНАК ПИЛКРОУ
[] 183 07/11 267 B7 СРЕДНЯЯ ТОЧКА
[] 184 08/11 270 B8 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА IO
[] 185 11/09 271 B9 ЗНАК NUMERO
[] 186 11/10 272 BA СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА УКРАИНСКИЙ IE
[] 187 11/11 273 BB ЦИТАТНЫЙ ЗНАК ПРАВЫЙ УГОЛ
[] 188 11/12 274 до н.э. СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА JE.
[] 189 11/13 275 BD КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DZE
[] 190 14/11 276 БЫТЬ СТРОЧНОЙ КИРИЛИЧЕСКОЙ БУКВОЙ DZE
[] 191 15/11 277 BF КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА YI
[] 192 12/00 300 C0 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА A
[] 193 01/12 301 C1 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА БЫТЬ
[] 194 12/02 302 C2 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА VE
[] 195 12/03 303 C3 ЗАГЛАВНАЯ БУКВА GHE
[] 196 12/04 304 C4 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DE
[] 197 12/05 305 C5 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА IE
[] 198 12/06 306 C6 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ZHE
[] 199 12/07 307 C7 ЗАГЛАВНАЯ БУКВА ZE
[] 200 12/08 310 C8 ЗАГЛАВНАЯ БУКВА I
[] 201 12/09 311 C9 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА КОРОТКАЯ I
[] 202 12/10 312 CA КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА KA
[] 203 12/11 313 CB КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EL
[] 204 12/12 314 CC КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EM
[] 205 12/13 315 CD КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EN
[] 206 12/14 316 CE КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА O
[] 207 15/12 317 CF КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА PE
[] 208 13/00 320 D0 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ER
[] 209 13/01 321 D1 ЗАГЛАВНАЯ БУКВА ES
[] 210 13/02 322 D2 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TE
[] 211 13/03 323 D3 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА U
[] 212 13/04 324 D4 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EF
[] 213 13/05 325 D5 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА HA
[] 214 13/06 326 D6 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSE
[] 215 13/07 327 D7 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА CHE
[] 216 13/08 330 D8 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА SHA
[] 217 13/09 331 D9 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЩА
[] 218 13/10 332 DA КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЖЕСТКИЙ ЗНАК
[] 219 13/11 333 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДБ ЕРУ
[] 220 13/12 334 DC КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА МЯГКИЙ ЗНАК
[] 221 13/13 335 DD КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА E
[] 222 13/14 336 Кириллическая прописная буква YU
[] 223 13/15 337 DF КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YA
[] 224 14/00 340 E0 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА A
[] 225 14/01 341 E1 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА BE
[] 226 14/02 342 E2 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА VE
[] 227 14/03 343 E3 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GHE
[] 228 14/04 344 E4 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА DE
[] 229 14/05 345 E5 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА IE
[] 230 14/06 346 E6 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ZHE
[] 231 14/07 347 E7 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ZE
[] 232 14/08 350 E8 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА I
[] 233 14/09 351 E9 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА КОРОТКАЯ I
[] 234 14/10 352 EA СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА KA
[] 235 14/11 353 EB КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА EL
[] 236 14/12 354 EC КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА EM
[] 237 14/13 355 ED Кирилическая строчная буква EN
[] 238 14/14 356 EE СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА O
[] 239 14/15 357 EF СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА PE
[] 240 15/00 360 F0 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ER
[] 241 15/01 361 F1 КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА ES
[] 242 15/02 362 F2 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TE
[] 243 15/03 363 F3 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА U
[] 244 15/04 364 F4 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА EF
[] 245 15/05 365 F5 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА HA
[] 246 15/06 366 F6 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TSE
[] 247 15/07 367 F7 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА CHE
[] 248 15/08 370 F8 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА CHA
[] 249 15/09 371 F9 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ЩА
[] 250 15/10 372 FA КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА ЖЕСТКИЙ ЗНАК
[] 251 15/11 373 FB КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА YERU
[] 252 15/12 374 FC КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА МЯГКИЙ ЗНАК
[] 253 15/13 375 FD СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА E
[] 254 15/14 376 FE СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YU
[] 255 15/15 377 FF СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YA
 

Франк да Круз,
Проект Кермит,
Колумбийский университет,
Март 2003 г.

cp1251.txt

cp1251.txt


#
# Имя: cp1251 в таблицу Unicode
# Версия Unicode: 2.0
# Версия таблицы: 2.01
# Формат таблицы: Формат A
# Дата: 15.04.98
#
# Контакт: [email protected]
#
# Общие примечания: нет
#
# Формат: три столбца, разделенных табуляцией
# Столбец №1 - это код cp1251 (в шестнадцатеричном формате).
# Столбец # 2 - это Unicode (в шестнадцатеричном виде 0xXXXX)
# Столбец # 3 - это имя Unicode (после знака комментария '#')
#
# Записи в порядке cp1251
#
0x00 0x0000 # ПУСТО
0x01 0x0001 # НАЧАЛО ЗАГОЛОВКИ
0x02 0x0002 # НАЧАЛО ТЕКСТА
0x03 0x0003 # КОНЕЦ ТЕКСТА
0x04 0x0004 # КОНЕЦ ПЕРЕДАЧИ
0x05 0x0005 # ЗАПРОС
0x06 0x0006 # ПОДПИСАТЬСЯ
0x07 0x0007 # БЕЛЛ
0x08 0x0008 #BACKSPACE
0x09 0x0009 # ГОРИЗОНТАЛЬНАЯ ТАБЛИЦА
0x0A 0x000A # ЛИНИЯ ПОДАЧИ
0x0B 0x000B # ВЕРТИКАЛЬНАЯ ТАБЛИЦА
0x0C 0x000C # ФОРМА ПОДАЧИ
0x0D 0x000D # ВОЗВРАТ ЗАРЯДА
0x0E 0x000E # ПЕРЕМЕЩЕНИЕ
0x0F 0x000F #SHIFT IN
0x10 0x0010 # ОТКЛЮЧЕНИЕ СВЯЗИ ДАННЫХ
0x11 0x0011 # УПРАВЛЕНИЕ УСТРОЙСТВОМ ОДИН
0x12 0x0012 # УПРАВЛЕНИЕ УСТРОЙСТВОМ ДВА
0x13 0x0013 # УПРАВЛЕНИЕ УСТРОЙСТВОМ ТРИ
0x14 0x0014 # УПРАВЛЕНИЕ УСТРОЙСТВОМ ЧЕТВЕРТОЕ
0x15 0x0015 # ОТРИЦАТЕЛЬНОЕ ПОДТВЕРЖДЕНИЕ
0x16 0x0016 # СИНХРОННЫЙ ПРОХОЖДЕНИЕ
0x17 0x0017 # КОНЕЦ БЛОКА ПЕРЕДАЧИ
0x18 0x0018 # ОТМЕНА
0x19 0x0019 # КОНЕЦ СРЕДЫ
0x1A 0x001A # ПОДСТАВИТЬ
0x1B 0x001B # ЭСКЕЙП
0x1C 0x001C # РАЗДЕЛИТЕЛЬ ФАЙЛОВ
0x1D 0x001D # СЕПАРАТОР ГРУПП
0x1E 0x001E # ЗАПИСЬ СЕПАРАТОР
0x1F 0x001F # РАЗДЕЛИТЕЛЬ
0x20 0x0020 # ПРОБЕЛ
0x21 0x0021 # восклицательный знак
0x22 0x0022 # ЦИТАТНЫЙ ЗНАК
0x23 0x0023 # НОМЕРНЫЙ ЗНАК
0x24 0x0024 # ЗНАК ДОЛЛАР
0x25 0x0025 ЗНАК # ПЕРЦЕНТ
0x26 0x0026 # АМПЕРСАНД
0x27 0x0027 # АПОСТРОФ
0x28 0x0028 # ЛЕВЫЙ ПАРЕНТЕЗ
0x29 0x0029 # ПРАВИЛЬНЫЙ ПАРЕНТЕЗ
0x2A 0x002A # АСТЕРИСК
0x2B 0x002B # ПОДПИСАТЬСЯ
0x2C 0x002C #COMMA
0x2D 0x002D # ДЕФИС-МИНУС
0x2E 0x002E # ПОЛНАЯ ОСТАНОВКА
0x2F 0x002F # СОЛИДУС
0x30 0x0030 # ЦИФРОВОЙ НУЛЬ
0x31 0x0031 # ЦИФРА ОДИН
0x32 0x0032 # ЦИФРОВОЙ ДВА
0x33 0x0033 # ЦИФРА ТРИ
0x34 0x0034 # ЦИФРА ЧЕТЫРЕ
0x35 0x0035 # ЦИФРОВАЯ ПЯТЬ
0x36 0x0036 # ШЕСТЬ ЦИФРОВ
0x37 0x0037 # ЦИФРОВАЯ СЕМЬ
0x38 0x0038 # ЦИФРА ВОСЕМЬ
0x39 0x0039 # ЦИФРА ДЕВЯТЬ
0x3A 0x003A # КОЛОН
0x3B 0x003B # СЕМИКОЛОН
0x3C 0x003C # МЕНЬШЕ ЗНАКА
0x3D 0x003D # ЗНАК РАВНО
0x3E 0x003E # БОЛЬШЕ, ЧЕМ ЗНАК
0x3F 0x003F # ВОПРОСНАЯ МЕТКА
0x40 0x0040 # КОММЕРЧЕСКИЙ AT
0x41 0x0041 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА A
0x42 0x0042 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА B
0x43 0x0043 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА C
0x44 0x0044 # ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА D
0x45 0x0045 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА E
0x46 0x0046 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА F
0x47 0x0047 # ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА G
0x48 0x0048 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА H
0x49 0x0049 # ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА I
0x4A 0x004A # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА J
0x4B 0x004B # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА K
0x4C 0x004C # ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА L
0x4D 0x004D # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА M
0x4E 0x004E # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА N
0x4F 0x004F # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА O
0x50 0x0050 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА P
0x51 0x0051 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА Q
0x52 0x0052 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА R
0x53 0x0053 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА S
0x54 0x0054 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА T
0x55 0x0055 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА U
0x56 0x0056 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА V
0x57 0x0057 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА W
0x58 0x0058 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА X
0x59 0x0059 # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА Y
0x5A 0x005A # ЗАГЛАВНАЯ ЛАТИНСКАЯ БУКВА Z
0x5B 0x005B # КВАДРАТНЫЙ КРОНШТЕЙН ЛЕВЫЙ
0x5C 0x005C # ОБРАТНЫЙ СОЛИД
0x5D 0x005D # ПРАВЫЙ КВАДРАТНЫЙ КРОНШТЕЙН
0x5E 0x005E #CIRCUMFLEX ACCENT
0x5F 0x005F # НИЗКАЯ СТРОКА
0x60 0x0060 # GRAVE ACCENT
0x61 0x0061 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА A
0x62 0x0062 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА B
0x63 0x0063 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА C
0x64 0x0064 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА D
0x65 0x0065 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА E
0x66 0x0066 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА F
0x67 0x0067 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА G
0x68 0x0068 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА H
0x69 0x0069 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА I
0x6A 0x006A # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА J
0x6B 0x006B # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА K
0x6C 0x006C # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА L
0x6D 0x006D # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА M
0x6E 0x006E # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА N
0x6F 0x006F # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА O
0x70 0x0070 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА P
0x71 0x0071 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Q
0x72 0x0072 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА R
0x73 0x0073 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА S
0x74 0x0074 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА T
0x75 0x0075 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА U
0x76 0x0076 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА V
0x77 0x0077 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА W
0x78 0x0078 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА X
0x79 0x0079 # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Y
0x7A 0x007A # СТРОЧНАЯ ЛАТИНСКАЯ БУКВА Z
0x7B 0x007B # ЛЕВАЯ КУРСОВАЯ КРОНШТЕЙН
0x7C 0x007C # ВЕРТИКАЛЬНАЯ ЛИНИЯ
0x7D 0x007D # ПРАВЫЙ ИЗГОЛЬНЫЙ КРОНШТЕЙН
0x7E 0x007E # ТИЛЬДА
0x7F 0x007F # УДАЛИТЬ
0x80 0x0402 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DJE
0x81 0x0403 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА GJE
0x82 0x201A # ОДИН ЦИТАТНЫЙ МАРК НИЗКОГО-9
0x83 0x0453 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GJE
0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
0x85 0x2026 # ГОРИЗОНТАЛЬНЫЙ ЭЛЛИПСИС
0x86 0x2020 # КИНЖАЛ
0x87 0x2021 # ДВОЙНОЙ КИНЖАЛ
0x88 0x20AC # ЗНАК ЕВРО
0x89 0x2030 # ЗАПИСЬ МИЛЛЯ
0x8A 0x0409 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА LJE
0x8B 0x2039 # ОДИН ЛЕВЫЙ УГОЛ ЦИТАТЫ
0x8C 0x040A # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА NJE
0x8D 0x040C # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА KJE
0x8E 0x040B # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSHE
0x8F 0x040F # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДЖЕ
0x90 0x0452 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА DJE
0x91 0x2018 # ЛЕВАЯ ОДИНАРНАЯ ЦИТАТА
0x92 0x2019 # ОДИНАРНЫЙ ЗНАК ЦИТАТЫ
0x93 0x201C # ЛЕВАЯ МАРКА ДВОЙНОЙ ЦИТАТЫ
0x94 0x201D # ПРАВАЯ ДВОЙНАЯ ЦИТАТА
0x95 0x2022 # БЮЛЛЕТЕНЬ
0x96 0x2013 #EN DASH
0x97 0x2014 #EM DASH
0x98 # НЕОПРЕДЕЛЕННО
0x99 0x2122 # ТОВАРНЫЙ ЗНАК
0x9A 0x0459 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА LJE
0x9B 0x203A # ОДИН УГОЛ ВПРАВО ЦИТАТНЫЙ МАРК
0x9C 0x045A # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА NJE
0x9D 0x045C # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА KJE
0x9E 0x045B # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TSHE
0x9F 0x045F # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ДЖЕ
0xA0 0x00A0 # ПРОБЕЛ БЕЗ ПЕРЕРЫВА
0xA1 0x040E # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА КОРОТКАЯ U
0xA2 0x045E # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА КОРОТКАЯ U
0xA3 0x0408 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА JE
0xA4 0x00A4 # ЗНАК ВАЛЮТЫ
0xA5 0x0490 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА GHE С ПОВОРОТОМ
0xA6 0x00A6 # Сломанная полоса
0xA7 0x00A7 # ЗНАК РАЗДЕЛА
0xA8 0x0401 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА IO
0xA9 0x00A9 # ЗНАК АВТОРСКОГО ПРАВА
0xAA 0x0404 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА УКРАИНСКИЙ IE
0xAB 0x00AB # ДВОЙНОЙ УГЛОВОЙ ЦИТАТНЫЙ МАРК, УКАЗАННЫЙ ВЛЕВО
0xAC 0x00AC # БЕЗ ЗНАКА
0xAD 0x00AD # МЯГКИЙ ДЕФИС
0xAE 0x00AE # ЗАПИСАННЫЙ ЗНАК
0xAF 0x0407 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YI
0xB0 0x00B0 # ЗНАК СТЕПЕНИ
0xB1 0x00B1 # ЗНАК ПЛЮС-МИНУС
0xB2 0x0406 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА БЕЛОРУССКО-УКРАИНСКАЯ I
0xB3 0x0456 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА БЕЛОРУССКО-УКРАИНСКАЯ I
0xB4 0x0491 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GHE С ПОВОРОТОМ
0xB5 0x00B5 # ЗНАК МИКРО
0xB6 0x00B6 # ЗНАК ПИЛКРОУ
0xB7 0x00B7 # СРЕДНЯЯ ТОЧКА
0xB8 0x0451 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА IO
0xB9 0x2116 # ЗНАК ЧИСЛА
0xBA 0x0454 # КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА УКРАИНСКИЙ IE
0xBB 0x00BB # ДВОЙНОЙ УГОЛ ЦИТАТЫ, УКАЗАННЫЙ ВПРАВО
0xBC 0x0458 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА JE
0xBD 0x0405 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DZE
0xBE 0x0455 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА DZE
0xBF 0x0457 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YI
0xC0 0x0410 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА A
0xC1 0x0411 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА BE
0xC2 0x0412 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА VE
0xC3 0x0413 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА GHE
0xC4 0x0414 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DE
0xC5 0x0415 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА IE
0xC6 0x0416 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ZHE
0xC7 0x0417 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ZE
0xC8 0x0418 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА I
0xC9 0x0419 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА КОРОТКАЯ I
0xCA 0x041A # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА KA
0xCB 0x041B # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EL
0xCC 0x041C # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EM
0xCD 0x041D # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EN
0xCE 0x041E # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА O
0xCF 0x041F # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА PE
0xD0 0x0420 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ER
0xD1 0x0421 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ES
0xD2 0x0422 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TE
0xD3 0x0423 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА U
0xD4 0x0424 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EF
0xD5 0x0425 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА HA
0xD6 0x0426 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSE
0xD7 0x0427 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА CHE
0xD8 0x0428 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА SHA
0xD9 0x0429 # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЩА
0xDA 0x042A # КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЖЕСТКИЙ ЗНАК
0xDB 0x042B # КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЙЕРУ
0xDC 0x042C # КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА МЯГКИЙ ЗНАК
0xDD 0x042D # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА E
0xDE 0x042E # КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YU
0xDF 0x042F # КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YA
0xE0 0x0430 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА A
0xE1 0x0431 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА BE
0xE2 0x0432 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА VE
0xE3 0x0433 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GHE
0xE4 0x0434 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА DE
0xE5 0x0435 # КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА IE
0xE6 0x0436 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ZHE
0xE7 0x0437 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ZE
0xE8 0x0438 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА I
0xE9 0x0439 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА КОРОТКАЯ I
0xEA 0x043A # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА KA
0xEB 0x043B # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА EL
0xEC 0x043C # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА EM
0xED 0x043D # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА EN
0xEE 0x043E # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА O
0xEF 0x043F # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА PE
0xF0 0x0440 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ER
0xF1 0x0441 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ES
0xF2 0x0442 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TE
0xF3 0x0443 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА U
0xF4 0x0444 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА EF
0xF5 0x0445 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА HA
0xF6 0x0446 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TSE
0xF7 0x0447 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА CHE
0xF8 0x0448 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА SHA
0xF9 0x0449 # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ЩА
0xFA 0x044A # КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА ЖЕСТКИЙ ЗНАК
0xFB 0x044B # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ЕРУ
0xFC 0x044C # КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА МЯГКИЙ ЗНАК
0xFD 0x044D # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА E
0xFE 0x044E # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YU
0xFF 0x044F # СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YA
 

Модуль ngx_http_charset_module

Модуль ngx_http_charset_module

Модуль ngx_http_charset_module добавляет указанный
charset в поле заголовка ответа Content-Type.Кроме того, модуль может конвертировать данные из одной кодировки в другую,
с некоторыми ограничениями:

  • конвертация осуществляется в одну сторону — от сервера к клиенту,
  • могут быть преобразованы только однобайтовые кодировки
  • или однобайтовые кодировки в / из UTF-8.
Пример конфигурации
включить conf / koi-win;

кодировка windows-1251;
source_charset koi8-r;
 
Директивы
Синтаксис: кодировка кодировка | от ;
По умолчанию:
 charset off; 
Контекст: http , сервер , местоположение , если в местоположении

Добавляет указанную кодировку в Content-Type.
поле заголовка ответа.Если эта кодировка отличается от указанной
в директиве source_charset выполняется преобразование.

Параметр off отменяет добавление кодировки.
в поле заголовка ответа Content-Type.

Кодировку можно определить с помощью переменной:

charset $ charset;
 

В таком случае должны присутствовать все возможные значения переменной.
в конфигурации хотя бы один раз в виде
charset_map, charset или
source_charset директивы.Для utf-8 , windows-1251 и
koi8-r charsets, достаточно включить файлы
conf / koi-win , conf / koi-utf и
conf / win-utf в конфигурацию.
Для других наборов символов, просто создание фиктивной таблицы преобразования работает,
Например:

charset_map iso-8859-5 _ {}
 

Кроме того, кодировку можно установить в
Поле заголовка ответа «X-Accel-Charset».
Эту возможность можно отключить с помощью
proxy_ignore_headers,
fastcgi_ignore_headers,
uwsgi_ignore_headers,
scgi_ignore_headers,
а также
grpc_ignore_headers
директивы.

Синтаксис: charset_map charset1 charset2 {...}
По умолчанию:

Контекст: http

Описывает таблицу преобразования из одной кодировки в другую.Таблица обратного преобразования строится с использованием тех же данных.
Коды символов даны в шестнадцатеричном формате.
Отсутствующие символы в диапазоне 80-FF заменяются на «? ».
При преобразовании из UTF-8 символы отсутствуют в однобайтовой кодировке.
заменяются на « & # XXXX; ».

Пример:

charset_map koi8-r windows-1251 {
    C0 FE; # маленький ю
    C1 E0; # маленький а
    C2 E1; # маленький б
    C3 F6; # small ts
    ...
}
 

При описании таблицы преобразования в UTF-8 коды для кодировки UTF-8 должны
быть приведенным во втором столбце, например:

charset_map koi8-r utf-8 {
    C0 D18E; # маленький ю
    C1 D0B0; # маленький а
    C2 D0B1; # маленький б
    C3 D186; # small ts
    ...
}
 

Полные таблицы преобразования с koi8-r на
windows-1251 , а от koi8-r и
окна-1251 до utf-8
представлены в файлах раздачи conf / koi-win ,
conf / koi-utf и conf / win-utf .

Синтаксис: charset_types mime-type ...;
По умолчанию:
 charset_types текст / HTML текст / XML текст / простой текст / vnd.wap.wml
приложение / javascript приложение / rss + xml; 
Контекст: http , сервер , расположение

Эта директива появилась в версии 0.7.9.

Включает обработку модуля в ответах с указанными типами MIME
в дополнение к « текст / html ».
Специальное значение « * » соответствует любому типу MIME (0.8.29).

До версии 1.5.4 использовалось « application / x-javascript ».
в качестве типа MIME по умолчанию вместо « application / javascript ».

Синтаксис: override_charset на | от ;
По умолчанию:
 override_charset off; 
Контекст: http , сервер , местоположение , если в местоположении

Определяет, нужно ли выполнять преобразование ответов
получено от прокси-сервера или сервера FastCGI / uwsgi / SCGI / gRPC
когда ответы уже содержат кодировку в «Content-Type»
поле заголовка ответа.Если преобразование включено, кодировка указана в полученном
ответ используется как кодировка источника.

Следует отметить, что если ответ получен в подзапросе
затем преобразование из кодировки ответа в кодировку основного запроса
выполняется всегда, независимо от override_charset
установка директивы.

Синтаксис: source_charset charset ;
По умолчанию:

Контекст: http , сервер , местоположение , если в местоположении

Определяет исходную кодировку ответа.Если эта кодировка отличается от указанной
в директиве charset выполняется преобразование.

Кодирование

в MySQL | ISPserver

Кодировка MySQL

Проблемы с кодировкой MySQL могут возникать для версий 4.1 и более поздних версий, поскольку они имеют возможность устанавливать различную кодировку для разных уровней иерархии базы данных (сервер, база данных, таблица, столбец) и для отдельных соединений между сервером и клиентом. MySQL имеет кодировку latin1 по умолчанию на всех уровнях.

Кодировка, включая данные на сервере MySQL, должна соответствовать кодировке самих данных. Например, для русских символов используется кодировка cp1251. Если в таблице есть записи с русскими символами, кодировка таблицы должна быть установлена ​​как cp1251, иначе вместо русских символов будут отображаться вопросительные знаки или другие символы.

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

создать базу данных `my-db` кодировку по умолчанию cp1251; 

Кодировка соединения сервера с клиентом определяет формат данных, которые будут передаваться между двумя объектами. Например, если в сценарии веб-сайта используются русские символы, MySQL должен правильно распознавать символы, когда веб-сайт обращается к базе данных, для правильного выполнения сценария. Если в кодировке соединения используется latin1 по умолчанию, сервер не сможет правильно распознать русские символы, и скрипт выдаст ошибку.

Установите желаемую кодировку подключения сразу после подключения к серверу MySQL, используя следующий запрос:

установить имена cp1251 

Существует ряд клиентов, которые не могут установить необходимую кодировку и поэтому используют свою собственную. В таких случаях укажите в файле my.cnf в разделе [mysqld] следующую строку:

set init_connect = "установить имена cp1251"

где cp1251 - необходимое кодирование. 

В этом случае сервер запустит команду «set names cp1251» сразу после подключения к клиенту и установит кодировку, указанную в запросе.

Самые распространенные русские кодировки следующие:

utf8, cp866 (DOS), cp1251 (Windows), koi8r 

Установка и использование одинаковой кодировки для серверов баз данных на всех уровнях помогает устранить 90% проблем с кодировкой в ​​MySQL.

Как добавить в MySQL поддержку русского языка?

Введите следующие изменения в файл my.cnf:

[клиент]

набор символов по умолчанию = cp1251

[mysqld]

набор символов-сервер = cp1251

collation-server = cp1251_general_ci

init-connect = "установить имена cp1251" 

Перезапустите сервер MySQL.

Поддержка набора символов

| Greenplum Docs

BIG5 не поддерживается в качестве кодировки сервера
EUC_CN EUC_CN, MULE_INTERNAL, UTF8
EUC_JP EUC_JP, MULE_INTERNAL, SJIS, UTF8
EUC_KR EUC_KR, MULE_INTERNAL, UTF8
EUC_TW EUC_TW, BIG5, MULE_INTERNAL, UTF8
ГБ18030 не поддерживается в качестве кодировки сервера
ГБК не поддерживается в качестве кодировки сервера
ISO_8859_5 ISO_8859_5, KOI8, MULE_INTERNAL, UTF8, WIN866,
WIN1251
ISO_8859_6 ISO_8859_6, UTF8
ISO_8859_7 ISO_8859_7, UTF8
ISO_8859_8 ISO_8859_8, UTF8
JOHAB JOHAB, UTF8
КОИ8 KOI8, ISO_8859_5, MULE_INTERNAL, UTF8, WIN866,
WIN1251
ЛАТИН 1 LATIN1, MULE_INTERNAL, UTF8
ЛАТИН 2 LATIN2, MULE_INTERNAL, UTF8, WIN1250
ЛАТИН 3 LATIN3, MULE_INTERNAL, UTF8
ЛАТИН 4 LATIN4, MULE_INTERNAL, UTF8
LATIN5 LATIN5, UTF8
LATIN6 LATIN6, UTF8
LATIN7 LATIN7, UTF8
LATIN8 LATIN8, UTF8
ЛАТИН 9 LATIN9, UTF8
ЛАТИН 10 LATIN10, UTF8
MULE_INTERNAL MULE_INTERNAL, BIG5, EUC_CN, EUC_JP, EUC_KR,
EUC_TW, ISO_8859_5, KOI8, от LATIN1 до LATIN4, SJIS, WIN866, WIN1250, WIN1251
SJIS не поддерживается в качестве кодировки сервера
SQL_ASCII не поддерживается в качестве кодировки сервера
UHC не поддерживается в качестве кодировки сервера
UTF8 все поддерживаемые кодировки
WIN866 WIN866
ISO_8859_5 KOI8, MULE_INTERNAL, UTF8, WIN1251
WIN874 WIN874, UTF8
WIN1250 WIN1250, LATIN2, MULE_INTERNAL, UTF8
WIN1251 WIN1251, ISO_8859_5, KOI8, MULE_INTERNAL, UTF8,
WIN866
WIN1252 WIN1252, UTF8
WIN1253 WIN1253, UTF8
WIN1254 WIN1254, UTF8
WIN1255 WIN1255, UTF8
WIN1256 WIN1256, UTF8
WIN1257 WIN1257, UTF8
WIN1258 WIN1258, UTF8

Самая продвинутая в мире реляционная база данных с открытым исходным кодом

Поддержка набора символов в

PostgreSQL

позволяет хранить текст в различных наборах символов (также называемых
кодировки), в том числе
однобайтовые наборы символов, такие как серия ISO 8859 и
многобайтовые наборы символов, такие как

EUC

(Расширенный Unix
Code), UTF-8 и внутренний код Mule.Все поддерживаемые наборы символов
могут прозрачно использоваться клиентами, но некоторые из них не поддерживаются
для использования на сервере (то есть как кодирование на стороне сервера).
Набор символов по умолчанию выбран, пока
инициализация вашего

PostgreSQL

база данных
кластер с использованием

initdb

. Это может быть отменено, когда вы
создать базу данных, чтобы у вас было несколько
базы данных, каждая из которых имеет свой набор символов.

Однако важным ограничением является то, что набор символов каждой базы данных
должен быть совместим с базой данных

LC_CTYPE

(персонаж
классификация) и

LC_COLLATE

(порядок сортировки строк) локаль
настройки.Для

C

или же

POSIX

языковой стандарт, разрешен любой набор символов, но для других
Локали, предоставляемые libc, есть только один набор символов, который будет работать
правильно.
(Однако в Windows кодировку UTF-8 можно использовать с любой локалью.)
Если у вас настроена поддержка ICU, можно использовать локали, предоставленные ICU.
с большинством, но не со всеми кодировками на стороне сервера.

23.3.1. Поддерживаемые наборы символов

Таблица 23.1

показывает доступные наборы символов
для использования в

PostgreSQL

.


Таблица 23.1.

PostgreSQL

Наборы символов

Имя Описание Язык Сервер? ICU? Байт / символ Псевдонимы

BIG5
Большая Пятерка Традиционный китайский Нет Нет 1-2
WIN950

,

Windows950

EUC_CN
Расширенный код UNIX-CN Упрощенный китайский да да 1–3

EUC_JP
Расширенный код UNIX-JP Японский да да 1–3

EUC_JIS_2004
Расширенный код UNIX-JP, JIS X 0213 Японский да Нет 1–3

EUC_KR
Расширенный код UNIX-KR Корейский да да 1–3

EUC_TW
Расширенный код UNIX-TW Традиционный китайский, тайваньский да да 1–3

GB18030
Национальный стандарт китайский язык Нет Нет 1–4

ГБК
Расширенный национальный стандарт Упрощенный китайский Нет Нет 1-2
WIN936

,

Окна936

ISO_8859_5
ISO 8859-5,

ECMA

113

Латиница / кириллица да да 1

ISO_8859_6
ISO 8859-6,

ECMA

114

Латинский / арабский да да 1

ISO_8859_7
ISO 8859-7,

ECMA

118

Латинский / греческий да да 1

ISO_8859_8
ISO 8859-8,

ECMA

121

Латинский / иврит да да 1

ИОХАБ

ИОХАБ

Корейский (хангыль) Нет Нет 1–3

KOI8R

КОИ

8-R

Кириллица (русский) да да 1
KOI8

KOI8U

КОИ

8-У

Кириллица (украинский) да да 1

LATIN1
ISO 8859-1,

ECMA

94

Западноевропейский да да 1
ISO88591

LATIN2
ISO 8859-2,

ECMA

94

Центральноевропейская да да 1
ISO88592

LATIN3
ISO 8859-3,

ECMA

94

Южноевропейский да да 1
ISO88593

LATIN4
ISO 8859-4,

ECMA

94

Североевропейский да да 1
ISO88594

LATIN5
ISO 8859-9,

ECMA

128

турецкий да да 1
ISO88599

LATIN6
ISO 8859-10,

ECMA

144

Скандинавский да да 1
ISO885910

LATIN7
ISO 8859-13 Балтийский да да 1
ISO885913

LATIN8
ISO 8859-14 кельтский да да 1
ISO885914

ЛАТИНСКИЙ 9
ISO 8859-15 LATIN1 с евро и акцентами да да 1
ISO885915

ЛАТИНСКИЙ 10
ISO 8859-16,

ASRO

SR 14111

румынский да Нет 1
ISO885916

MULE_INTERNAL
Внутренний код мула Многоязычный Emacs да Нет 1–4

SJIS
Shift JIS Японский Нет Нет 1-2
Мсканджи

,

ShiftJIS

,

WIN932

,

Windows932

SHIFT_JIS_2004
Сдвиг JIS, JIS X 0213 Японский Нет Нет 1-2

SQL_ASCII
не указано (см. текст)


любой

да Нет 1

UHC
Единый код хангыль Корейский Нет Нет 1-2
WIN949

,

Окна949

UTF8
Юникод, 8 бит


все

да да 1–4
Юникод

WIN866
Окна CP866 Кириллица да да 1
ALT

WIN874
Окна CP874 Тайский да Нет 1

WIN1250
Окна CP1250 Центральноевропейская да да 1

WIN1251
Окна CP1251 Кириллица да да 1
ВЫИГРАТЬ

WIN1252
Окна CP1252 Западноевропейский да да 1

WIN1253
Окна CP1253 Греческий да да 1

WIN1254
Окна CP1254 турецкий да да 1

WIN1255
Окна CP1255 иврит да да 1

WIN1256
Окна CP1256 арабский да да 1

WIN1257
Окна CP1257 Балтийский да да 1

WIN1258
Окна CP1258 вьетнамский да да 1
ABC

,

TCVN

,

TCVN5712

,

VSCII

Не все клиенты

API

s поддерживают все перечисленные наборы символов.Например,

PostgreSQL

Драйвер JDBC не поддерживает

MULE_INTERNAL

,

LATIN6

,

LATIN8

, а также

ЛАТИНСКИЙ 10

.

В

SQL_ASCII

настройка ведет себя значительно иначе
из других настроек. Когда набор символов сервера

SQL_ASCII

, сервер интерпретирует байтовые значения 0–127
по стандарту ASCII, при этом берутся байтовые значения 128–255
как неинтерпретированные символы.Преобразование кодировки не будет выполнено, когда
настройка

SQL_ASCII

. Таким образом, этот параметр не так
много декларации, что используется определенная кодировка, как декларация
незнания о кодировке. В большинстве случаев, если вы
работая с любыми данными, отличными от ASCII, неразумно использовать

SQL_ASCII

настройка, потому что

PostgreSQL

не сможет вам помочь
преобразование или проверка символов, отличных от ASCII.

23.3.2. Установка набора символов


initdb

определяет набор символов по умолчанию (кодировку)
для

PostgreSQL

кластер. Например,

initdb -E EUC_JP
 

устанавливает набор символов по умолчанию на

EUC_JP

(Расширенный код Unix для японского языка). Ты
можно использовать

- кодирование

вместо

-E

если вы предпочитаете более длинные строки параметров.Если нет

-E

или же

- кодирование

вариант
дано,

initdb

пытается определить подходящий
кодировка для использования на основе указанного языкового стандарта или языкового стандарта по умолчанию.

Вы можете указать кодировку, отличную от используемой по умолчанию, во время создания базы данных,
при условии, что кодировка совместима с выбранной локалью:

createdb -E EUC_KR -T template0 --lc-collate = ko_KR.euckr --lc-ctype = ko_KR.Euckr корейский
 

Это создаст базу данных с именем

Корейский

что
использует набор символов

EUC_KR

, и языковой стандарт

ko_KR

.
Другой способ добиться этого — использовать эту команду SQL:

СОЗДАТЬ БАЗУ ДАННЫХ корейский С КОДИРОВАНИЕМ 'EUC_KR' LC_COLLATE = 'ko_KR.euckr' LC_CTYPE = 'ko_KR.euckr' TEMPLATE = template0;
 

Обратите внимание, что приведенные выше команды определяют копирование

template0

база данных.При копировании любой другой базы данных кодировка и локаль
параметры не могут быть изменены по сравнению с исходной базой данных, потому что
это может привести к повреждению данных. Для получения дополнительной информации см.

Раздел 22.3

.

Кодировка для базы данных хранится в системном каталоге.

pg_database

. Вы можете увидеть это, используя

psql


-l

вариант или

\ l

команда.

$   psql -l  
                                         Список баз данных
   Имя | Владелец | Кодирование | Сортировка | Ctype | Привилегии доступа
----------- + ---------- + ----------- + ------------- + - ------------ + -------------------------------------
 clocaledb | хлиннака | SQL_ASCII | C | C |
 englishdb | хлиннака | UTF8 | en_GB.UTF8 | en_GB.UTF8 |
 японский | хлиннака | UTF8 | ja_JP.UTF8 | ja_JP.UTF8 |
 корейский | хлиннака | EUC_KR | ko_KR.euckr | ko_KR.euckr |
 postgres | хлиннака | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 |
 template0 | хлиннака | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {= c / hlinnaka, hlinnaka = CTc / hlinnaka}
 template1 | хлиннака | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {= c / hlinnaka, hlinnaka = CTc / hlinnaka}
(7 рядов)
 

Важный

В большинстве современных операционных систем

PostgreSQL

может определить, какой набор символов подразумевается

LC_CTYPE

параметр, и он будет обеспечивать, чтобы только соответствующая кодировка базы данных была
использовал.В старых системах вы обязаны убедиться, что используете
кодировка, ожидаемая выбранной вами локалью. Ошибка в
эта область может привести к странному поведению зависящего от локали
такие операции, как сортировка.

PostgreSQL

позволит суперпользователям создавать
базы данных с

SQL_ASCII

кодирование даже когда

LC_CTYPE

не является

C

или же

POSIX

.Как указано
выше,

SQL_ASCII

не требует, чтобы данные, хранящиеся в
база данных имеет какую-либо конкретную кодировку, поэтому этот выбор создает риски
плохого поведения, зависящего от локали. Использование этой комбинации настроек
устарели и когда-нибудь могут быть полностью запрещены.

23.3.3. Автоматическое преобразование набора символов между сервером и клиентом

PostgreSQL

поддерживает автоматический характер
установить преобразование между сервером и клиентом для многих комбинаций
наборы символов (

Раздел 23.3,4

показывает какие).

Чтобы включить автоматическое преобразование набора символов, вы должны
рассказать

PostgreSQL

набор символов
(кодировка), которую вы хотели бы использовать в клиенте. Есть несколько
способы сделать это:

  • С помощью

    \ кодировка

    командовать в

    psql

    .

    \ кодировка

    позволяет сменить клиента
    кодирование на лету.Для
    например, чтобы изменить кодировку на

    SJIS

    , тип:

    \ кодирование SJIS
     
  • libpq

    (

    Раздел 33.10

    ) имеет функции для управления кодировкой клиента.

  • С использованием

    УСТАНОВИТЬ client_encoding TO

    .

    Установить клиентскую кодировку можно с помощью этой команды SQL:

    УСТАНОВИТЕ CLIENT_ENCODING в '  значение  ';
     

    Также вы можете использовать стандартный синтаксис SQL

    УСТАНОВИТЬ ИМЕНА

    для этого:

    УСТАНОВИТЕ ИМЕНА '  значение  ';
     

    Чтобы запросить текущую клиентскую кодировку:

    ПОКАЗАТЬ client_encoding;
     

    Чтобы вернуться к кодировке по умолчанию:

    СБРОС client_encoding;
     
  • С использованием

    PGCLIENTENCODING

    .Если переменная среды

    PGCLIENTENCODING

    определяется в клиентской
    среда, эта клиентская кодировка выбирается автоматически
    при подключении к серверу. (Это может
    впоследствии переопределить с помощью любого из других методов
    упомянутое выше.)

  • Использование переменной конфигурации

    client_encoding

    . Если

    client_encoding

    переменная установлена, этот клиент
    кодировка выбирается автоматически при подключении к
    сервер сделан.(Впоследствии это может быть отменено с помощью любого
    других методов, упомянутых выше.)

Если преобразование определенного символа невозможно
— предположим, вы выбрали

EUC_JP

для
сервер и

LATIN1

для клиента, а некоторые
Возвращаются японские символы, не представленные в

LATIN1

— сообщается об ошибке.

Если набор символов клиента определен как

SQL_ASCII

,
преобразование кодировки отключено, независимо от символа сервера
набор.(Однако, если набор символов сервера
нет

SQL_ASCII

, сервер все равно будет проверять, что
входящие данные действительны для этой кодировки; так что чистый эффект как
хотя набор символов клиента был таким же, как и на сервере.)
Как и в случае с сервером, использование

SQL_ASCII

неразумно
если вы не работаете с данными в формате ASCII.

23.3.4. Доступные преобразования набора символов

PostgreSQL

позволяет преобразование между любыми
два набора символов, для которых функция преобразования указана в


pg_conversion

системный каталог.PostgreSQL

поставляется с
некоторые предопределенные преобразования, как описано в

Таблица 23.2

и показано в более
подробно в

Таблица 23.3

. Ты можешь
создать новое преобразование с помощью команды SQL

СОЗДАТЬ ПРЕОБРАЗОВАНИЕ

. (Используется для автоматического
конверсии клиент / сервер, конверсия должна быть отмечена
в виде

»

По умолчанию

»

для его пары наборов символов.)


Таблица 23.2. Встроенное преобразование набора символов клиент / сервер

Набор символов сервера Доступные наборы символов клиента

BIG5


не поддерживается в качестве серверной кодировки


EUC_CN


EUC_CN

,

MULE_INTERNAL

,

UTF8


EUC_JP


EUC_JP

,

MULE_INTERNAL

,

SJIS

,

UTF8


EUC_JIS_2004


EUC_JIS_2004

,

SHIFT_JIS_2004

,

UTF8


EUC_KR


EUC_KR

,

MULE_INTERNAL

,

UTF8


EUC_TW


EUC_TW

,

BIG5

,

MULE_INTERNAL

,

UTF8


GB18030


не поддерживается в качестве серверной кодировки


ГБК


не поддерживается в качестве серверной кодировки


ISO_8859_5


ISO_8859_5

,

KOI8R

,

MULE_INTERNAL

,

UTF8

,

WIN866

,

WIN1251


ISO_8859_6


ISO_8859_6

,

UTF8


ISO_8859_7


ISO_8859_7

,

UTF8


ISO_8859_8


ISO_8859_8

,

UTF8


ИОХАБ


не поддерживается в качестве серверной кодировки


KOI8R


KOI8R

,

ISO_8859_5

,

MULE_INTERNAL

,

UTF8

,

WIN866

,

WIN1251


KOI8U


KOI8U

,

UTF8


LATIN1


LATIN1

,

MULE_INTERNAL

,

UTF8


LATIN2


LATIN2

,

MULE_INTERNAL

,

UTF8

,

WIN1250


LATIN3


LATIN3

,

MULE_INTERNAL

,

UTF8


LATIN4


LATIN4

,

MULE_INTERNAL

,

UTF8


LATIN5


LATIN5

,

UTF8


LATIN6


LATIN6

,

UTF8


LATIN7


LATIN7

,

UTF8


LATIN8


LATIN8

,

UTF8


ЛАТИНСКИЙ 9


ЛАТИНСКИЙ 9

,

UTF8


ЛАТИНСКИЙ 10


ЛАТИНСКИЙ 10

,

UTF8


MULE_INTERNAL


MULE_INTERNAL

,

BIG5

,

EUC_CN

,

EUC_JP

,

EUC_KR

,

EUC_TW

,

ISO_8859_5

,

KOI8R

,

LATIN1

к

LATIN4

,

SJIS

,

WIN866

,

WIN1250

,

WIN1251


SJIS


не поддерживается в качестве серверной кодировки


SHIFT_JIS_2004


не поддерживается в качестве серверной кодировки


SQL_ASCII


любой (преобразование не будет выполнено)


UHC


не поддерживается в качестве серверной кодировки


UTF8


все поддерживаемые кодировки


WIN866


WIN866

,

ISO_8859_5

,

KOI8R

,

MULE_INTERNAL

,

UTF8

,

WIN1251


WIN874


WIN874

,

UTF8


WIN1250


WIN1250

,

LATIN2

,

MULE_INTERNAL

,

UTF8


WIN1251


WIN1251

,

ISO_8859_5

,

KOI8R

,

MULE_INTERNAL

,

UTF8

,

WIN866


WIN1252


WIN1252

,

UTF8


WIN1253


WIN1253

,

UTF8


WIN1254


WIN1254

,

UTF8


WIN1255


WIN1255

,

UTF8


WIN1256


WIN1256

,

UTF8


WIN1257


WIN1257

,

UTF8


WIN1258


WIN1258

,

UTF8


Таблица 23.3. Все встроенные преобразования набора символов.

Название конверсии

Исходное кодирование Кодирование назначения

big5_to_euc_tw

BIG5

EUC_TW

big5_to_mic

BIG5

MULE_INTERNAL

big5_to_utf8

BIG5

UTF8

euc_cn_to_mic

EUC_CN

MULE_INTERNAL

euc_cn_to_utf8

EUC_CN

UTF8

euc_jp_to_mic

EUC_JP

MULE_INTERNAL

euc_jp_to_sjis

EUC_JP

SJIS

euc_jp_to_utf8

EUC_JP

UTF8

euc_kr_to_mic

EUC_KR

MULE_INTERNAL

euc_kr_to_utf8

EUC_KR

UTF8

euc_tw_to_big5

EUC_TW

BIG5

euc_tw_to_mic

EUC_TW

MULE_INTERNAL

euc_tw_to_utf8

EUC_TW

UTF8

gb18030_to_utf8

GB18030

UTF8

gbk_to_utf8

ГБК

UTF8

iso_8859_10_to_utf8

LATIN6

UTF8

iso_8859_13_to_utf8

LATIN7

UTF8

iso_8859_14_to_utf8

LATIN8

UTF8

iso_8859_15_to_utf8

ЛАТИНСКИЙ 9

UTF8

iso_8859_16_to_utf8

ЛАТИНСКИЙ 10

UTF8

iso_8859_1_to_mic

LATIN1

MULE_INTERNAL

iso_8859_1_to_utf8

LATIN1

UTF8

iso_8859_2_to_mic

LATIN2

MULE_INTERNAL

iso_8859_2_to_utf8

LATIN2

UTF8

iso_8859_2_to_windows_1250

LATIN2

WIN1250

iso_8859_3_to_mic

LATIN3

MULE_INTERNAL

iso_8859_3_to_utf8

LATIN3

UTF8

iso_8859_4_to_mic

LATIN4

MULE_INTERNAL

iso_8859_4_to_utf8

LATIN4

UTF8

iso_8859_5_to_koi8_r

ISO_8859_5

KOI8R

iso_8859_5_to_mic

ISO_8859_5

MULE_INTERNAL

iso_8859_5_to_utf8

ISO_8859_5

UTF8

iso_8859_5_to_windows_1251

ISO_8859_5

WIN1251

iso_8859_5_to_windows_866

ISO_8859_5

WIN866

iso_8859_6_to_utf8

ISO_8859_6

UTF8

iso_8859_7_to_utf8

ISO_8859_7

UTF8

iso_8859_8_to_utf8

ISO_8859_8

UTF8

iso_8859_9_to_utf8

LATIN5

UTF8

johab_to_utf8

ИОХАБ

UTF8

koi8_r_to_iso_8859_5

KOI8R

ISO_8859_5

koi8_r_to_mic

KOI8R

MULE_INTERNAL

koi8_r_to_utf8

KOI8R

UTF8

koi8_r_to_windows_1251

KOI8R

WIN1251

koi8_r_to_windows_866

KOI8R

WIN866

koi8_u_to_utf8

KOI8U

UTF8

mic_to_big5

MULE_INTERNAL

BIG5

mic_to_euc_cn

MULE_INTERNAL

EUC_CN

mic_to_euc_jp

MULE_INTERNAL

EUC_JP

mic_to_euc_kr

MULE_INTERNAL

EUC_KR

mic_to_euc_tw

MULE_INTERNAL

EUC_TW

mic_to_iso_8859_1

MULE_INTERNAL

LATIN1

mic_to_iso_8859_2

MULE_INTERNAL

LATIN2

mic_to_iso_8859_3

MULE_INTERNAL

LATIN3

mic_to_iso_8859_4

MULE_INTERNAL

LATIN4

mic_to_iso_8859_5

MULE_INTERNAL

ISO_8859_5

mic_to_koi8_r

MULE_INTERNAL

KOI8R

mic_to_sjis

MULE_INTERNAL

SJIS

mic_to_windows_1250

MULE_INTERNAL

WIN1250

mic_to_windows_1251

MULE_INTERNAL

WIN1251

mic_to_windows_866

MULE_INTERNAL

WIN866

sjis_to_euc_jp

SJIS

EUC_JP

sjis_to_mic

SJIS

MULE_INTERNAL

sjis_to_utf8

SJIS

UTF8

windows_1258_to_utf8

WIN1258

UTF8

uhc_to_utf8

UHC

UTF8

utf8_to_big5

UTF8

BIG5

utf8_to_euc_cn

UTF8

EUC_CN

utf8_to_euc_jp

UTF8

EUC_JP

utf8_to_euc_kr

UTF8

EUC_KR

utf8_to_euc_tw

UTF8

EUC_TW

utf8_to_gb18030

UTF8

GB18030

utf8_to_gbk

UTF8

ГБК

utf8_to_iso_8859_1

UTF8

LATIN1

utf8_to_iso_8859_10

UTF8

LATIN6

utf8_to_iso_8859_13

UTF8

LATIN7

utf8_to_iso_8859_14

UTF8

LATIN8

utf8_to_iso_8859_15

UTF8

ЛАТИНСКИЙ 9

utf8_to_iso_8859_16

UTF8

ЛАТИНСКИЙ 10

utf8_to_iso_8859_2

UTF8

LATIN2

utf8_to_iso_8859_3

UTF8

LATIN3

utf8_to_iso_8859_4

UTF8

LATIN4

utf8_to_iso_8859_5

UTF8

ISO_8859_5

utf8_to_iso_8859_6

UTF8

ISO_8859_6

utf8_to_iso_8859_7

UTF8

ISO_8859_7

utf8_to_iso_8859_8

UTF8

ISO_8859_8

utf8_to_iso_8859_9

UTF8

LATIN5

utf8_to_johab

UTF8

ИОХАБ

utf8_to_koi8_r

UTF8

KOI8R

utf8_to_koi8_u

UTF8

KOI8U

utf8_to_sjis

UTF8

SJIS

utf8_to_windows_1258

UTF8

WIN1258

utf8_to_uhc

UTF8

UHC

utf8_to_windows_1250

UTF8

WIN1250

utf8_to_windows_1251

UTF8

WIN1251

utf8_to_windows_1252

UTF8

WIN1252

utf8_to_windows_1253

UTF8

WIN1253

utf8_to_windows_1254

UTF8

WIN1254

utf8_to_windows_1255

UTF8

WIN1255

utf8_to_windows_1256

UTF8

WIN1256

utf8_to_windows_1257

UTF8

WIN1257

utf8_to_windows_866

UTF8

WIN866

utf8_to_windows_874

UTF8

WIN874

windows_1250_to_iso_8859_2

WIN1250

LATIN2

windows_1250_to_mic

WIN1250

MULE_INTERNAL

windows_1250_to_utf8

WIN1250

UTF8

windows_1251_to_iso_8859_5

WIN1251

ISO_8859_5

windows_1251_to_koi8_r

WIN1251

KOI8R

windows_1251_to_mic

WIN1251

MULE_INTERNAL

windows_1251_to_utf8

WIN1251

UTF8

windows_1251_to_windows_866

WIN1251

WIN866

windows_1252_to_utf8

WIN1252

UTF8

windows_1256_to_utf8

WIN1256

UTF8

windows_866_to_iso_8859_5

WIN866

ISO_8859_5

windows_866_to_koi8_r

WIN866

KOI8R

windows_866_to_mic

WIN866

MULE_INTERNAL

windows_866_to_utf8

WIN866

UTF8

windows_866_to_windows_1251

WIN866

ВЫИГРАТЬ

windows_874_to_utf8

WIN874

UTF8

euc_jis_2004_to_utf8

EUC_JIS_2004

UTF8

utf8_to_euc_jis_2004

UTF8

EUC_JIS_2004

shift_jis_2004_to_utf8

SHIFT_JIS_2004

UTF8

utf8_to_shift_jis_2004

UTF8

SHIFT_JIS_2004

euc_jis_2004_to_shift_jis_2004

EUC_JIS_2004

SHIFT_JIS_2004

shift_jis_2004_to_euc_jis_2004

SHIFT_JIS_2004

EUC_JIS_2004

Это хорошие источники, чтобы начать изучать различные виды кодирования.
системы.


Обработка информации CJKV: вычисления на китайском, японском, корейском и вьетнамском языках

Содержит подробные объяснения

EUC_JP

,

EUC_CN

,

EUC_KR

,

EUC_TW

.

https: // www.unicode.org/

Веб-сайт Консорциума Unicode.

RFC 3629

UTF

-8 (8-битное преобразование UCS / Unicode)
Формат) определяется здесь.

Русифицировать MS Windows

Эти инструкции подходят для:

  • MS Windows NT 4.0 .
  • MS Windows 98 .
  • MS Windows 95 .
  • MS Windows 3.11 , MS Windows 3.1 .

KOI8-R против CP1251 на Windows Turf

Мы рекомендуем использовать собственные шрифты и клавиатуру CP1251.
на платформах MS Windows.
Это потому, что шрифты Microsoft CP1251 лучше, чем
бесплатные шрифты KOI8-R и поскольку клавиатура CP1251 интегрирована в систему,
а клавиатура KOI8-R — нет.

Однако это не означает, что вам нужно
прекратить использование KOI8-R в качестве внешнего стандарта Интернета.KOI8-R — это стандарт, который вы должны использовать, и способ справиться с этим
использовать приложений, которые преобразуют внутренних символов CP1251 в
внешние символы KOI8-R при отправке материалов и, наоборот,
конвертировать KOI8-R в CP1251 при чтении.

Два самых важных интернет-приложения — Netscape Communicator
(Navigator версии 4.0) и Microsoft Internet Explorer (начиная с версии 3.0)
— уже делаю.
Это все, что имеет значение.

Однако, если вы используете MS Windows 3.1 и / или более старые приложения, которые
не выполняйте преобразование на лету, вам все равно нужно
установить шрифты и клавиатуру KOI8-R, чтобы иметь возможность работать с кириллицей в сети.


Перед тем, как начать

Резюме.
Я предполагаю, что у вас есть свежая установка системы Windows.

Перед началом рекомендую удалить все
другие пакеты русификации в вашей системе.

Я действительно не знаю как удалить
все существующие сегодня пакеты русификации.Вы должны спросить поставщика пакета, который хотите удалить.


Содержание

Обратите внимание, что русификация этих 3 систем существенно различается,
так что обратите внимание, какая техника используется для какой системы.

Чтобы русифицировать свою систему MS Windows, вам нужно сделать 3 вещи:

  1. Установить кириллические шрифты

    Они нужны для отображения кириллических символов.

  2. Установите переключатель кириллической клавиатуры .

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

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