charsets(7) — manpages-ru — Debian bullseye-backports — Debian Manpages

charsets — стандарты наборов символов и интернационализация

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

Обсуждаемые стандарты: ASCII, GB 2312, ISO 8859, JIS, KOI8-R, KS и Юникод.

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

ASCII¶

ASCII (American Standard Code For Information Interchange; американский стандартный код для обмена информацией) — первоначальный 7-битный набор символов, разработанный для американского варианта английского языка.

Также известен как US-ASCII. В настоящее время описан в стандарте ISO 646:1991 IRV (International Reference Version).

Существуют различные варианты (из 7 бит) ASCII, в которых американский символ доллара и знаки пунктуации заменяются на знаки валют различных стран (Германия, Франция, Испания и другие). Все эти наборы устарели; в glibc не поддерживаются локали, которые в действительности не содержат набор ASCII.

Юникод, при использовании UTF-8, является совместимым с ASCII; простой (plain) текст ASCII по-прежнему отображается корректно в современных системах, использующих UTF-8.

ISO 8859¶

ISO 8859 — это серия из 15-и 8-битных наборов символов, каждый из которых имеет в своей нижней (7-битной) половине коды ASCII, невидимые управляющие символы в позициях от 128 до 159 и 96 графических символов фиксированной ширины в позициях 160–255.

Из них самой важной является последовательность ISO 8859-1 («Latin Alphabet No .1» / Latin-1). Она широко распространена, поддерживается различными системами и постепенно заменяется Юникодом. Символы ISO 8859-1 также являются первыми 256 символами Юникода.

Поддержка в консоли других наборов символов 8859 осуществляется в Linux с помощью пользовательских утилит (таких, как setfont(8)), меняющих привязки клавиатуры, таблицу графики EGA и передающих драйверу консоли таблицу соответствий символов шрифтам.

Ниже приводится краткое описание каждого набора:

8859-1 (Latin-1)
Latin-1 охватывается большинство западноевропейских языков, таких, как: албанский, баскский, датский, английский, фарезский, галисийский, исландский, ирландский, итальянский, норвежский, португальский, испанский и шведский. Отсутствие лигатуры IJ/ij голландского языка, œ французского языка и старых „немецких“ кавычек считается приемлемым.
8859-2 (Latin-2)
Latin-2 охватывает множество славянских и центрально и восточно-европейских языков: боснийский, хорватский, чешский, немецкий, венгерский, польский, словацкий и словенский. Замена румынского ș/ț на ş/ţ считается приемлемым.
8859-3 (Latin-3)
Latin-3 охватывает эсперанто, мальтийский и турецкий языки (но турецкий сейчас охватывается 8859-9).
8859-4 (Latin-4)
Latin-4 охватывает северо-европейские языки: эстонский, латвийский и литовский языки. Но сейчас они охватываются 8859-10 и 8859-13.
8859-5
Кириллические символы болгарского, белорусского, македонского, русского, сербского и (почти полностью) украинского языков. Никогда широко не использовался, смотрите ниже описание KOI8-R/KOI8-U.
8859-6
Был создан для арабского языка. Таблица начертаний (глифов) 8859-6 — это шрифт отдельных форм букв постоянной ширины; корректная программа отображения должна объединить их, используя корректные начальные, промежуточные и конечные формы.
8859-7
Был создан для современного греческого языка в 1987 году, обновлён в 2003 году.
8859-8
Поддерживает современный иврит без niqud (знаки пунктуации). Niqud и полный библейский иврит не входят в этот набор.
8859-9 (Latin-5)
Это вариант Latin-1, в котором исландские буквы заменены турецкими.
8859-10 (Latin-6)
Latin-6 добавляет последние инуитские (гренландские) буквы и буквы сами (Sami Lappish), отсутствующие в Latin-4, для того, чтобы объединить шрифты всех нордических языков.
8859-11
Поддерживает тайский алфавит и очень похож на стандарт TIS-620.
8859-12
Этот набор не существует.
8859-13 (Latin-7)
Поддерживает балтийские языки, в частности, латвийские символы не вошедшие в Latin-4.
8859-14 (Latin-8)
Это кельтский набор символов для старого ирландского, мэнского, гаэлльского, уэльского, корнуэльского и бретонского языков.
8859-15 (Latin-9)
Latin-9 похож на широко используемый Latin-1, но в нём заменены некоторые мало используемые символы на знак евро, а также французские и финские лигатуры, отсутствующие в Latin-1.
8859-16 (Latin-10)
Этот набор включает в себя многие южно-европейские языки, и самое главное, румынский язык поддерживается более полно чем в Latin-2.

KOI8-R / KOI8-U¶

KOI8-R — набор символов не ISO, являлся популярным в России до Юникода. Нижняя часть таблицы описывает ASCII, верхняя — набор символов кириллицы, более совершенный по сравнению с ISO 8859-5. KOI8-U, основанный на KOI8-R, имеет более полную поддержку украинского языка. Ни один из этих наборов не совместим с ISO-2022 (в отличии от ISO 8859).

Поддержка символов KOI8-R в консоли осуществляется Linux с помощью пользовательских утилит, меняющих привязки клавиатуры, таблицу графики EGA и передающих драйверу консоли таблицу соответствий символов шрифтам.

GB 2312¶

GB 2312 это национальный китайский стандартный набор символов для упрощенного китайского. Как и в JIS X 0208, символы берутся из массива 94×94 и состоят из двух байт. Набор символов используется для кодировки EUC-CN. EUC-CN является наиболее важной кодировкой для Linux и включает в себя ASCII и GB 2312. Заметим, что EUC-CN часто называют GB, GB 2312 или CN-GB.

Big5¶

Big5 — ранее популярный набор в Тайване для отображения традиционного китайского языка (Big5 является и кодировкой и набором символов). Он включает в себя ASCII. Символы, не входящие в ASCII, представлены двумя байтами. Первый байт (символ представлен двумя байтами) берётся из диапазона xa1–0xfe. Big5 и его расширение широко используются в Тайване и Гонконге. Он не совместим с ISO 2022.

JIS X 0208¶

JIS X 208 является стандартным набором для японского языка. Существуют несколько других японских стандартов, например, JIS X 0201, JIS X 0212 и JIS X 0213, но первый — самый распространенный. Символы берутся из массива 94×94 и представлены двумя байтами, каждый из которых находится в интервале 0x21–0x7e. Заметьте, что JIS X 0208 является набором символов, а не кодировкой. Это означает, что JIS X 0208 не может представлять текстовую информацию самостоятельно, а является лишь компонентом для кодировок, таких как EUC-JP, Shift_JIS и ISO-2022-JP. EUC-JP — наиболее важная кодировка для Linux и включает в себя ASCII и JIS X 0208. В EUC-JP для символов JIS X 0208 отводится по 2 байта, значение каждого из которых равно коду JIS X 0208 плюс 0x80.

KS X 1001¶

KS X 1001 это корейский национальный стандарт для наборов символов. Как и в JIS X 0208, символы берутся из матрицы 94×94 и состоят из двух байт. KS X 1001, так же как и JIS X 0208, является компонентом для кодировок EUC-KR, Johab и ISO-2022-KR. EUC-KR является наиболее важной кодировкой для Linux и включает в себя ASCII и KS X 1001. KS C 5601 это старое название KS X 1001.

ISO 2022 и ISO 4873¶

Стандарты ISO 2022 и 4873 описывают модель управления шрифтами, основанную на практике работы с VT100. Эта модель (частично) поддерживается ядром Linux и xterm(1). O (SI or LS0), ESC n (LS2), ESC o (LS3), ESC N (SS2), ESC O (SS3), ESC ~ (LS1R), ESC } (LS2R), ESC | (LS3R). The function LSn makes character set Gn the current one for codes with high bit zero. The function LSnR makes character set Gn the current one for codes with high bit one. The function SSn makes character set Gn (n=2 or 3) the current one for the next character only (regardless of the value of its high order bit).

94-символьный набор становится набором символов Gn c помощью последовательности ESC ( xx (для G0), ESC ) xx (для G1), ESC * xx (для G2), ESC + xx (для G3), где xx является символом или парой символов, которая содержится в ISO 2375 International Register of Coded Character Sets (международном реестре кодированных наборов символов). Например, ESC ( @ выбирает в качестве G0 набор символов ISO 646, ESC ( A выбирает стандартный набор символов UK (со знаком фунта вместо знака номера), ESC ( B выбирает ASCII (со знаком доллара вместо знака валюты), ESC ( M выбирает набор символов для африканских языков, ESC ( ! A выбирает кубинский набор символов и т. O are not used anymore, ESC ( xx can be used only with xx=B, and ESC ) xx, ESC * xx, ESC + xx are equivalent to ESC — xx, ESC . xx, ESC / xx, respectively.

TIS-620¶

TIS -62 — это национальный стандартный набор тайских символов, включающий ASCII. Как и в стандартах ISO 8859, тайские символы находятся в интервале 0xa1–0xfe.

Юникод¶

Юникод (ISO 10646) — стандарт, которым можно представить любой символ из всех известных человеку языков. В структуре Юникода на кодирование каждого символа выделяется 20.1 бит. Так как большинство компьютеров не поддерживают целых чисел размерностью 20.1 бит, то Юникод, обычно, кодируется в 32-битных целых, а также или серией 16-ти битных целых (UTF-16, 2 16-битных целых требуется только при кодировании редких символов), или серией 8-битных байт (UTF-8).

Для представления Юникода в Linux используется 8-битный формат преобразования Юникода (UTF-8 — 8-bit Unicode Transformation Format). UTF-8 — это формат непостоянной длины для кодирования Юникода. В нём используется 1 байт для кодирования 7-и битов, 2 байта для 11-и битов, 3 байта для 16-и битов, 4 байта для 21-ого бита, 5 байтов для 26-и битов, 6 байтов для 31-ого бита.

Пусть 0, 1, x соответствует нулю, единице и случайному биту. Байт 0xxxxxxx соответствует Юникоду 00000000 0xxxxxxx, что, в свою очередь, соответствует символу в ASCII 0xxxxxxxx. То есть, коды ASCII совпадают с кодами UTF-8 и людям, использующим только ASCII, ничего делать не нужно: ни в коде, ни в файлах.

Байт 110xxxxx является началом 2-байтного кода, и 110xxxxx 10yyyyyy преобразуется в 00000xxx xxyyyyyy. Байт 1110xxxx — начало 3-байтного кода, и 1110xxxx 10yyyyyy 10zzzzzz преобразуется в xxxxyyyy yyzzzzzz (если UTF-8 используется для кодирования 31-битного ISO 10646, то это прогрессия продолжается до 6-байтных кодов).

Для большинства текстов, кодированных наборами ISO 8859, это означает, что символы, не входящие в ASCII, теперь кодируются двумя байтами. Это приводит к тому, что обычный текстовый файл становится больше на 1-2 процента. Обычные текстовые файлы на греческом или русском языке увеличиваются на 100%, так как почти все символы в этих языках находятся за пределами ASCII. Для пользователей японского языка 16-ти битные символы теперь, в основном, представляются 3-мя байтами. Хотя для некоторых наборов символов (особенно ISO-8859-1) и есть алгоритмы преобразования в Юникод, в большинстве случаев для преобразований требуются таблицы соответствий, которые могут быть большими для 16-битных кодов.

Заметим, что UTF-8 является самосинхронизирующимся: 10xxxxxx — это «хвост», а любой другой байт — «голова» кода. Только байты ASCII в потоке UTF-8 представлены без изменений. В частности, в поток не встраиваются NUL (‘\0’) или ‘/’ для формирования части какого-то большего кода.

Так как символы ASCII, в частности, NUL и ‘/’, не изменяются, то ядро не замечает, что используется UTF-8. В нём никак не учитывается для чего используются эти байты.

Визуализация потоков данных Юникода обычно производится с помощью таблицы «подшрифтов», переводящей единицы набора Юникода в образы символов (глифы). Внутри ядра Юникод используется для описания подшрифта, загруженного в видеопамять. Это означает, что в консоли Linux в режиме UTF-8 можно использовать набор символов с 512-ю различными символами. Этого недостаточно для японского, китайского и корейского языков, но достаточно для большинства других.

iconv(1), ascii(7), iso_8859-1(7), unicode(7), utf-8(7)

Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

Русский перевод этой страницы руководства был сделан Azamat Hackimov <[email protected]>, Dmitriy S. Seregin <[email protected]>, Dmitry Bolkhovskikh <[email protected]>, Katrin Kutepova <[email protected]>, Yuri Kozlov <[email protected]> и Иван Павлов <[email protected]>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected].

8-битный шрифт кириллицы Royalty Free Vector Image

8-битный шрифт кириллицы Royalty Free Vector Image
  1. лицензионные векторы
  2. алфавит векторов
ЛицензияПодробнее
Стандарт Вы можете использовать вектор в личных и коммерческих целях. Расширенный Вы можете использовать вектор на предметах для перепродажи и печати по требованию.

Тип лицензии определяет, как вы можете использовать этот образ.

Станд. Расшир.
Печатный/редакционный
Графический дизайн
Веб-дизайн
Социальные сети
Редактировать и изменить
Многопользовательский
Предметы перепродажи
Печать по запросу
Владение Узнать больше
Эксклюзивный Если вы хотите купить исключительно этот вектор, отправьте художнику запрос ниже:

Хотите, чтобы это векторное изображение было только у вас? Эксклюзивный выкуп обеспечивает все права этого вектора.

Мы удалим этот вектор из нашей библиотеки, а художник прекратит продажу работ.

Способы покупкиСравнить
Плата за изображение $ 14,99 Кредиты $ 1,00 Подписка 9 долларов0082 0,69

Оплатить стандартные лицензии можно тремя способами. Цены составляют $ $.

Оплата с помощью Цена изображения
Плата за изображение $ 14,99 Одноразовый платеж
Предоплаченные кредиты $ 1 Загружайте изображения по запросу (1 кредит = 1 доллар США). Минимальная покупка 30р.
План подписки От 69 центов Выберите месячный план. Неиспользованные загрузки автоматически переносятся на следующий месяц.
Способы покупкиСравнить
Плата за изображение $ 39,99 Кредиты $ 30,00

Существует два способа оплаты расширенных лицензий. Цены составляют $ $.

Оплата с помощью Стоимость изображения
Плата за изображение $ 39,99 Оплата разовая, регистрация не требуется.
Предоплаченные кредиты $ 30 Загружайте изображения по запросу (1 кредит = 1 доллар США).
Оплата
Плата за изображение $ 499
Дополнительные услугиПодробнее
Настроить изображение Доступно только с оплатой за изображение 9 долларов0082 85,00

Нравится изображение, но нужно всего лишь несколько модификаций? Пусть наши талантливые художники сделают всю работу за вас!

Мы свяжем вас с дизайнером, который сможет внести изменения и отправить вам изображение в выбранном вами формате.

Примеры
  • Изменить текст
  • Изменить цвета
  • Изменить размер до новых размеров
  • Включить логотип или символ
  • Добавьте название своей компании или компании
Включенные файлы

Подробности загрузки. ..

  • Идентификатор изображения
    22803569
  • Цветовой режим
    RGB
  • Художник
    денисгорелкин

8-битный шрифт кириллицы Royalty Free Vector Image

8-битный шрифт кириллицы Лицензионное векторное изображение — VectorStock
  1. лицензионные векторы
  2. Векторы шрифтов
ЛицензияПодробнее
Стандарт Вы можете использовать вектор в личных и коммерческих целях. Расширенный Вы можете использовать вектор на предметах для перепродажи и печати по требованию.

Тип лицензии определяет, как вы можете использовать этот образ.

Станд. Расшир.
Печатный/редакционный
Графический дизайн
Веб-дизайн
Социальные сети
Редактировать и изменить
Многопользовательский
Предметы перепродажи
Печать по запросу
Владение Узнать больше
Эксклюзивный Если вы хотите купить исключительно этот вектор, отправьте художнику запрос ниже:

Хотите, чтобы это векторное изображение было только у вас? Эксклюзивный выкуп обеспечивает все права этого вектора.

Мы удалим этот вектор из нашей библиотеки, а художник прекратит продажу работ.

Способы покупкиСравнить
Плата за изображение $ 14,99 Кредиты $ 1,00 Подписка 9 долларов0082 0,69

Оплатить стандартные лицензии можно тремя способами. Цены составляют $ $.

Оплата с помощью Цена изображения
Плата за изображение $ 14,99 Одноразовый платеж
Предоплаченные кредиты $ 1 Загружайте изображения по запросу (1 кредит = 1 доллар США). Минимальная покупка 30р.
План подписки От 69 центов Выберите месячный план. Неиспользованные загрузки автоматически переносятся на следующий месяц.
Способы покупкиСравнить
Плата за изображение $ 39,99 Кредиты $ 30,00

Существует два способа оплаты расширенных лицензий.

Автор записи

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

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