Содержание

Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами

Обновлено 19 января 2021
  1. ASCII — базовая кодировка текста для латиницы
  2. Расширенные версии Аски — кодировки CP866 и KOI8-R
  3. Windows 1251 — почему вылезают кракозябры
  4. Юникод (Unicode) — универсальные кодировки UTF 8, 16 и 32
  5. Кракозябры вместо русских букв — как исправить

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня мы поговорим с вами про то, откуда берутся кракозябры на сайте и в программах, какие кодировки текста существуют и какие из них следует использовать. Подробно рассмотрим историю их развития, начиная от базовой ASCII, а также ее расширенных версий CP866, KOI8-R, Windows 1251 и заканчивая современными кодировками консорциума Юникод UTF 16 и 8.

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

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

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

Но все же отправной точкой для развития современных кодировок текстов стоит считать знаменитую ASCII (American Standard Code for Information Interchange, которая по-русски обычно произносится как «аски»). Она описывает первые 128 символов из наиболее часто используемых англоязычными пользователями — латинские буквы, арабские цифры и знаки препинания.

Еще в эти 128 знаков, описанных в ASCII, попадали некоторые служебные символы навроде скобок, решеток, звездочек и т. п. Собственно, вы сами можете увидеть их:

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

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

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

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

В нашем примере это получается 1 (2 в степени ноль) плюс 8 (два в степени 3), плюс 32 (двойка в пятой степени), плюс 64 (в шестой), плюс 128 (в седьмой). Итого получает 233 в десятичной системе счисления. Как видите, все очень просто.

Но если вы присмотритесь к таблице с символами ASCII, то увидите, что они представлены в шестнадцатеричной кодировке. Например, «звездочка» соответствует в Аски шестнадцатеричному числу 2A. Наверное, вам известно, что в шестнадцатеричной системе счисления используются кроме арабских цифр еще и латинские буквы от A (означает десять) до F (означает пятнадцать).

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

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

Расширенные версии Аски — кодировки CP866 и KOI8-R с псевдографикой

Итак, мы с вами начали говорить про ASCII, которая являлась как бы отправной точкой для развития всех современных кодировок (Windows 1251, юникод, UTF 8).

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

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

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

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

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

Например, изначально появилась CP866, в которой была возможность использовать символы русского алфавита и она являлась расширенной версией ASCII.

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

Видите, в правом столбце цифры начинаются с 8, т.к. числа с 0 до 7 относятся к базовой части ASCII (см. первый скриншот). Т.о. русская буква «М» в CP866 будет иметь код 9С (она находится на пересечении соответствующих строки с 9 и столбца с цифрой С в шестнадцатеричной системе счисления), который можно записать в одном байте информации, и при наличии подходящего шрифта с русскими символами эта буква без проблем отобразится в тексте.

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

CP866 распространяла компания IBM, но кроме этого для символов русского языка были разработаны еще ряд кодировок, например, к этому же типу (расширенных ASCII) можно отнести KOI8-R:

Принцип ее работы остался тот же самый, что и у описанной чуть ранее CP866 — каждый символ текста кодируется одним единственным байтом. На скриншоте показана вторая половина таблицы KOI8-R, т.к. первая половина полностью соответствует базовой Аски, которая показана на первом скриншоте в этой статье.

Среди особенностей кодировки KOI8-R можно отметить то, что русские буквы в ее таблице идут не в алфавитном порядке, как это, например, сделали в CP866.

Если посмотрите на самый первый скриншот (базовой части, которая входит во все расширенные кодировки), то заметите, что в KOI8-R русские буквы расположены в тех же ячейках таблицы, что и созвучные им буквы латинского алфавита из первой части таблицы. Это было сделано для удобства перехода с русских символов на латинские путем отбрасывания всего одного бита (два в седьмой степени или 128).

Windows 1251 — современная версия ASCII и почему вылезают кракозябры

Дальнейшее развитие кодировок текста было связано с тем, что набирали популярность графические операционные системы и необходимость использования псевдографики в них со временем пропала. В результате возникла целая группа, которая по своей сути по-прежнему являлись расширенными версиями Аски (один символ текста кодируется всего одним байтом информации), но уже без использования символов псевдографики.

Они относились к так называемым ANSI кодировкам, которые были разработаны американским институтом стандартизации. В просторечии еще использовалось название кириллица для варианта с поддержкой русского языка. Примером такой может служить Windows 1251.

Она выгодно отличалась от используемых ранее CP866 и KOI8-R тем, что место символов псевдографики в ней заняли недостающие символы русской типографики (окромя знака ударения), а также символы, используемые в близких к русскому славянских языках (украинскому, белорусскому и т.д.):

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

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

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

Допустим, если символы, закодированные с помощью CP866, попробовать отобразить, используя кодовую таблицу Windows 1251, то эти самые кракозябры (бессмысленный набор знаков) и вылезут, полностью заменив собой текст сообщения.

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

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

Юникод (Unicode) — универсальные кодировки UTF 8, 16 и 32

Эти тысячи знаков языковой группы юго-восточной Азии никак невозможно было описать в одном байте информации, который выделялся для кодирования символов в расширенных версиях ASCII. В результате был создан консорциум под названием Юникод (Unicode — Unicode Consortium) при сотрудничестве многих лидеров IT индустрии (те, кто производит софт, кто кодирует железо, кто создает шрифты), которые были заинтересованы в появлении универсальной кодировки текста.

Первой вариацией, вышедшей под эгидой консорциума Юникод, была UTF 32. Цифра в названии кодировки означает количество бит, которое используется для кодирования одного символа. 32 бита составляют 4 байта информации, которые понадобятся для кодирования одного единственного знака в новой универсальной кодировке UTF.

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

Но многим странам с языками европейской группы такое огромное количество знаков использовать в кодировке вовсе и не было необходимости, однако при задействовании UTF-32 они ни за что ни про что получали четырехкратное увеличение веса текстовых документов, а в результате и увеличение объема интернет трафика и объема хранимых данных. Это много, и такое расточительство себе никто не мог позволить.

В результате развития Юникода появилась UTF-16, которая получилась настолько удачной, что была принята по умолчанию как базовое пространство для всех символов, которые у нас используются. Она использует два байта для кодирования одного знака. Давайте посмотрим, как это дело выглядит.

В операционной системе Windows вы можете пройти по пути «Пуск» — «Программы» — «Стандартные» — «Служебные» — «Таблица символов». В результате откроется таблица с векторными формами всех установленных у вас в системе шрифтов. Если вы выберете в «Дополнительных параметрах» набор знаков Юникод, то сможете увидеть для каждого шрифта в отдельности весь ассортимент входящих в него символов.

Кстати, щелкнув по любому из них, вы сможете увидеть его двухбайтовый код в формате UTF-16, состоящий из четырех шестнадцатеричных цифр:

Сколько символов можно закодировать в UTF-16 с помощью 16 бит? 65 536 (два в степени шестнадцать), и именно это число было принято за базовое пространство в Юникоде. Помимо этого существуют способы закодировать с помощью нее и около двух миллионов знаков, но ограничились расширенным пространством в миллион символов текста.

Но даже эта удачная версия кодировки Юникода не принесла особого удовлетворения тем, кто писал, допустим, программы только на английском языке, ибо у них, после перехода от расширенной версии ASCII к UTF-16, вес документов увеличивался в два раза (один байт на один символ в Аски и два байта на тот же самый символ в ЮТФ-16).

Вот именно для удовлетворения всех и вся в консорциуме Unicode было решено придумать кодировку переменной длины. Ее назвали UTF-8. Несмотря на восьмерку в названии, она действительно имеет переменную длину, т.е. каждый символ текста может быть закодирован в последовательность длиной от одного до шести байт.

На практике же в UTF-8 используется только диапазон от одного до четырех байт, потому что за четырьмя байтами кода ничего уже даже теоретически не возможно представить. Все латинские знаки в ней кодируются в один байт, так же как и в старой доброй ASCII.

Что примечательно, в случае кодирования только латиницы, даже те программы, которые не понимают Юникод, все равно прочитают то, что закодировано в ЮТФ-8. Т.е. базовая часть Аски просто перешла в это детище консорциума Unicode.

Кириллические же знаки в UTF-8 кодируются в два байта, а, например, грузинские — в три байта. Консорциум Юникод после создания UTF 16 и 8 решил основную проблему — теперь у нас в шрифтах существует единое кодовое пространство. И теперь их производителям остается только исходя из своих сил и возможностей заполнять его векторными формами символов текста. Сейчас в наборы даже эмодзи смайлики добавляют.

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

Кракозябры вместо русских букв — как исправить

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

Для редактирования и создания текстовых файлов лично я использую очень хороший, на мой взгляд, Html и PHP редактор Notepad++. Впрочем, он может подсвечивать синтаксис еще доброй сотни языков программирования и разметки, а также имеет возможность расширения с помощью плагинов. Читайте подробный обзор этой замечательной программы по приведенной ссылке.

В верхнем меню Notepad++ есть пункт «Кодировки», где у вас будет возможность преобразовать уже имеющийся вариант в тот, который используется на вашем сайте по умолчанию:

В случае сайта на Joomla 1.5 и выше, а также в случае блога на WordPress следует во избежании появления кракозябров выбирать вариант

UTF 8 без BOM. А что такое приставка BOM?

Дело в том, что когда разрабатывали кодировку ЮТФ-16, зачем-то решили прикрутить к ней такую вещь, как возможность записывать код символа, как в прямой последовательности (например, 0A15), так и в обратной (150A). А для того, чтобы программы понимали, в какой именно последовательности читать коды, и был придуман BOM (Byte Order Mark или, другими словами, сигнатура), которая выражалась в добавлении трех дополнительных байтов в самое начало документов.

В кодировке UTF-8 никаких BOM предусмотрено в консорциуме Юникод не было и поэтому добавление сигнатуры (этих самых пресловутых дополнительных трех байтов в начало документа) некоторым программам просто-напросто мешает читать код. Поэтому мы всегда при сохранении файлов в ЮТФ должны выбирать вариант без BOM (без сигнатуры). Таким образом, вы заранее

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

Что примечательно, некоторые программы в Windows не умеют этого делать (не умеют сохранять текст в ЮТФ-8 без BOM), например, все тот же пресловутый Блокнот Windows. Он сохраняет документ в UTF-8, но все равно добавляет в его начало сигнатуру (три дополнительных байта). Причем эти байты будут всегда одни и те же — читать код в прямой последовательности. Но на серверах из-за этой мелочи может возникнуть проблема — вылезут кракозябры.

Поэтому ни в коем случае не пользуйтесь обычным блокнотом Windows для редактирования документов вашего сайта, если не хотите появления кракозябров. Лучшим и наиболее простым вариантом я считаю уже упомянутый редактор Notepad++, который практически не имеет недостатков и состоит из одних лишь достоинств.

В Notepad ++ при выборе кодировки у вас будет возможность преобразовать текст в кодировку UCS-2, которая по своей сути очень близка к стандарту Юникод. Также в Нотепаде можно будет закодировать текст в ANSI, т.е. применительно к русскому языку это будет уже описанная нами чуть выше Windows 1251. Откуда берется эта информация?

Она прописана в реестре вашей операционной системы Windows — какую кодировку выбирать в случае ANSI, какую выбирать в случае OEM (для русского языка это будет CP866). Если вы установите на своем компьютере другой язык по умолчанию, то и эти кодировки будут заменены на аналогичные из разряда ANSI или OEM для того самого языка.

После того, как вы в Notepad++ сохраните документ в нужной вам кодировке или же откроете документ с сайта для редактирования, то в правом нижнем углу редактора сможете увидеть ее название:

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

Вообще, во всех языках гипертекстовой разметки кроме Html используется специальное объявление xml, в котором указывается кодировка текста.

<?xml version="1.0" encoding="windows-1251"?>

Прежде, чем начать разбирать код, браузер узнает, какая версия используется и как именно нужно интерпретировать коды символов этого языка. Но что примечательно, в случае, если вы сохраняете документ в принятом по умолчанию юникоде, то это объявление xml можно будет опустить (кодировка будет считаться UTF-8, если нет BOM или ЮТФ-16, если BOM есть).

В случае же документа языка Html для указания кодировки используется элемент Meta, который прописывается между открывающим и закрывающим тегом Head:

<head>
...
<meta charset="utf-8">
...
</head>

Эта запись довольно сильно отличается от принятой в стандарте в Html 4.01, но полностью соответствует новому внедряемому потихоньку стандарту Html 5, и она будет стопроцентно правильно понята любыми используемыми на текущий момент браузерами.

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

ASCII – путеводитель для новичков

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

ASCII представляет собой кодировочную таблицу печатных символов (см. скриншот №1), набираемых на компьютерной клавиатуре, для передачи информации и некоторых кодов. Иными словами происходит кодирование алфавита и десятичных цифр в соответствующие символы, представляющие и несущие в себе необходимую информацию.

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

Для решения подобных вопросов были разработаны другие версии таблицы ASCII. Например, для языков с иноязычной структурой были или убраны буквы английского алфавита, или к ним добавлялись дополнительные символы в виде национального алфавита. Так, в кодировке ASCII могут присутствовать русские буквы для национального использования (см. скриншот №2).

Данная кодировочная система необходима не только для набора текстовой информации на клавиатуре. Она также используется в графике. Например, в программе ASCII Art Maker графические изображения различных расширений состоят из спектра символов кодировки ASCII (см. скриншот №3).

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

Данный метод кодировки также может быть востребован во время написания или создания документа HTML. Например, вы вводите определённый и необходимый вам набор знаков, а при просмотре самой страницы на экран будет выведен символ, соответствующий данному коду.

Кроме всего прочего данный вид кодировки необходим при создании многоязычного сайта, потому что знаки, которые не входят в ту или иную национальную таблицу, нужно будет заменить ASCII кодами. Если читатель непосредственно связан с информационно-коммуникативными технологиями (ИКТ), то ему будет полезно ознакомиться и с такими системами как:

  1. Переносимый набор символов;
  2. Управляющие символы;
  3. EBCDIC;
  4. VISCII;
  5. YUSCII;
  6. Юникод;
  7. ASCII art;
  8. КОИ-8.

Как и любая систематизированная программа, ASCII обладает своими характерными свойствами. Так, например, десятеричная система исчисления (цифры от 0 до 9) преобразуется в двоичную систему исчисления (т.е. каждая десятеричная цифра преобразуется в двоичную 288=1001000 соответственно).

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

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

Применение ASCII в программах Microsoft Office:

В случае необходимости данный вариант кодирования информации может быть использован в Microsoft Notepad и Microsoft Office Word. В рамках этих приложений документ может быть сохранен в формате ASCII, но в этом случае при наборе текста невозможно будет использование некоторых функций.

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

  • Microsoft Excel;
  • Microsoft FrontPage;
  • Microsoft InfoPath;
  • Microsoft OneNote;
  • Microsoft Outlook;
  • Microsoft PowerPoint;
  • Microsoft Project.

При этом стоит учитывать, что набирая код ASCII в этих приложениях необходимо удерживать нажатой клавиатурную клавишу ALT.

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

До новых встреч!

Кодировка ASCII



ASCII обозначает «Американский Стандартный Кодекс для информационного Обмена» (American Standard Code for Information Interchange). Он был разработан в начале 60-х годов 20-го века как стандартная кодировка для компьютеров и аппаратных устройств.

ASCII — это 7-битная кодировка, содержащая 128 символов.

Она состоит из цифр от 1 до 9, прописных и строчных латинских символов и некоторых специальных символов.

Кодировки, используемые в современных компьютерах, HTML и в интернете, основаны на кодексе ASCII.

В таблице ниже представлены все 128 символов ASCII и их аналоги в HTML.


Печатаемые символы ASCII

Символ ASCIIHTML кодировка Описание
 &#32;пробел
!&#33;восклицательный знак
«&#34;компьютерные кавычка
#&#35;номер
$&#36;знак доллара
%&#37;процент
&&#38;амперсанд
&#39;апостроф
(&#40;левая круглая скобка
)&#41;правая круглая скобка
*&#42;звездочка (астериск)
+&#43;плюс
,&#44;запятая
&#45;дефис
.&#46;точка
/&#47;слэш
0&#48;цифра 0
1&#49;цифра 1
2&#50;цифра 2
3&#51;цифра 3
4&#52;цифра 4
5&#53;цифра 5
6&#54;цифра 6
7&#55;цифра 7
8&#56;цифра 8
9&#57;цифра 9
:&#58;двоеточие
;&#59;точка с запятой
<&#60;знак «меньше чем»
=&#61;равно
>&#62;знак «больше чем»
?&#63;вопросительный знак
@&#64;«собачка»
A&#65;прописная A
B&#66;прописная B
C&#67;прописная C
D&#68;прописная D
E&#69;прописная E
F&#70;прописная F
G&#71;прописная G
H&#72;прописная H
I&#73;прописная I
J&#74;прописная J
K&#75;прописная K
L&#76;прописная L
M
&#77;прописная M
N&#78;прописная N
O&#79;прописная O
P&#80;прописная P
Q&#81;прописная Q
R&#82;прописная R
S&#83;прописная S
T&#84;прописная T
U&#85;прописная U
V&#86;прописная V
W&#87;прописная W
X&#88;прописная X
Y&#89;прописная Y
Z&#90;прописная Z
[&#91;левая квадратная скобка
\&#92;обратный слэш
]&#93;правая квадратная скобка
^&#94;знак вставки
_&#95;подчеркивание
`&#96;градус
a&#97;строчная a
b&#98;строчная b
c&#99;строчная c
d&#100;строчная d
e&#101;строчная e
f&#102;строчная f
g&#103;строчная g
h&#104;строчная h
i&#105;строчная i
j&#106;строчная j
k&#107;строчная k
l&#108;строчная l
m&#109;строчная m
n&#110;строчная n
o&#111;строчная o
p&#112;строчная p
q&#113;строчная q
r&#114;строчная r
s&#115;строчная s
t&#116;строчная t
u&#117;строчная u
v&#118;строчная v
w&#119;строчная w
x&#120;строчная x
y&#121;строчная y
z&#122;строчная z
{&#123;левая фигурная скобка
|&#124;вертикальная черта
}&#125;правая фигурная скобка
~&#126;тильда

URL коды символов ACSII

URL коды символов UTF-8 диапазон от U+0400 до U+04FF

HTML Кодирование URL

Таблица кодов символов кирилицы UTF-8

Таблица кодов символов Windows-1251




Кодовая таблица ascii русские буквы.

Кодировка ASCII (American standard code for information interchange)

Множество символов, с помощью которых записывается текст, называется алфавитом .

Число символов в алфавите – это его мощность .

Формула определения количества информации: N = 2 b ,

где N – мощность алфавита (количество символов),

b – количество бит (информационный вес символа).

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

Т.к. 256 = 2 8 , то вес 1 символа – 8 бит.

Единице измерения 8 бит присвоили название 1 байт:

1 байт = 8 бит.

Двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти.

Каким же образом текстовая информация представлена в памяти компьютера?

Удобство побайтового кодирования символов очевидно, поскольку байт — наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов – это вполне достаточное количество для представления самой разнообразной символьной информации.

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

Понятно, что это дело условное, можно придумать множество способов кодировки.

Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код просто порядковый номер символа в двоичной системе счисления.

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

Для разных типов ЭВМ используются различные таблицы кодировки.

Международным стандартом для ПК стала таблица ASCII (читается аски) (Американский стандартный код для информационного обмена).

Таблица кодов ASCII делится на две части.

Международным стандартом является лишь первая половина таблицы, т. е. символы с номерами от 0 (00000000), до 127 (01111111).

Структура таблицы кодировки ASCII

Порядковый номер

Код

Символ

0 — 31

00000000 — 00011111

Символы с номерами от 0 до 31 принято называть управляющими.
Их функция – управление процессом вывода текста на экран или печать, подача звукового сигнала, разметка текста и т.п.

32 — 127

00100000 — 01111111

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

128 — 255

10000000 — 11111111

Альтернативная часть таблицы (русская).
Вторая половина кодовой таблицы ASCII, называемая кодовой страницей (128 кодов, начиная с 10000000 и кончая 11111111), может иметь различные варианты, каждый вариант имеет свой номер.
Кодовая страница в первую очередь используется для размещения национальных алфавитов, отличных от латинского. В русских национальных кодировках в этой части таблицы размещаются символы русского алфавита.

Первая половина таблицы кодов ASCII


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

Для букв русского алфавита также соблюдается принцип последовательного кодирования.

Вторая половина таблицы кодов ASCII


К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows. MS-DOS, Macintosh и ISO). Из-за этого часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую.

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 («Код обмена информацией, 8-битный»). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.

От начала 90-х годов, времени господства операционной системы MS DOS, остается кодировка CP866 («CP» означает «Code Page», «кодовая страница»).

Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac.

Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.

Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251.

С конца 90-х годов проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode . Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.

Попробуем с помощью таблицы ASCII представить, как будут выглядеть слова в памяти компьютера.

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

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

Dec Hex Символ Dec Hex Символ
00000спец. NOP12880Ђ
00101спец. SOH12981Ѓ
00202спец. STX13082
00303спец. ETX13183ѓ
00404спец. EOT13284
00505спец. ENQ13385
00606спец. ACK13486
00707спец. BEL13587
00808спец. BS13688
00909спец. TAB13789
0100Aспец. LF1388AЉ
0110Bспец. VT1398B‹ ‹
0120Cспец. FF1408CЊ
0130Dспец. CR1418DЌ
0140Eспец. SO1428EЋ
0150Fспец. SI1438FЏ
01610спец. DLE14490ђ
01711спец. DC114591
01812спец. DC214692
01913спец. DC314793
02014спец. DC414894
02115спец. NAK14995
02216спец. SYN15096
02317спец. ETB15197
02418спец. CAN15298
02519спец. EM15399
0261Aспец. SUB1549Aљ
0271Bспец. ESC1559B
0281Cспец. FS1569Cњ
0291Dспец. GS1579Dќ
0301Eспец. RS1589Eћ
0311Fспец. US1599Fџ
03220сцеп. SP (Пробел)160A0
03321!161A1Ў
03422»162A2ў
03523#163A3Ћ
03624$164A4¤
03725%165A5Ґ
03826&166A6¦
03927»167A7§
04028(168A8Ё
04129)169A9©
0422A*170AAЄ
0432B+171AB«
0442C,172AC¬
0452D173AD­
0462E.174AE®
0472F/175AFЇ
048300176B0°
049311177B1±
050322178B2І
051333179B3і
052344180B4ґ
053355181B5µ
054366182B6
055377183B7·
056388184B8ё
057399185B9
0583A:186BAє
0593B;187BB»
0603C188BCј
0613D=189BDЅ
0623E>190BEѕ
0633F?191BFї
06440@192C0А
06541A193C1Б
06642B194C2В
06743C195C3Г
06844D196C4Д
06945E197C5Е
07046F198C6Ж
07147G199C7З
07248H200C8И
07349I201C9Й
0744AJ202CAК
0754BK203CBЛ
0764CL204CCМ
0774DM205CDН
0784EN206CEО
0794FO207CFП
08050P208D0Р
08151Q209D1С
08252R210D2Т
08353S211D3У
08454T212D4Ф
08555U213D5Х
08656V214D6Ц
08757W215D7Ч
08858X216D8Ш
08959Y217D9Щ
0905AZ218DAЪ
0915B[219DBЫ
0925C\220DCЬ
0935D]221DDЭ
0945E^222DEЮ
0955F_223DFЯ
09660`224E0а
09761a225E1б
09862b226E2в
09963c227E3г
10064d228E4д
10165e229E5е
10266f230E6ж
10367g231E7з
10468h232E8и
10569i233E9й
1066Aj234EAк
1076Bk235EBл
1086Cl236ECм
1096Dm237EDн
1106En238EEо
1116Fo239EFп
11270p240F0р
11371q241F1с
11472r242F2т
11573s243F3у
11674t244F4ф
11775u245F5х
11876v246F6ц
11977w247F7ч
12078x248F8ш
12179y249F9щ
1227Az250FAъ
1237B{251FBы
1247C|252FCь
1257D}253FDэ
1267E~254FEю
1277FСпец. DEL255FFя

ASCII таблица кодов символов Windows.


Описание специальных (управляющих) символов Следует отметить, что первоначально управляющие символы таблицы ASCII использовались для обеспечения обмена данными по телетайпу, ввода данных с перфоленты и для простейшего управления внешними устройствами.
В настоящее время большинство из управляющих символов ASCII таблицы уже не несут эту нагрузку и могут использоваться для иных целей.
Код Описание
NUL, 00Null, пустой
SOH, 01Start Of Heading, начало заголовка
STX, 02Start of TeXt, начало текста.
ETX, 03 End of TeXt, конец текста
EOT, 04End of Transmission, конец передачи
ENQ, 05Enquire. Прошу подтверждения
ACK, 06Acknowledgement. Подтверждаю
BEL, 07Bell, звонок
BS, 08Backspace, возврат на один символ назад
TAB, 09Tab, горизонтальная табуляция
LF, 0ALine Feed, перевод строки.
Сейчас в большинстве языков программирования обозначается как \n
VT, 0BVertical Tab, вертикальная табуляция.
FF, 0CForm Feed, прогон страницы, новая страница
CR, 0DCarriage Return, возврат каретки.
Сейчас в большинстве языков программирования обозначается как \r
SO, 0E Shift Out, изменить цвет красящей ленты в печатающем устройстве
SI, 0F Shift In, вернуть цвет красящей ленты в печатающем устройстве обратно
DLE, 10 Data Link Escape, переключение канала на передачу данных
DC1, 11
DC2, 12
DC3, 13
DC4, 14
Device Control, символы управления устройствами
NAK, 15Negative Acknowledgment, не подтверждаю.
SYN, 16Synchronization. Символ синхронизации
ETB, 17End of Text Block, конец текстового блока
CAN, 18Cancel, отмена переданного ранее
EM, 19End of Medium, конец носителя данных
SUB, 1ASubstitute, подставить. Ставится на месте символа, значение которого было потеряно или испорчено при передаче
ESC, 1BEscape Управляющая последовательность
FS, 1CFile Separator, разделитель файлов
GS, 1DGroup Separator, разделитель групп
RS, 1ERecord Separator, разделитель записей
US, 1FUnit Separator, разделитель юнитов
DEL, 7FDelete, стереть последний символ.
19.12.13 23.8K

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

Что это такое?

ASCII представляет собой кодировочную таблицу печатных символов (см. скриншот №1), набираемых на компьютерной клавиатуре, для передачи информации и некоторых кодов. Иными словами происходит кодирование алфавита и десятичных цифр в соответствующие символы, представляющие и несущие в себе необходимую информацию.


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

Для решения подобных вопросов были разработаны другие версии таблицы ASCII . Например, для языков с иноязычной структурой были или убраны буквы английского алфавита, или к ним добавлялись дополнительные символы в виде национального алфавита. Так, в кодировке ASCII могут присутствовать русские буквы для национального использования (см. скриншот №2).

Где применяется система кодировки ASCII?

Данная кодировочная система необходима не только для набора текстовой информации на клавиатуре. Она также используется в графике. Например, в программе ASCII Art Maker графические изображения различных расширений состоят из спектра символов кодировки ASCII (см. скриншот №3).


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

Данный метод кодировки также может быть востребован во время написания или создания документа HTML. Например, вы вводите определённый и необходимый вам набор знаков, а при просмотре самой страницы на экран будет выведен символ, соответствующий данному коду.

Кроме всего прочего данный вид кодировки необходим при создании многоязычного сайта, потому что знаки, которые не входят в ту или иную национальную таблицу, нужно будет заменить ASCII кодами. Если читатель непосредственно связан с информационно-коммуникативными технологиями (ИКТ), то ему будет полезно ознакомиться и с такими системами как:

  1. Переносимый набор символов;
  2. Управляющие символы;
  3. EBCDIC;
  4. VISCII;
  5. YUSCII;
  6. Юникод;
  7. ASCII art;
  8. КОИ-8.

Свойства таблицы ASCII

Как и любая систематизированная программа, ASCII обладает своими характерными свойствами. Так, например, десятеричная система исчисления (цифры от 0 до 9) преобразуется в двоичную систему исчисления (т.е. каждая десятеричная цифра преобразуется в двоичную 288=1001000 соответственно).

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

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

Применение ASCII в программах Microsoft Office:

В случае необходимости данный вариант кодирования информации может быть использован в Microsoft Notepad и Microsoft Office Word. В рамках этих приложений документ может быть сохранен в формате ASCII , но в этом случае при наборе текста невозможно будет использование некоторых функций.

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

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

Отображение и хранение информации в ЭВМ

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

Как все начиналось

Исторически сложилось так, что первые ЭВМ были англоязычными. Для кодирования символьной информации в них было достаточно использовать всего лишь 7 бит памяти, тогда как для этой цели выделялся 1 байт, состоящий из 8 битов. Количество знаков, понимаемых компьютером в таком случае, было равно 128. В число таких символов входили английский алфавит с его знаками препинания, числа и некоторые специальные символы. Англоязычная семибитная кодировка с соответствующей таблицей (кодовой страницей), разработанная в 1963 году, была названа American Standard Code for Information Interchange. Обычно для ее обозначения использовалась и используется и по сей день аббревиатура «Кодировка ASCII».

Переход к мультиязычности

Со временем компьютеры стали широко использоваться и в неанглоговорящих странах. В связи с этим появилась нужда в кодировках, позволяющих использовать национальные языки. Было решено не изобретать велосипед, и взять за основу ASCII. Таблица кодировки в новой редакции значительно расширилась. Использование 8-го бита позволило переводить на компьютерный язык уже 256 символов.

Описание

Кодировка ASCII имеет таблицу, которая делится на 2 части. Общепринятым международным стандартом принято считать лишь ее первую половину. В нее входят:

  • Символы с порядковыми номерами от 0 до 31, кодируемые последовательностями от 00000000 до 00011111. Они отведены для управляющих символов, которые руководят процессом вывода текста на экран или принтер, подачей звукового сигнала и т. п.
  • Символы с NN в таблице от 32 до 127, кодируемые последовательностями от 00100000 до 01111111 составляют стандартную часть таблицы. В их число входят пробел (N 32), буквы латинского алфавита (строчные и прописные), десятизначные цифры от 0 до 9, знаки препинания, скобки разного начертания и другие символы.
  • Символы с порядковыми номерами от 128 до 255, кодируемые последовательностями от 10000000 до 11111111. В их число включены буквы национальных алфавитов, отличные от латинского. Именно эта альтернативная часть таблицы кодировка ASCII используется для преобразования в компьютерную форму русских символов.

Некоторые свойства

К особенностям кодировки ASCII относится отличие букв «A» — «Z» нижнего и верхнего регистров только одним битом. Это обстоятельство значительно упрощает преобразование регистра, а также его проверку на принадлежность к заданному диапазону значений. Кроме того, все буквы в системае кодировки ASCII представляются собственными порядковыми номерами в алфавите, которые записаны 5 цифрами в двоичной системе счисления, перед которыми для букв нижнего регистра стоит 011 2 , а верхнего — 010 2 .

К числу особенностей кодировки ASCII можно причислить и представление 10 цифр — «0»-«9». Во второй системе счисления они начинаются с 00112, а заканчиваются 2-ми значениями чисел. Так, 0101 2 эквивалентно десятичному числу пять, поэтому символ «5» записывается как 0011 01012. Опираясь на сказанное, можно легко преобразовать двоично-десятичные числа в строку в кодировке ASCII посредством добавления слева битовой последовательности 00112 к каждому полубайту.

«Юникод»

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

Так, возникла необходимость создания универсальной кодировки текста, разработкой которой при сотрудничестве со многими лидерами мировой IT-индустрии занялся консорциум «Юникод». Его специалистами была создана система UTF 32. В ней для кодирования 1 символа выделялось 32 бита, составляющих 4 байта информации. Главным недостатком было резкое увеличение объема необходимой памяти в целых 4 раза, что влекло за собой множество проблем.

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

В результате дальнейшей работы специалистов из консорциума «Юникод» появилась кодировка UTF-16. Она стала тем вариантом преобразования символьной информации, которая устроила всех как по объему требуемой памяти, так и по числу кодируемых символов. Именно поэтому UTF-16 была принята по умолчанию и в ней для одного знака требуется зарезервировать 2 байта.

Даже эта достаточно продвинутая и удачная версия «Юникода» имела некоторые недостатки, и после перехода от расширенной версии ASCII к UTF-16 увеличивала вес документа в два раза.

В связи с этим было решено использовать кодировку переменной длины UTF-8. В таком случае каждый символ исходного текста кодируется последовательностью длиной от 1 до 6 байт.

Связь с American standard code for information interchange

Все знаки латинского алфавита в UTF-8 переменной длины кодируются в 1 байт, как в системе кодировки ASCII.

Особенностью ЮТФ-8 является то, что в случае текста на латинице без использования других символов, даже программы, не понимающие «Юникод», все равно позволят его прочитать. Иными словами, базовая часть кодировки текста ASCII просто переходит в состав новой UTF переменной длины. Кириллические знаки в ЮТФ-8 занимают 2 байта, а, например, грузинские — 3 байта. Созданием UTF-16 и 8 была решена основная проблема создания единого кодового пространства в шрифтах. С тех пор производителям шрифтов остается только заполнять таблицу векторными формами символов текста исходя из своих потребностей.

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

Теперь вы знаете, сколько символов в кодировке ASCII и, как и почему она была разработана. Конечно, сегодня наибольшее распространение в мире получил стандарт «Юникод». Однако нельзя забывать, что он создан на базе ASCII, поэтому следует по достоинству оценивать вклад его разработчиков в сферу IT.

Excel для Office 365 Word для Office 365 Outlook для Office 365 PowerPoint для Office 365 Publisher для Office 365 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 OneNote 2016 Publisher 2019 Visio профессиональный 2019 Visio стандартный 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 OneNote 2013 Publisher 2016 Visio 2013 Visio профессиональный 2016 Visio стандартный 2016 Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Publisher 2013 Excel 2010 Word 2010 Outlook 2010 PowerPoint 2010 OneNote 2010 Publisher 2010 Visio 2010 Excel 2007 Word 2007 Outlook 2007 PowerPoint 2007 Publisher 2007 Access 2007 Visio 2007 OneNote 2007 Office 2010 Visio Стандартный 2007 Visio стандартный 2010 Меньше

В этой статье

Вставка символа ASCII или Юникода в документ

Если вам нужно ввести только несколько специальных знаков или символов, можно использовать или сочетания клавиш. Список символов ASCII см. в следующих таблицах или статье Вставка букв национальных алфавитов с помощью сочетаний клавиш .

Примечания:

Вставка символов ASCII

Чтобы вставить символ ASCII, нажмите и удерживайте клавишу ALT, вводя код символа. Например, чтобы вставить символ градуса (º), нажмите и удерживайте клавишу ALT, затем введите 0176 на цифровой клавиатуре.

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

Вставка символов Юникода

Чтобы вставить символ Юникода, введите код символа, затем последовательно нажмите клавиши ALT и X. Например, чтобы вставить символ доллара ($), введите 0024 и последовательно нажмите клавиши ALT и X. Все коды символов Юникода см. в .

Важно: Некоторые программы Microsoft Office, например PowerPoint и InfoPath, не поддерживают преобразование кодов Юникода в символы. Если вам необходимо вставить символ Юникода в одной из таких программ, используйте .

Примечания:

    Если после нажатия клавиш ALT+X отображается неправильный символ Юникода, выберите правильный код, а затем снова нажмите ALT+X.

    Кроме того, перед кодом следует ввести «U+». Например, если ввести «1U+B5» и нажать клавиши ALT+X, отобразится текст «1µ», а если ввести «1B5» и нажать клавиши ALT+X, отобразится символ «Ƶ».

Использование таблицы символов

Таблица символов — это программа, встроенная в Microsoft Windows, которая позволяет просматривать символы, доступные для выбранного шрифта.

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

    В Windows 10 Введите слово «символ» в поле поиска на панели задач и выберите таблицу символов в результатах поиска.

    В Windows 8 Введите слово «символ» на начальном экране и выберите таблицу символов в результатах поиска.

    В Windows 7 нажмите кнопку Пуск , последовательно выберите Все программы , Стандартные , Служебные и щелкните Таблица символов .

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

Коды часто используемых символов

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

Глиф

Глиф

Денежные единицы

Юридические символы

Математические символы

Дроби

Знаки пунктуации и диалектные символы

Символы форм

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

Полный список глифов и соответствующих кодов см. в .

Глиф

Глиф

Непечатаемые управляющие знаки ASCII

Знаки, используемые для управления некоторыми периферийными устройствами, например принтерами, в таблице ASCII имеют номера 0–31. Например, знаку перевода страницы/новой страницы соответствует номер 12. Этот знак указывает принтеру перейти к началу следующей страницы.

Таблица непечатаемых управляющих знаков ASCII

Десятичное число

Знак

Десятичное число

Знак

Освобождение канала данных

Начало заголовка

Первый код управления устройством

Начало текста

Второй код управления устройством

Конец текста

Третий код управления устройством

Конец передачи

Четвертый код управления устройством

пятиконечная

Отрицательное подтверждение

Подтверждение

Синхронный режим передачи

Звуковой сигнал

Конец блока передаваемых данных

Горизонтальная табуляция

Конец носителя

Перевод строки/новая строка

Символ замены

Вертикальная табуляция

превышать

Перевод страницы/новая страница

Двенадцат

Разделитель файлов

Возврат каретки

Разделитель групп

Сдвиг без сохранения разрядов

Разделитель записей

Сдвиг с сохранением разрядов

пятнадцат

Разделитель данных

Читайте также…

§14. Кодирование текстовой информации | Кодировка ASCII и её расширения (курс фгос 34 ч.)






14.1. Кодировка ASCII и её расширения
Кодирование текстовой информации 14.2. Стандарт Unicode

14.1. Кодировка ASCII и её расширения

Основой для компьютерных стандартов кодирования символов послужил код ASCII (American Standard Code for Information Interchange) — американский стандартный код для обмена информацией, разработанный в 1960-х годах в США и применявшийся для любых, в том числе и некомпьютерных, способов передачи информации (телеграф, факсимильная связь и т. д.). Этот код 7-битовый: общее количество символов составляет 27 = 128, из них первые 32 символа — управляющие, а остальные — изображаемые, т. е. имеющие графическое изображение. К изображаемым символам в ASCII относятся буквы латинского алфавита (прописные и строчные), цифры, знаки препинания и арифметических операций, скобки и некоторые специальные символы. Кодировка ASCII приведена в табл. 3.8.

Таблица 3.8

Кодировка ASCII

Хотя для кодирования символов в ASCII достаточно 7 битов, в памяти компьютера под каждый символ отводится ровно 1 байт (8 битов), при этом код символа помещается в младшие биты, а в старший бит заносится 0.

Например, 01000001 — код прописной латинской буквы «А»; с помощью шестнадцатеричных цифр его можно записать как 41.

Стандарт ASCII рассчитан на передачу только английского текста. Со временем возникла необходимость кодирования и неанглийских букв. Во многих странах для этого стали разрабатывать расширения ASCII -кодировки, в которых применялись однобайтовые коды символов. При этом первые 128 символов кодовой таблицы совпадали с кодировкой ASCII, а остальные (со 128-го по 255-й) использовались для кодирования букв национального алфавита, символов национальной валюты и т. п. Из-за несогласованности этих разработок для многих языков было создано несколько вариантов кодовых таблиц (например, для русского языка их было создано около десятка!).

Впоследствии использование кодовых таблиц было несколько упорядочено: каждой кодовой таблице было присвоено особое название и номер. Для русского языка наиболее распространёнными стали однобайтовые кодовые таблицы CP-866, Windows-1251 (табл. 3.9) и КОИ-8 (табл. 3.10). В них первые 128 символов совпадают с ASCII-кодировкой, а русские буквы размещены во второй части таблицы. Обратите внимание на то, что коды русских букв в этих кодировках различны.

Таблица 3.9

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

Таблица 3.10

Кодировка КОИ-8

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

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

Cкачать материалы урока



Кодировка символов — от Ascii до Unicode

Мы знаем, что, в конце концов, компьютеры — это машины, которые могут хранить и вычислять только 0 и 1, потому что природа современных полупроводниковых компонентов определяет, что двоичный код является сущностью всей компьютерной памяти и вычислений.

Картинка выше может быть научно-фантастической, но в компьютере есть такая штука.

Посмотрите, что есть хорошее толкование Zhihu:

Давным-давно была группа людей, которые решили использовать 8 транзисторов, которые можно включать и выключать, чтобы объединить их в разные состояния, чтобы представить все в мире. Они видят, что 8 состояний переключателя являются хорошими, поэтому они называют это «байтом». Позже они построили несколько машин, которые могли обрабатывать эти байты.Когда машины запускались, они могли использовать байты для составления множества состояний, и состояния начали меняться. Они видят, что это хорошо, поэтому называют эту машину «компьютером».

Автор: Юй Ян
ссылка:https://www.zhihu.com/question/23374078/answer/69732605
Источник: Zhihu

1. Байты? персонаж?

Изучив принцип композиции, вы должны понимать, что компьютерное хранилище использует дополнительный код.Инженер изначально выразил базовую единицу с помощью восьмибитового двоичного кода, который является байтом (битом), а дополнительный код преобразован из исходного кода числа ( Для облегчения расчета хранится в дополнении),А диапазон значений байта — 0-255Между прочим, поток байтов в Java на самом деле представляет собой инкапсулированный массив байтов, который по сути представляет собой строку двоичных потоков.

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

Затем возникла проблема. Мы надеемся увидеть на экране не строку двоичных нулей и единиц. Мы хотим видеть английские буквы, символы, даже китайские символы и текст на всех языках.То, как операционная система преобразует двоичные байты 0 и 1, хранящиеся на жестком диске, в символы, связано с проблемой кодировки символов.

2. код ASCII

Кажется, что код Ascii нельзя обойти, когда речь идет о кодировке символов.Да, исходная кодировка была изобретена американцами, которые первыми закодировали свои английские символы.Какой самый ранний код ascii, Младшие 7 бит байта используются для представления 128 символов английского языка, а верхний 1 бит унифицирован как 0. В настоящее время люди уже могут использовать кодирование для преобразования двоичного файла, хранящегося в компьютере, в английские буквы и символы для отображения на экране компьютера, даже Даже различные пробелы новой строки и т. Д. Также могут быть представлены этой кодировкой символов,Так что все называют эту схему «Ascii» кодом ANSI., На рисунке ниже представлена ​​таблица символов сравнения кодов ASCII.

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

3.GBK и Unicode

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

Как и программисты в Европе и США вначале, правила кодирования китайских иероглифов также преобразуются из двоичных в символы (вы умны, вы думали об использовании пиньинь ~~),Во-первых, они сформулировали набор символов GB 2312 (национальный стандарт 2312), который использует два байта, то есть 16-битный двоичный код, для представления китайского символа., Также указаны некоторые римские цифры и японские символы.

Позже было обнаружено, что недостаточно GB 2312 (национальный стандарт 2312. Слишком много китайских иероглифов, поэтому отечественные программисты расширили этот набор символов.Короче говоря, стандарт GBK был наконец расширен. Стандарт GBK по-прежнему использует два байта (16-битный двоичный код) для представления китайского символа, а для английских символов и цифровых символов, определенных самим Ascii, он по-прежнему использует один байт для реализации.

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

Вы видите слово «ах», коды по обе стороны пролива разные! !Так много стран в мире в беспорядке.

Поэтому международная организация под названием ISO (Международная организация по стандартизации) решила заняться этой проблемой. Метод, который они приняли, очень прост: отменить все региональные схемы кодирования и восстановить код, включающий все культуры, все буквы и символы на Земле! Они планируют назвать его «Универсальный набор символов с несколькими октетами», или сокращенно UCS, или «юникод».

Автор: Юй Ян
ссылка:https://www.zhihu.com/question/23374078/answer/69732605
Источник: Zhihu

4. Юникод и его различные формы реализации.

Unicode установил жесткое и быстрое правило, согласно которому все символы (буквенно-цифровые, символы или китайские символы и другие языки) реализованы с использованием двух байтов (шестнадцатиразрядный двоичный код).

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

Поэтому Unicode имеет множество форм реализации, самая известная из которых —UTF-8, UTF-8 реализует форму кодировки набора символов Unicode:

  1. Для однобайтовых символов первый бит байта устанавливается в 0. Для английского текста код UTF-8 занимает только один байт, что в точности совпадает с кодом ASCII;
  2. Символы из n байтов (n> 1), первые n бит первого байта установлены на 1, бит n + 1 установлен на 0, первые два бита следующих байтов установлены на 10, эти n слов Остальные пробелы раздела заполняются кодом Unicode символа, а старшие биты заполняются 0.

Автор: uuspider
ссылка:https://www.zhihu.com/question/23374078/answer/65352538
Источник: Zhihu

Другими словами, UTF-8 — это гибко разработанная кодировка символов. Для символов, которым изначально нужен только один байт (8-битный двоичный код) для хранения представления, только один байт дается для их представления, а для других Кодирование выполняется в соответствии с собственными регламентами.

В то же время существуют также формы кодирования UTF-16 и UTF-32, которые все основаны на правилах кодирования Unicode для кодирования, но существуют различные реализации для заполнения байтов символов. Ниже указано количество байтов, необходимое для обычного кодирования.

Английский алфавит: 
 Количество байтов : 1;Код объявления: GB2312.
 Количество байтов : 1;Кодирование: GBK
 Количество байтов : 1;Код объявления: GB18030.
 Количество байтов : 1;Кодирование: ISO-8859-1.
 Количество байтов : 1;Кодировка: UTF-8
 Количество байтов : 4;Кодировка: UTF-16
 Количество байтов : 2;Кодировка: UTF-16BE
 Количество байтов : 2;Кодировка: UTF-16LE

 Китайские символы:
 Количество байтов : 2;Код объявления: GB2312.
 Количество байтов : 2;Кодирование: GBK
 Количество байтов : 2;Код объявления: GB18030.
 Количество байтов : 1;Кодирование: ISO-8859-1.
 Количество байтов : 3;Кодировка: UTF-8
 Количество байтов : 4;Кодировка: UTF-16
 Количество байтов : 2;Кодировка: UTF-16BE
 Количество байтов : 2;Кодировка: UTF-16LE

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

Сначала мы создаем новый текстовый файл со следующим содержимым.

123
abc
Оххх

Затем мы используем UE для открытия и просмотра его реального двоичного содержимого.

Это код GBK, используемый по умолчанию при создании Блокнота Windows.

можно увидеть:

  • Для чисел и английских символов используется только один байт (отображается 8-битный двоичный, 31, 32 и т. Д., В действительности двоичный шестнадцатеричный формат, соответствующий двоичный формат0011 0001、0011 0002

  • Для китайских иероглифов два байта используются для хранения, например, «ах» соответствуетB0 A1(Двоичное преобразованное шестнадцатеричное)

Мы используемКодировка UTF-8Затем откройте его снова.

можно увидеть:

  • Для чисел и английских символов все еще используется только один байт (8-битный двоичный, 31, 32 и т. Д. Отображаются в двоичном шестнадцатеричном формате, соответствующий двоичный формат0011 0001、0011 0002

  • Для китайских иероглифов для хранения используются три байта, например «а» соответствуетE5 95 8A(Двоичное преобразованное шестнадцатеричное)

В Windows кодировка UTF-8 может быть не такой, как на картинке ниже.

Вы можете видеть, что впереди еще большеEF BB BF(Шестнадцатеричный), Это потому, что MicrosoftЧастные товарыПричина, ** добавлена ​​в заголовок файлаBOM Такие вещи ** BOM может выражать:

  1. Тот факт, что текстовый поток является Unicode, является признаком знания.
  2. Какая кодировка Unicode является кодировкой текстового потока этого текстового файла? (UTF-8, UTF-16 и т. Д.)

Стандарт Unicode позволяет использовать BOM, но в этом нет необходимости. Microsoft использует такие вещи. Если требуется кроссплатформенность, текст необходимо перекодировать в кодировку UTF-8 без BOM.

Вот немного о частных товарах на платформе Windows,Что такое кодировка Unicode в Windows,Теоретически набор символов Unicode является стандартом кодирования, и реальная реализация по-прежнему зависит от братьев, таких как UTF-8 и UTF-16, точно так же, как взаимосвязь между интерфейсом Java и классом реализации.

Например, если вы используете кодировку Unicode под Windows, вы увидите, что двоичное содержимое текстового файла сейчас:

Что это?По сути, это кодировка UTF-16LE!Причины следующие:

  1. Каждый символ строго представлен двумя байтами, будь то числа или английские символы.00 32、 00 61(Шестнадцатеричный) соответствующий1、a, Или китайские иероглифы55 94(Шестнадцатеричный) соответствующий"какие"

  2. Его спецификацияFF FE

На следующем рисунке показана соответствующая спецификация, разрешенная для различных кодов.

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

На бумаге это всегда мелко, и я абсолютно знаю, как это сделать.

Увидев здесь друзей, я надеюсь, что смогу вам чем-то помочь.


Справочные материалы:

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

Кракозябры вместо русских букв на сайте — 6 проблем и их решения

Когда я только начинал изучать тему разработки сайтов, кракозябры были одной из моих постоянных проблем. Создал HTML-страницу — в браузере кракозябры, установил денвер и попробовал создать сайт на PHP — снова вместо букв кракозябры. Скачал иностранную тему, подключился к базе данных — та же проблема.

На своих сайтах я обычно использую UTF-8 (это такая кодировка текста, она ещё называется юникод), соответственно она будет присутствовать во всех примерах в этой статье.

1. UTF-8 без BOM

Начнём с самой простой проблемы. Вы создали какой-то HTML-файл, открыли его в браузере и получили:

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

Решение проблемы зависит в основном от того, каким редактором вы пользуетесь. Для пользователей Windows я рекомендую бесплатный офигительный Notepad++.

Значит, открываем файл в Notepad++ и переходим в Кодировки > Преобразовать в UTF-8 без BOM. Вопрос — почему без BOM? Потому что с BOM у вас будут постоянно вставляться пустые символы (на самом деле они не пустые, у них тоже есть своя функция, но нам она в данном случае не нужна) куда не надо, а для PHP это уже критично.

2. Мета тег charset

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

Всё, что нам требуется, это вставить следующий код между тегами сайта. Прежде всего проверьте, возможно этот метатег у вас уже присутствует. Если да, то посмотрите какое у него стоит значение параметра charset.

В темах WordPress обычно этот тег уже имеется по умолчанию и выглядит следующим образом:

3. .htaccess

Если русские буквы до сих пор отображаются кракозябрами, тогда открываем ваш .htaccess , который лежит в корне сайта и вставляем туда с новой строки это:

4. Заголовки сервера через header()

Ещё один способ определения кодировки. На этот раз через PHP. На WordPress никогда не приходилось им пользоваться.

Важно! Этот код должен вставляться до того, как будет что-либо выведено на странице сайта, иначе — ошибка.

5. Проблемы с последним символом при обрезке строки

На многих сайтах встречаются блоки с популярными записями, последними комментариями, отзывами и так далее. Обычно в таких обзорных блоках выводится часть записи/комментария/отзыва и кнопка «читать далее». Так вот, для того, чтобы вывести первые несколько предложений или первые несколько слов текста, используется функция PHP substr() . Конечно же в основном я имею ввиду англоязычные темы, которых так много в интернете. Даже если у этих тем есть локализация — то есть вроде бы она на русском — переведена админка, переведён практически весь сайт, но при этом мы встречаем такие вот косяки:

Как решить эту проблему?

Легко — всё что нам нужно, это найти функцию substr() в коде и поменять её на mb_substr() .

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

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

Такое может произойти, если кодировка вашего сайта не совпадает с кодировкой базы данных, к которой вы подключаетесь. В WordPress обычно таких проблем не бывает.

Для того, чтобы исправить это, после подключения к БД, делаем следующее:

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

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

Основа основ – кодировка ASCII и ее современные интерпретации.

Мощный старт

На сегодняшний день кодировка ASCII представляет собой стандартом представления первых 128-значений (включая цифры и знаки препинания) английского алфавита, представленных в определенном порядке.

Однако, даже 1 байт позволяет закодировать в 2 раза больше значений, то есть не 128, а целых 256 разных значений. Поэтому достаточно быстро на смену базовой ASCII стали появляться более расширенные варианты этой знаменитой и популярной по сей день кодировки, в которых кодировались также символы алфавитов и, соответственно, текста различных языков, в том числе и русского.

Расширения ASCII для России

На сегодняшний день для российских пользователей приоритетными являютсякодировка Windows1251 и кодировка юникод, а также UTF 8, которые произошли от ASCII.

Собственно говоря, у кого-то может возникнуть весьма справедливый вопрос: «А зачем вообще нужны эти кодировки текстов?»
Стоит помнить, что компьютер – это всего-навсего машина, которая должна действовать четко по инструкциям. Чтобы было понятно, что нужно делать с каждым символом написанного, его представляют в виде набора векторных форм, каждый набор которых отправляет в нужное место, чтобы на экране появлялось то или иное обозначение.

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

Кодировка CP866 и KOI8-R широко применялись до появления графической операционной системы, завоевавшей популярность во всем мире, – Windows. Теперь самой популярной кодировкой, поддерживающей русский, стала Windows1251.

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

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

Универсальные кодировки

Первой версией универсальной кодировки, разработанной в рамках консорциума Юникод, была кодировка UTF 32. Для кодирования каждого символа использовалось 32 бита. Теперь была реализована возможность кодирования огромного количества знаков, но появилась другая проблема –большинству европейских стран такое число лишних символов было совершенно не нужно. Ведь документы получались очень тяжелыми. Поэтому на смену UTF 32 пришла UTF 16, ставшая базовой для всех символов, используемых в нашей стране и не только.

Но все равно оставалось достаточно много недовольных. Например, те, кто общался только на английском языке, так как при переходе с ASCII на UTF 16 их документы все равно увеличивались в размерах, причем существенно, практически в 2 раза.
В результате появилась кодировка переменной длинны UTF 8, что позволило не увеличивать вес текста.

Кракозябры и методы борьбы с ними

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

Если что-то было напечатано в UTF-8, то никакого маркера в начале нет, так как сама возможность записи кода символа в обратном порядке в этой кодировке отсутствует.

Поэтому, следует сохранять все, что набрано в редакторе, без маркеров (BOM), чтобы снизить вероятность появления кракозябров в документе.

Помимо правильного сохранения рекомендуется отказаться от использования стандартного редактора Windows«Блокнот», а выбрать более совершенную среду для редактирования документов сайта.

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

Как исправить отображение кириллицы или кракозябры в Windows 10

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

В этой инструкции — о том, как исправить «кракозябры» (или иероглифы), а точнее — отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: Как установить и включить русский язык интерфейса в Windows 10 (для систем на английском и других языках).

Исправление отображения кириллицы с помощью настроек языка и региональных стандартов Windows 10

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

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

  1. Откройте панель управления (для этого можно начать набирать «Панель управления» или «Control Panel» в поиске на панели задач.
  2. Убедитесь, что в поле «Просмотр» (View by) установлено «Значки» (Icons) и выберите пункт «Региональные стандарты» (Region).
  3. На вкладке «Дополнительно» (Administrative) в разделе «Язык программ, не поддерживающих Юникод» (Language for non-Unicode programs) нажмите по кнопке «Изменить язык системы» (Change system locale).
  4. Выберите русский язык, нажмите «Ок» и подтвердите перезагрузку компьютера.

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

Как исправить иероглифы Windows 10 путем изменения кодовых страниц

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

С помощью редактора реестра

Первый способ — использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую создать точку восстановления прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.

  1. Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter, откроется редактор реестра.
  2. Перейдите к разделу реестра HKEY_LOCAL_MACHINE SYSTEM CurrentControlSetControl Nls CodePage и в правой части пролистайте значения этого раздела до конца.
  3. Дважды нажмите по параметру ACP, установите значение 1251 (кодовая страница для кириллицы), нажмите Ок и закройте редактор реестра.
  4. Перезагрузите компьютер (именно перезагрузка, а не завершение работы и включение, в Windows 10 это может иметь значение).

Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) — посмотреть на текущее значение параметра ACP (обычно — 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls.

Путем подмена файла кодовой страницы на c_1251.nls

Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C: Windows System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).

  1. Зайдите в папку C: Windows System32 и найдите файл c_1252.NLS, нажмите по нему правой кнопкой мыши, выберите пункт «Свойства» и откройте вкладку «Безопасность». На ней нажмите кнопку «Дополнительно».
  2. В поле «Владелец» нажмите «Изменить».
  3. В поле «Введите имена выбираемых объектов» укажите ваше имя пользователя (с правами администратора). Если в Windows 10 используется учетная запись Майкрософт, вместо имени пользователя укажите адрес электронной почты. Нажмите «Ок» в окне, где указывали пользователя и в следующем (Дополнительные параметры безопасности) окне.
  4. Вы снова окажетесь на вкладке «Безопасность» в свойствах файла. Нажмите кнопку «Изменить».
  5. Выберите пункт «Администраторы» (Administrators) и включите полный доступ для них. Нажмите «Ок» и подтвердите изменение разрешений. Нажмите «Ок» в окне свойств файла.
  6. Переименуйте файл c_1252.NLS (например, измените расширение на .bak, чтобы не потерять этот файл).
  7. Удерживая клавишу Ctrl, перетащите находящийся там же в C: Windows System32 файл c_1251.NLS (кодовая страница для кириллицы) в другое место этого же окна проводника, чтобы создать копию файла.
  8. Переименуйте копию файла c_1251.NLS в c_1252.NLS.
  9. Перезагрузите компьютер.

После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.

Исправить кракозябры в кириллическом тексте

Н е секрет, что во многих организациях до сих пор продолжает эксплуатироваться программное обеспечение далёких DOS– овских времён. Одним из не очень приятных моментов использования такого рода софта является некорректное отображение символов кириллицы (русских букв) в различного вида отчетах , сгенерированных DOS – программами п ри попытке их просмотра из-под Windows.

Всё дело в так называемых кодировках символов. Во времена DOS кириллица воспроизводилась 866-й кодовой страницей , а в Windows -документах кириллица стала кодироваться 1251-й кодовой страницей. Правда , для многих неискушённых пользователей такая информация мало о чём говорит. Поэтому , далее , постараюсь рассказать о том , как можно решить проблему в том случае , если вы открыли файл – а там , вместо привычного русского текста не пойми- что ( ‘ кракозябры в тексте ‘ в просторечии).

Итак, предположим, что имеется некий текстовый файл MyText_866.txt, созданной некой DOS-овской программой с присутствующими русскими буквами в 866-й кодировке. Воспользуемся для работы с этим текстом редактором AkelPad.

Прим. Как вариант , для начала , чтобы не заморачиваться с поиском и установкой редактора , можно попробовать воспользоваться онлайн – сервисом изменения кодировки кириллических текстов. Как именно- смотрите здесь

Продолжаем . В AkelPade‘ е идём, как обычно Файл>Открыть:

и далее попадаем в форму Открыть.

Попробуем открыть этот файл с опциями открытия файла, принятыми по умолчанию (см. рис. выше) – в Windows -кодировке 1251:

Мнда . Явно получили не то, что нужно – вместо букв пресловутые кракозябры (ошибки в кодировке) . Ну ничего, щас всё поправим. Снимаем опцию Автовыбор и выбираем 866 кодовую страницу:

Как видите, текст кириллицей в редакторе отобразился совершенно корректно:

Совершенно логично может возникнуть вопрос – А как же сохранить DOS-овский русский текст так, чтобы он корректно отображался в различных Windows-редакторах ? Да очень просто. Допустим, в том же AkelPad’е можно поступить следующим образом. Идём меню Файл > Сохранить как и при сохранении исходного текста в 866-й кодировке выбираем кодировку 1251-ю:

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

А вот если файл в DOS- кодировке , то Word ‘ у придётся сообщить эту информацию, если вы, скажем, попытаетесь ‘подсунуть’ ему такой файл :

И естественно, ничего хорошего не выйдет из затеи открыть ДОСовский файл в кодировке Windows 1251 – опять увидите всё те же пресловутые кракозябры:

Стандартный Блокнот (NotePad) интеллектом по распознаванию кодировки, к слову сказать, также не обладает :

Хорошо справляется с задачей распознавания кодировок при открытии файлов широко-известный текстовый редактор Note p ad++ :

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

И напоследок, небольшой совет. Сохраняйте ваши документы , по возможности , в универсальной кодировке UTF-8. В AkelPad’е это может выглядеть так:

В этом случае , вы сможете корректно открыть свой русский текст , даже если приедете в Китай или какую-либо арабскую страну. Кодировка UTF-8 содержит в себе все символы всех широко-распространённых языков (включая русский , китайский и арабский).

Как с помощью AkelPad‘ а поменять кодировку html- страницы сайта – см. информацию в этой статье – 24.02.2018

Исправление неправильной кодировки шрифта в Windows 10: иероглифы (кракозябры) вместо русских букв

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

В данной инструкции мы рассмотрим различные способы, как исправить иероглифы (кракозябры), а точнее – отображение в Виндовс 10 кириллицы.

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

Использование региональных стандартов Виндовс 10 и настроек языка для исправления отображения кириллицы

Максимально простой и наиболее работающий способ убрать иероглифы и возвратить русские буквы в Виндовс 10 – исправить определенные неправильные настройки в системных параметрах.

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

  1. Открываем панель управления. Для этого в поиске следует начать набирать «Control Panel» или «Панель управления».
  2. Нужно убедиться, что в разделе «View by» (Просмотр), установлено «Icons» (Значки) и необходимо выбрать «Region» (Региональные стандарты).

В разделе «Administrative» (Дополнительно) в «Language for non-Unicode programs» (соответственно Язык софта, не поддерживающих Юникод), следует кликнуть по «Change system locale» (Изменение языка системы).

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

    Изменение кодовых страниц для исправления иероглифов Виндовс 10

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

    Редактор реестра

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

    1. Нажимаем клавиши «Win+R», затем следует ввести regedit и подтвердить Enter. Будет открыт реестровый редактор.
    2. Переходим к меню HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage, а в правой части нужно пролистать значения до конца данного раздела.

    Теперь кликаем дважды по параметру ACP, где устанавливаем значение 1251 (для кириллицы это кодовая страницы), нажимаем «Ок» и закрываем реестровый редактор.

  • Перезагружаем компьютер (нужна именно перезагрузка, а не простое завершение работы). Для Виндовс 10 это имеет значение.
  • Зачастую это обеспечивает исправление проблемы с неправильным отображением букв на русском языке. Вариация способа с использованием реестрового редактора (менее предпочтительная) – узнать текущее значение ACP параметра (часто – 1252 для изначально установленной англоязычной системы). Потом в данном разделе нужно отыскать значение параметра 1252 и заменить его с c_1252.nls на такое c_1251.nls.

    Изменение на c_1251.nls файла кодовой страницы

    Данный способ подойдет для тех пользователей, кто считает вариант с правкой реестра достаточно опасным или сложным. Здесь необходимо осуществить подмену файла кодовой страниц по пути C:WindowsSystem32. В данном случае предполагается, что используется кодовая страница западно-европейской версии – 1252. Узнать, какая текущая кодовая страницы, можно с помощью параметра ACP в реестре, аналогично предыдущему способу.

      Переходим по пути C:WindowsSystem32, где следует найти файл c_1252.NLS. По нему нужно кликнуть правой кнопкой мыши, чтобы выбрать меню «Свойства» и открыть вкладку «Безопасность». Там нужно нажать на «Дополнительно».

    В разделе «Владелец» кликаем на «Изменить».

    В меню «Ввода имени выбираемых объектов» следует указать имя пользователя (с административными правами). Если в Виндовс 10 применяется Майкрософт учетная запись, то вместо имени пользователя нужно ввести e-mail. Нажимаем «Ок» в окне ввода пользователя, и в следующем окне (Дополнительные параметры безопасности).

  • Теперь будет открыт раздел «Безопасность» в меню свойства файла. Кликаем по кнопке «Изменить».
  • Выбираем раздел «Administrators» (Администраторы) и включаем для них полный доступ. Щелкаем на «Ок» и подтверждаем осуществленные изменения разрешений. Кликаем по «Ок» в свойствах файла.

  • Теперь задача переименовать файл c_1252.NLS. Изменить расширение можно на .bak, чтобы файл не был потерян.
  • Путем удержания клавиши Ctrl, нужно перетащить файл c_1251.NLS (для кириллицы кодовая страница) располагающийся в C:WindowsSystem32 в иное место данного окна проводника, чтобы была создана копия файла.

  • Переименовываем сделанную копию c_1251.NLS в новую c_1252.NLS.
  • Перезагружаем компьютер.
  • После выполнения перезагрузки компьютера, в Windows 10 кириллица будет отображаться не как кракозяблы, а в виде русских букв.

    Как исправить «кракозябры» в меню программ и заголовках окон

    Несколько раз мне доводилось сталкиваться с вопросами вроде: «я установил программу Х на мой компьютер, но при запуске все ее меню и названия кнопок в каких-то непонятных символах — абракадабра!»

    Да, такое иногда встречается и среди пользователей подобные нечитаемые символ получили прозвище «кракозябры». Как правило, если эту же программу установить на другом компьютере, то все будет работать как надо и меню будет отображаться на русском языке.

    Отчего же так происходит?

    Дело в том, что в Windows есть так называемая кодовая страница, которая определяет, какие символы операционная система поддерживает. Есть несколько кодировок символов и не все разработчики программ используют кодировку Unicode (Юникод). Именно такие программы обычно и отображаются некорректно.

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

    Делается это просто — через Панель управления Windows. Заходим в Панель управления и находим раздел «Язык и региональные стандарты»:

    Переходим на вкладку «Дополнительно» и обращаемся к блоку «Язык программ, не поддерживающих Юникод»:

    В этом разделе должен быть установлен русский язык. Если это не так, нажимаем на кнопку «Изменить язык системы…», выбираем русский и после этого перегружаем компьютер.

    Прошу не путать — кнопка «Изменить язык системы. » не поменяет язык интерфейса Windows. Она лишь позволит операционной системе правильно отображать программы, использующие другую кодировку символов!

    После перезагрузки компьютера «абракадабра» вместе с «кракозябрами» исчезнут и все меню программы будут на русском языке.

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

    В ряде случаев после установки Windows 7, в некоторых программах появляются кракозябры вместо русских букв. Многие называют их иерогливы, но смысл от этого не меняется – это символы, которые с точки зрения читателя не несут никакого смысла. Переустанавливать систему из-за этого не нужно, есть простой и действенный способ.

    Кракозябры вместо русских букв

    На самом деле это не иероглифы, а всего навсего сбой в кодировке. Случиться это может при неверных настройках для программ не поддерживающих Юникод. Для решения этой проблемы потребуется 2 действия: внести изменения в реестр и выбрать в качестве языка для программ не поддерживающих Юникод – Русский.

    Для начала откройте “блокнот” и создайте в нём текстовый документ со следующим кодом:

    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USERControl PanelInternational]
    “Locale”=”00000419″
    “LocaleName”=”ru-RU”
    “s1159″=””
    “s2359″=””
    “sCountry”=”Russia”
    “sCurrency”=”р.”
    “sDate”=”.”
    “sDecimal”=”,”
    “sGrouping”=”3;0″
    “sLanguage”=”RUS”
    “sList”=”;”
    “sLongDate”=”d MMMM yyyy ‘г.’”
    “sMonDecimalSep”=”,”
    “sMonGrouping”=”3;0″
    “sMonThousandSep”=” ”
    “sNativeDigits”=”0123456789″
    “sNegativeSign”=”-”
    “sPositiveSign”=””
    “sShortDate”=”dd.MM.yyyy”
    “sThousand”=” ”
    “sTime”=”:”
    “sTimeFormat”=”H:mm:ss”
    “sShortTime”=”H:mm”
    “sYearMonth”=”MMMM yyyy”
    “iCalendarType”=”1″
    “iCountry”=”7″
    “iCurrDigits”=”2″
    “iCurrency”=”1″
    “ >“ >“NumShape”=”1″
    “iFirstDayOfWeek”=”0″
    “iFirstWeekOfYear”=”0″
    “iLZero”=”1″
    “iMeasure”=”0″
    “iNegCurr”=”5″
    “iNegNumber”=”1″
    “iPaperSize”=”9″
    “iTime”=”1″
    “iTimePrefix”=”0″
    “iTLZero”=”0″
    [HKEY_CURRENT_USERControl PanelInternationalGeo]
    “Nation”=”203″

    Затем сохраните его в файле под именем RUS in WIN7.reg и после этого выполните его (не забываем при сохранении выбрать тип файла “все файлы”, иначе вы сохраните свой документ с расширением txt и он не будет запускаться). После этого перезагружаем компьютер. Осталось только зайти в панель управления, выбрать “Часы, язык и регион”, выбрать “Смена раскладки клавиатуры и других способов ввода” и перейти на вкладку “дополнительно”. Тут ищем пункт “Язык программ не поддерживающих Юникод” и выбираем Русский. перезагружаемся.

    Теперь все программы будут отображать символы корректно и кодировка будет выбираться именно та, которая нужна нам. Никаких больше кракозябр и иероглифов.

    Решение проблем с кодировкой в Windows XP/Vista/7

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

    Скажу честно — я потратил на поиск решения проблемы почти два дня. На всех форумах и сервисах «вопросов и ответов», во всех мануалах и инструкциях, все как один повторяли тот-же рецепт решения, который возможно кому-то и помог. Но не мне. И только когда мои мозги уже начали закипать и всякая надежда на решения проблемы покинула меня, все стало на свои места.

    Результаты же поисков я решил оформить в «Универсальное руководство по решению всех проблем с кодировкой в операционных системах Windows XP и Windows Vista/7». Хотя возможно оно не так уже и универсально…

    Решение проблем с кодировкой в Windows XP

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

    Открываем «Панель управления» и дважды кликаем по иконке «Язык и региональные стандарты». Переходим во вкладку «Дополнительно» и устанавливаем русский язык в качестве «Языка программ, не поддерживающих Юникод».

    После этого найдите в списке, который размещен на этой-же вкладке пункт 20880 и поставте возле него галочку:

    Сохраните изменения и перезагрузите компьютер. Если проблема не исчезла переходим к пункту 2.

    2. Возможно, что проблемы с кодировкой вызваны нарушением системных настроек шрифтов.

    Для восстановления настроек шрифтов скачайте этот архив и запустите файл который находится в нем игнорируя все предупреждения системы:

    Перезапустите систему. Если проблема не исчезла переходим к пункту 3.

    3. Следующий этап — изменение ключей реестра которые отвечают за кодировки. Делать эти изменения желательно только в крайнем случае и только если все предыдущие пункты ни к чему не привели.

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

    После этих изменений также нужно будет перезапустить систему.

    Решение проблем с кодировкой в Windows Vista/7

    1. Как и в случае с Windows XP сначала убедитесь что для программ не поддерживающих Юникод установлен русский язык.

    Открываем «Панель управления» и дважды кликаем по иконке «Язык и региональные стандарты». Переходим во вкладку «Дополнительно» и устанавливаем русский язык в качестве «Языка программ, не поддерживающих Юникод»:

    Сохраните изменения и перезагрузите компьютер. Если проблема не исчезла переходим к пункту 2.

    2. Для восстановления настроек шрифтов скачайте этот архив и запустите файл который находится в нем игнорируя все предупреждения системы:

    Перезапустите систему. Если проблема не исчезла переходим к пункту 3.

    3. Следующий этап — изменение ключей реестра которые отвечают за кодировки. Делать эти изменения желательно только в крайнем случае и только если все предыдущие пункты ни к чему не привели.

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

    После этих изменений также нужно будет перезапустить систему.

    4. Если все вышеуказанное не помогло нужно поменять имена следующих файлов кодовых страниц в папке C:WindowsSystem32:

    Файл «c_1252.nls» на «c_1252.nls.bak»
    Файл «c_1253.nls» на «c_1253.nls.bak»
    Файл «c_1254.nls» на «c_1254.nls.bak»
    Файл «c_1255.nls» на «c_1255.nls.bak»

    Поскольку эти файлы защищены от изменения для выполнения этой операции желательно воспользоваться замечательной программой Unlocker. После ее установки нужно кликнуть правой кнопкой мыши по нужному файлу, и выбрать пункт «Unlocker». В открывшемся окне выберите в выпадающем списке «Переименовать». Измените имя файла и нажмите кнопку «OK»:

    После переименования вышеуказанных файлов скопируйте файл «c_1251.nls» в какую-то другую папку (или скопируйте в буфер обмена), а затем переименуйте его на «c_1252.nls». Вновь вставьте (скопируйте) файл «c_1251.nls» в папку C:WindowsSystem32 и переименуйте на «c_1253.nls», а затем повторите это еще два раза с переименованием в «c_1254.nls» и «c_1255.nls».

    В результате выполнения этого пункта, файлы «c_1252.nls», «c_1253.nls», «c_1254.nls», «c_1255.nls» будут заменены файлом «c_1251.nls». Не забудьте также вернуть в первоначальную папку файл «c_1251.nls»:

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

    Кракозябры в UTF-8

    Вопрос простой, но справиться не могу.
    ОС – Windows 7, 64 – bit. Язык системы английский, добавлена раскладка и поддержка русского языка.
    Язык программирования Qt.
    Программа создана в Qt Creator.
    Содержит русские комментарии.
    Кодировка исходника Utf-8.
    В какой-то момент русский текст превратился в кракозябры.
    Пример: //Âíèìàíèå ïðè çàãðóçêå ôàéëà html íóæíî âûáðàòü âñå âíóòðåííèå ññûëêè

    Вопрос: Как превратить этот коммент в нормальный и как избежать таких чудес в дальнейшей жизни?

    С уважением,
    Радмир

    04.10.2017, 17:31

    Кракозябры
    раньше стояла win xp .после установки 7 стал замечать такие чудеса с документами .

    Кракозябры в Windows 7
    Ух. Поставил на свой многострадальный Satellite L500 Windows 7 Ultimate. Английский.

    Кракозябры в Windows 7 7057
    Всем добрый день! До этого у меня был установлен Windows Vista SP1. Работал на нем целый год. Общее.

    Кракозябры везде (слетела кодировка)
    Есть пк под управлением Windows 7. Когда я в очередной раз включил его, всю ОС начиная от экрана.

    Windows Installer: непонятные кракозябры
    Давно уже эта проблема. При удалении программ в установщике Windows вместо нормального языка.

    04.10.2017, 17:412
    04.10.2017, 18:263
    04.10.2017, 19:40 [ТС]4

    Это комментарий в коде программы.
    Кодировка внутри файла utf-8. HEX C382C3ADC3A8C3ACC3A0C3ADC3A8C3A5 – Âíèìàíèå
    Чтение файла блокнотом, акелпадом, нотепадом++, wordpad-ом и чем угодно дает то, что вы видите.

    04.10.2017, 19:40
    04.10.2017, 20:125

    Скорее всего вы каким-то образом конвертировали в какую-то другую кодировку, а потом в UTF-8.

    Не факт, что получится восстановить.

    04.10.2017, 20:166

    Это не кириллица в UTF-8, а бывший западноевропеский Windows-1252, закодированный в UTF-8.
    Т.е. у вас исходный текст, похоже, был в кодировке CP1252.
    Кириллица должна выглядеть вот так:
    D0 92 D0 BD D0 B8 D0 BC D0 B0 D0 BD D0 B8 D0 B5

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

    Где

    • 1.txt – исходный файл, с крякозябрами в UTF-8.
    • 2.txt – скорректированный файл в кириллицей в UTF-8.

    Здесь читается файл с крякозябрами.
    Читается как UTF-8 и перекодируется в CP1252, западноевропейскую.
    Затем читается как кириллица CP1251 и перекодируется в UTF-8.

    Добавлено через 1 минуту
    Да, git – must have.

    05.10.2017, 18:49 [ТС]7

    Спасибо большое, Rius!

    Команда из Линукса помогла, вот текст комментария:
    Внимание при загрузке файла html нужно выбрать все внутренние ссылки

    Одна из моих машин когда-то слетела, я поставил Windows 10, а в ней виртуальную WindowsXP 32 на vmware. В этот момент на хосте стояла винда без русского (т.е. 1252 по умолчанию), и на виртуальной я работал без русского, а так как комментарий уже был (h-file был написан в 2014 году), наверное простое копирование с машины на машину и сработало.
    Хотя конечно по идее этого не должно быть.
    Может сработала установка в Qt Creator сохранения всех файлов перед отладкой.
    Еще раз спасибо, всем.

    Решение вполне нормальное,
    вопрос закрыт.

    05.10.2017, 18:578
    06.10.2017, 15:39 [ТС]9
    11.10.2017, 13:41 [ТС]10

    Для тех кто не в ладах с Линукс, вот два способа решения под Windows:
    – Идем на сайт http://www.online-decoder.com/ru
    Скопируйте текст в белое поле, наберите в строке “Я знаю нужные кодировки” Windows-1252 -> Windows1251 и нажмите кнопку Точно.
    Если у вас не Windows 1252 дайте сайту самому определить кодировку исходного текста.
    Если у вас не Windows-1251 укажите нужную вам страницу.

    – Если у вас текст более 20000 литер, и вы не брезгуете кодированием, то наберите в Qt следующий код:

    Как исправить кракозябры в Windows 10

    В Windows 10 есть много различных языковых и региональных параметров, которые пользователь может настраивать соответственно своим предпочтениям. Часто бывает так, что владельцы компьютеров сталкиваются с некорректным отображением кириллических (русский, украинский и другие языки) шрифтов. Вместо нормальных знаков и русских букв почему-то отображаются крякозябры в Windows 10, делающие работу с операционной системой фактически невозможной. При этом сам язык системы может отображаться нормально, но попытка открыть текстовый файл или запустить приложение, в котором используется кириллический текст, приведет к весьма унылому результату:

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

    Примечание: вы не сможете исправить кракозябры в Windows 10, если ваша учетная запись не имеет прав Администратора. Позаботьтесь узнать пароль от учетной записи Администратора, либо убедитесь, что ваш профиль имеет принадлежащий уровень прав доступа (является учетной записью Администратора).

    Как исправить кракозябры и иероглифы в Windows 10

    1. Нажмите Win+ R и введите control. Система откроет классическую Панель управления.
    2. На главной странице перейдите в группу Часы, язык и регион – Изменение форматов даты, времени и чисел.
    3. На открывшемся окне Регион откройте вкладку Дополнительно.
    4. Нажмите кнопку Изменить язык системы в секции окна Язык программ, не поддерживающих Юникод.
    5. В открывшемся окошке выберите из выпадающего списка необходимый вам язык, к примеру, Русский (Россия). Нажмите Ок.
    6. Windows предупредит вас, что необходимо перезагрузить компьютер, чтобы изменения вступили в силу. Согласитесь на перезагрузку сейчас и нажмите Перезагрузить сейчас.

    После запуска компьютера текст должен отображаться как положено.

    Как исправить кодировку в Windows 10 через редактор реестра

    К вашему сведению: редактирование реестра всегда связано с определенными рисками навредить операционной системе. Внимательно следите за путями изменяемых ключей, делайте резервное копирование и проверяйте все дважды. Если вы не уверены, что сможете восстановить все обратно в случае поломки, лучше воздержите себя от редактирования реестра. Для перестраховки создайте резервную точку восстановления Windows 10.

    1. Нажмите кнопки Win+ R и введите команду regedit. Она откроет встроенный в операционную систему Редактор реестра.
    2. Теперь вам надо перейти по адресу КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage. Чтобы не тратить время на поиск нужной ветки, просто скопируйте адрес и вставьте в верхнюю адресную строку редактора (она доступна только на компьютерах с Windows 10 Creators Update и выше).
    3. Опуститесь в самый низ списка и дважды кликните на ключ ACP. Измените его значения на 1251. 1251 – это кодовое обозначение кириллической страницы.
    4. Нажмите Ок и перезагрузите компьютер.

    После этого Windows 10 перестанет отображать иероглифы вместо текста.

    Как исправить иероглифы в Windows 10 подменой файла кодовой страницы

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

    Обратите внимание: в этой инструкции показана подмена кодовой страницы 1252, которая отвечает за западноевропейскую кодировку. Если в системе используется другая кодовая страница, вам понадобится узнать ее номер. На случай, если вы не сможете это сделать, воспользуйтесь методами изменения кодировки Windows 10, которые описаны выше.

    1. Откройте Проводник и перейдите по адресу C:Windowssystem32. Воспользуйтесь поиском в правой верхней части окна, чтобы найти файл c_1252.NLS.
    2. Нажмите по нему правой кнопкой мыши и выберите Свойства.
    3. В окне свойств откройте вкладку Безопасность и затем кликните Дополнительно.
    4. Откроется окно изменения параметров безопасности для выбранного файла. В его верхней части нажмите Изменить.
    5. В новом окне пропишите адрес электронной почты вашей учетной записи (у нее должны быть права Администратора) и нажмите Проверить имена. Система должна отобразить полное имя пользователя и его адрес электронной почты. Нажмите Ок.
    6. Вернитесь к окну Свойства файла C_1252.NLS. В списке Группы или пользователи нажмите Administrators, а затем кнопку Изменить.
    7. Откроется окно Разрешения для группы. Опять же, в списке Группы или пользователи нажмите Administrators. Затем отметьте пункт Полный доступ в колонке Разрешить. Нажмите Ок, а затем еще раз Ок.
    8. В окне Проводника кликните по найденному вами файлу C_1252.NLS и нажмите Расположение файла. Проводник покажет вам, где находится этот файл.
    9. Перейдите на вкладку проводника Вид и убедитесь, что у вас активирован параметр Расширения имен файлов. Если нет – активируйте.
    10. Теперь нажмите правой кнопкой мыши по файлу C_1252.NLS и выберите Переименовать. Переименуйте его в C_12521.NLS1, к примеру. Это необходимо сделать, чтобы оригинальный файл у вас был на случай необходимости откатить изменения.
    11. После этого найдите файл C_1251.NLS. Скопируйте его и тут же вставьте. У вас должна появиться копия файла. Переименуйте ее в C_1252.NLS.
    12. Перезагрузите компьютер.

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

    Поделиться с друзьями:

    Твитнуть

    Поделиться

    Поделиться

    Отправить

    Класснуть

    Кодировка текста ASCII и и Юникод и как исправить проблему с кракозябрами Ссылка на основную публикацию
    Таблица

    Ascii для кодировки кириллицы (CP866)

    Американский стандартный код для обмена информацией ( ASCII ) — широко используемая система кодирования символов , представленная в 1963 году.

    Исходный набор символов , который теперь называется стандартным набором символов, изначально состоял из 128 символов (7-битный код). Первые 32 символа — это управляющие символы (также называемые непечатаемыми символами), которые используются для управления потоками данных, а также такими устройствами, как принтеры.Позже он был расширен для поддержки 256 символов (8-битный код), чтобы обеспечить языковые символы, различные символы, а также символы для рисования прямоугольников: элементы, используемые для целей презентации, позволяющие рисовать различные типы рамок и прямоугольников. Символы в диапазоне 128–255 называются расширенным ASCII.

    Кодовая страница 866 — наиболее широко используемая кодовая страница для написания языков на основе кириллицы: белорусский, боснийский, болгарский, македонский, русский, сербский, украинский (славянские языки) и казахский, киргизский, молдавский, монгольский, таджикский, узбекский (неславянский), кодовая страница 855 является альтернативной.Только расширенный набор символов отличается от исходной кодовой страницы, причем как управляющие символы, так и стандартный набор символов представляют собой простой ASCII.

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

    Управляющие символы (0 — 31):

    Dec Hex Char Описание Dec Hex Char Описание
    0 0 NUL (Null) 16 10 DLE (Выход из канала передачи данных)
    1 1 SOH (начало заголовка) 17 11 DC1 (Управление устройством 1)
    2 2 STX ( Начало текста) 18 12 DC2 (Управление устройством 2)
    3 3 ETX (Конец текста) 19 13 DC3 (Управление устройством 3 )
    4 4 EOT (конец передачи) 20 14 DC4 (Device Control 4)
    5 5900 25 ENQ (запрос) 21 15 NAK (отрицательное подтверждение)
    6 6 ACK (подтверждение) 22 16 SYN (синхронный холостой ход)
    7 7 BEL (Bell) 23 17 ETB (конец блока передачи)
    8 8 BS (BackSpace) 24 18 CAN (отмена)
    9 9 HT (горизонтальная таблица) 25 19 EM (конец среды)
    10 A LF (перевод строки) 26 1A SUB (замена)
    11 B VT (вертикальное табулирование) 27 1B ESC (выход)
    12 C FF (подача формы) 28 1C FS (разделитель файлов)
    13 D CR (Возврат каретки) 29 1D GS (Разделитель групп)
    14 E SO (Shift Out) 30 1E RS (Разделитель записей)
    15 F SI (сдвиг внутрь) 31 1F US (разделитель единиц)

    Стандартный набор символов (32-127):

    9002 4 114
    Dec Hex Char Описание Dec Hex Char Описание
    32 20 Пространство 80 50 Верхний корпус P
    33 21 Восклицательный знак 81 51 Верхний корпус Q
    34 22 Котировальный знак 82 52 Верхний корпус R
    35 23 Хеш 83 53 Верхний корпус S
    36 24 Доллар 84 54 Верхний корпус T
    37 25 Процент 85 55 Верхний ок. se U
    38 26 Ampersand 86 56 Верхний корпус V
    39 27 Апостроф 87 57 Верхний корпус W
    40 28 Открытый кронштейн 88 58 Верхний корпус X
    41 29 Закрытый кронштейн 89 59 Верхний корпус Y
    42 2A Asterisk 90 5A Верхний корпус Z
    43 2B Plus 91 5B Открытый квадратный кронштейн
    44 2C Запятая 92 5C Обратная косая черта
    45 2D Чертеж 93 5D Закрытый квадратный кронштейн
    46 2E Полная остановка 94 5E Каретка
    47 2F Слэш 95 5F Подчеркивание
    48 30 Ноль 96 60 Могильный акцент
    49 31 Один 97 61 Нижний корпус a
    50 32 Два 98 62 Нижний корпус b
    51 33 Три 99 63 Нижний корпус c
    52 34 9002 5 Четыре 100 64 Нижний корпус d
    53 35 Пять 101 65 Нижний корпус e
    54 36 Шесть 102 66 Нижняя часть корпуса f
    55 37 Семь 103 67 Нижняя часть корпуса g
    56 38 Восемь 104 68 Нижняя часть корпуса h
    57 39 Девять 105 69 Нижняя часть корпуса i
    58 3A Колонка 106 6A Нижний регистр j
    59 3B Точка с запятой 107 6B Нижняя часть корпуса k
    60 3C Менее 108 6C Нижняя часть корпуса l
    61 3D Знак равенства 109 6D Нижний регистр m
    62 3E Больше чем 110 6E Нижний регистр n
    63 3F Вопросительный знак 111 6F Нижняя часть корпуса o
    64 40 At 112 70 Нижняя часть корпуса p
    65 41 Верхняя часть корпуса A 113 71 Нижний корпус q
    66 42 Верхний корпус B 72 Нижний корпус r
    67 43 Верхний корпус C 115 73 Нижний корпус s
    68 44 Верхний корпус D 116 74 Нижняя часть корпуса t
    69 45 Верхняя часть корпуса E 117 75 Нижняя часть корпуса u
    70 46 Верхняя часть корпуса F 118 76 Нижняя часть корпуса v
    71 47 Верхняя часть корпуса G 119 77 Нижняя часть корпуса w
    72 48 Верхний корпус H 120 78 Нижний корпус x
    73 49 Верхний корпус e I 121 79 Нижняя часть корпуса y
    74 4A Верхняя часть корпуса J 122 7A Нижняя часть корпуса z
    75 4B Верхний кожух K 123 7B Открытый раскос
    76 4C Верхний кожух L 124 7C Труба
    77 4D Верхняя часть корпуса M 125 7D Закрывающая скоба
    78 4E Верхняя часть корпуса N 126 7E Тильда
    79 4F Верхняя case O 127 7F Удалить

    Расширенный набор символов (128-255):

    9002 4 138
    Dec Hex Char Описание Dec Hex Char Описание
    128 80 Верхний регистр с кириллицей A 192 C0 Коробка рисунки светятся и справа
    129 81 Верхний регистр с кириллицей BE 193 C1 Чертежи светятся и горизонтально
    130 82 Верхний регистр с кириллицей VE 194 C2 Чертежи коробки с подсветкой вниз и по горизонтали
    131 83 Верхний регистр с кириллицей GHE 195 C3 Чертежи коробки с подсветкой вертикально и справа
    132 84 Верхний регистр с кириллицей DE 196 C 4 Чертежи коробки светлые горизонтальные
    133 85 Верхний регистр кириллицы IE 197 C5 Чертежи коробки светлые вертикальные и горизонтальные
    134 86 Кириллица верхний корпус ZHE 198 C6 Чертежи коробок вертикальные одинарные и правые двойные
    135 87 Верхний регистр кириллицей ZE 199 C7 Чертежи коробок вертикальные двойные и правые одинарные
    136 88 Верхний регистр с кириллицей I 200 C8 Чертежи коробки, сдвоенные вверх и вправо
    137 89 Верхний регистр с кириллицей короткий I 201 C9 Чертежи коробки, сдвоенные вниз и вправо
    8A Верхний регистр с кириллицей KA 202 CA Чертежи коробки, сдвоенные и горизонтальные
    139 8B Верхний регистр с кириллицей EL 203 CB Чертежи коробки, сдвоенные по вертикали и по горизонтали
    140 8C Верхний регистр с кириллицей EM 204 CC Чертежи коробки сдвоенный по вертикали и справа
    141 8D Верхний кириллица корпус EN 205 CD Чертежи коробки двойные горизонтальные
    142 8E Кириллица верхний регистр O 206 CE Чертежи коробок двойные вертикальные и горизонтальные
    143 8F Верхняя часть корпуса с кириллицей PE207 CF Чертежи коробки вверх одинарные и горизонтальные двойные
    144 90 Верхний регистр с кириллицей ER 208 D0 Чертежи коробок вверх двойные и горизонтальные одинарные
    145 91 Верхний регистр с кириллицей ES 209 D1 Чертежи коробки внизу, одинарная и горизонтальная двойная
    146 92 Верхняя часть кириллицы TE 210 D2 Чертежи коробки внизу двойной и горизонтальный одинарный
    147 93 Верхний регистр с кириллицей U 211 D3 Чертежи коробки вверх двойной и правый одинарный
    148 94 Верхний регистр с кириллицей EF 212 D4 Чертежи коробки вверх одинарный и правый двойной e
    149 95 Верхний регистр с кириллицей HA 213 D5 Чертежи коробки внизу одинарный и правый двойной
    150 96 Верхний регистр с кириллицей TSE 214 D6 Чертежи коробки внизу, двойная и правая, одинарная
    151 97 Верхний регистр с кириллицей CHE 215 D7 Чертежи коробки вертикальный двойной и горизонтальный одинарный
    152 98 Верхний регистр с кириллицей SHA 216 D8 Чертежи коробки вертикальный одинарный и горизонтальный двойной
    153 99 Верхний регистр кириллицы SHCHA 217 D9 Коробка рисунки загораются и слева
    154 9A Верхний регистр с кириллицей жесткий знак 218 DA Чертежи коробки с подсветкой снизу и справа
    155 9B Верхний регистр с кириллицей YERU 219 DB Полный блок
    156 9C Кириллический верхний регистр мягкий знак 220 DC Нижний полублок
    157 9D Кириллический верхний регистр E 221 DD Левый полублок
    158 9E Верхний регистр с кириллицей YU 222 DE Правый полублок
    159 9F Верхний регистр с кириллицей YA 223 DF Верхний полублок
    160 A0 Кириллица нижний регистр a 224 E0 Нижний регистр кириллицы er
    161 A1 Нижний регистр кириллицы be 225 E1 Кириллица нижний регистр es
    162 A2 Строчная кириллица ve 226 E2 Строчная кириллица te
    163 A3 Строчная кириллица ghe 227 E3 Строчная кириллица u
    164 A4 Нижний регистр кириллицы 228 E4 Нижний регистр кириллицы ef
    165 A5 Строчный регистр кириллицы т.е. 229 E5 Строчная кириллица ha
    166 A6 Строчная кириллица r case zhe 230 E6 Строчная кириллица tse
    167 A7 Строчная кириллица ze 231 E7 Строчная кириллица che
    168 A8 Нижний регистр кириллицы i 232 E8 Нижний регистр кириллицы sha
    169 A9 Кириллический нижний регистр, короткий i 233 E9 Кириллица нижний регистр ща
    170 AA Кириллица нижний регистр ка 234 EA Кириллица нижний регистр жесткий знак
    171 AB Кириллица нижний регистр el 235 EB Кириллица в нижнем регистре yeru
    172 AC 900 24 Нижний регистр кириллицы em 236 EC Мягкий знак нижнего регистра кириллицы
    173 AD Нижний регистр кириллицы en 237 ED Строчный регистр кириллицы e
    174 AE Строчная кириллица o 238 EE Строчная кириллица yu
    175 AF Строчная кириллица pe 239 EF Cyrillic нижний регистр ya
    176 B0 Светлый оттенок 240 F0 Кириллический верхний регистр IO
    177 B1 Средний оттенок 241 F1 Нижний регистр кириллицы io
    178 B2 Темный оттенок 242 F2 Кириллица верхний регистр украинский IE
    179 B3 Чертежи коробки светлый вертикальный 243 F3 Кириллица нижний регистр украинский ie
    180 B4 Чертежи коробки светлые вертикально и слева 244 F4 Верхний регистр кириллицы YI
    181 B5 Чертежи коробки вертикальный одинарный и левый двойной 245 F5 Кириллица нижний регистр yi
    182 B6 Чертежи коробки вертикальная двойная и левая одинарная 246 F6 Кириллический верхний регистр короткий U
    183 B7 Чертежи коробки вниз двойные и левый одинарный 247 F7 Кириллица нижняя ок. se short u
    184 B8 Чертежи коробки внизу, одинарная и слева, двойная 248 F8 Знак градуса
    185 B9 Чертежи коробки двойные вертикально и слева 249 F9 Оператор пули
    186 BA Чертежи коробки двойные вертикальные 250 FA Средняя точка
    187 BB Двойные чертежи коробки вниз и влево 251 FB ​​ Квадратный корень
    188 BC Чертежи коробки удвоены вверх и влево 252 FC Цифровой знак
    189 BD Чертежи коробки вверх двойная и левая одинарная 253 FD Знак валюты
    190 BE Чертежи коробки вверх одинарный и левый двойной 254 FE Черный квадрат
    191 BF Чертежи коробки светлые вниз и влево 255 FF Без пробелов

    The Cyrillic Charset Soup

    The Cyrillic Charset Soup Несмотря на то, что ISO 8859 содержит стандарт Кодировка кириллицы, есть еще куча других кодировок кириллицы используется на компьютерах по всему миру.Эта страница пытается объяснить, почему это так, давая исторический обзор. Каждая кодировка проиллюстрирована с помощью растрового изображения GIF вместе с базовой таблицей сопоставления Unicode и Шрифт BDF (X / Unix).

    Кириллица

    Братья и православные славянские монахи Кирилл и Мефодий изобрел глаголицу в Македонии в 863 году как зашифрованный греческий алфавит с расширениями для особых славянских звуков. Их ученый Климент Охридский изобрел «кириллицу» позже, когда более читаемый преобразованный глаголический алфавит.В течение веками кириллица была распространена и преобразована, и она была модернизирована в ее нынешнюю романизированную форму (Гражданка) под Царь Петр Великий.

    В настоящее время кириллица используется более чем на 70 языках. от славянских языков Восточной Европы русский (ру), украинский (uk), белорусский (be), болгарский (bg), сербский (sr) и македонский (mk) над алтайскими языками Центральной Азии, такими как азербайджанский (az), туркменский (tk), Курдский (ку), узбекский (uz), казахский (kk), киргизский (ky) другим, таким как Таджикский (tg) и монгольский (mn).В вашей библиотеке может быть буклет «Альфавиты языков народов СССР» Кенесбая Мусаевича Мусаева, который был опубликовано в 1965 году.

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

    Самая старая стандартизированная кириллическая компьютерная кодировка, найденная мною (в Иоанна Clews ‘Language Automation Worldwide) — государственный стандарт ГОСТ 13052, 7-битная кодировка, кодирующая буквы русского алфавита. алфавит (который также удовлетворяет все болгарские потребности) на вершине соответствующие буквы ASCII противоположного case (чтобы распознать русский текст типа «РУССКИЙ ТЕКСТ» по его регистру, когда представлены в кодировке ASCII.Я буду называть это свойство соответствием KOI), пожертвовал пунктиром, чтобы уменьшить алфавит до 32 букв. поместился в два ряда и убрал редко используемый ЗАПИСНОЙ ЖЕСТКИЙ ЗНАК на предотвратить его столкновение с DELETE в позиции = 7F или EOF = -1:


    кодировка = koi-0 [ТЕКСТ] [BDF]

    Дело в том, что болгарский гораздо чаще использует ЗАГЛАВНЫЙ ЗНАК побудили некоторых болгар закодировать свой жесткий знак поверх ненужный русский YERY bI вместо этого.

    В 1974 г. ГОСТ опубликовал еще один государственный стандарт ГОСТ 19768-74, с двумя наборами символов, которые обе смешали латинский и кириллический алфавиты в одном наборе, сохранив Оригинальная идея корреспонденции KOI жива:

    Первой была еще одна 7-битная кодировка под названием KOI-7 только с заглавной буквы. буквы:


    кодировка = koi-7 [ТЕКСТ] [BDF]

    Вторая кодировка определена в ГОСТе. 19768-74 гг. Был знаменитый 8-битный Код для обмена и обработки Информации (КОИ-8), давшей расшифровываемую Текст ASCII, когда был удален старший бит, и по праву может быть называется кириллица ASCII.Вот изображение его верхней части (G1):


    кодировка = koi8-a [ТЕКСТ] [BDF]

    KOI-8 использовался на многих сетевых Unix-хостах. Естественно, прижился знак доллара ASCII $ вместо знака международной валюты, хотя это не было политкорректный. Пунктирная (йо) добавлена ​​в столбец 3, поэтому что такие слова, как e (yeyo), больше не нужно писать без ударения ее.

    Вернее, последний шаг не происходил, пока компания Demos не начала портировать Поддержка кириллицы для ОС Unix для ПК, таких как Xenix в конце 1980-х и разработал новую российскую кодовую страницу КОИ-8, которая позже стала известна как KOI8-R с пунктирной точкой в ​​позиции от первый проект DIS-6937-8 / DIS-8859-5 и все нерусские буквы вычищены и заменены блочной графикой.

    Но многие поставщики шрифтов реализовали только подмножество букв. Разрешите нам назовем его КОИ8-Б, это расширенная (большая) база КОИ-8, содержащая буквы (буквы) общие (баса) для всех современных вариантов КОИ-8:


    кодировка = koi8-b [ТЕКСТ] [BDF]

    В середине 1980-х годов ECMA комитет по разработке серии ISO-8859 и его кириллица ISO-8859-5 хотела сохранить совместимость с установлена ​​база десятилетнего стандарта КОИ-8 и элегантно добавлены отсутствующие украинский, белорусский, Сербские и македонские буквы в неиспользуемых кодовых точках.Их проект был опубликован как 1-е издание стандарта ECMA-113 в 1986 году и проект международного стандарта DIS-8859-5 в 1987 г. и был зарегистрирован с номером 111 в Международном реестре ISO наборов символов, которые будут использоваться с (ISO-2022) escape последовательности, отсюда и название ISO-IR-111 и псевдоним ECMA-кириллица:


    кодировка = koi8-e [ТЕКСТ] [BDF]

    ISO-IR-111 так и не был принят в качестве окончательного ISO-8859-5, потому что за это время ГОСТ пережил некоторую перестройку и объявил установленную базу и KOI соответствие менее важным и пересмотрело его стандарт 19768 года с 1974 по 1987 год в несовместимый новый ГОСТ 19768-87, в котором русские буквы перемещены на одну строку вверх и заказал их в родном русском словаре порядка (АБВГД) вместо порядка корреспонденции KOI (ABCDE):


    кодировка = ГОСТ-19768-87 [ТЕКСТ] [BDF]

    ECMA сразу же последовала за ГОСТом по совету советских экспертов, пересмотрев свои первые предложение и перестановка их ISO-IR-111 символов на позиции кода нового ГОСТ 19768-87.Дизайнеры не дошли до сортировки нерусские буквы в русский алфавит для обеспечения правильного порядок словаря для всех языков, как, например, в Стандарт ISO 9 (Транслитерация кириллицы). Пересмотренное предложение опубликовано как 2-е издание ECMA-113: 1988 (заменяющее исходное ECMA-113: 1986, который стал жить дальше (популярен благодаря сочетанию нерусских букв с КОИ-8 совместимость) под своим ником ECMA-Cyrillic (хотя ECMA ссылается вы переходите к ISO-8859-5 сейчас) или ISO-IR-111) и приняли в ISO 8859 (несмотря на советское голосование против знак доллара) в качестве окончательного стандарта ISO-8859-5 (ISO-IR-144) в 1988 году.Многие люди, включая меня, считают, что это избавило бы нас от многих проблема, если исходный KOI8-совместимый DIS-8859-5: 1987 также был выбран ISO-8859-5: 1988. Сейчас мы имеют международный стандарт ISO-8859-5, который так нестандартен что его почти никто не любит и не использует:


    кодировка = ISO-8859-5 [ТЕКСТ] [BDF]

    после RFC 1341 (MIME) предложил использовать кириллицу ISO-8859-5 в электронной почте. общение, пока русский раздел Интернета (группы новостей relcom. *) все еще использовал KOI-8, Андрей Чернов отправился в опубликовать его RFC 1489 Регистрация набора символов кириллицы «КОИ8-Р» и установил KOI8-R как стандарт де-факто в Интернете.KOI8-R, который позже был также пронумерован как CP878, содержит пунктирный KOI8 плюс много графических персонажей:


    кодировка = koi8-r [ТЕКСТ] [BDF]

    Андрей Чернов предлагает много практической информации о КОИ8-Р. на его сайте.

    Со всеми этими кодировками есть особая украинская проблема. Украинцы читают букву GHE со штрихом вниз как хе. Написать исправьте ghe им нужна украинская буква GHE С UPTURN, которая была был подавлен сталинскими чиновниками и восстановлен в 1990 году.

    Можно злоупотребить акцентированным GHE (македонским GJE) в ISO-IR-111 или ISO-8859-5 для представления GHE WITH UPTURN, но это не похоже на быть предпочтительным вариантом. Украинцы, кажется, предпочитают кодировки, которые включить реальный GHE с UPTURN. GHE WITH UPTURN присутствует в Microsoft CP1251, Fingertip KOI8-Unified и, конечно же, Unicode. Тем не менее, эти варианты не казались близкими Достаточно KOI8-R, чтобы остановить украинских почтмейстеров от разработки новый КОИ8-У и его публикация как RFC2319 в Апрель 1998 г.КОИ8-У добавил только украинские буквы в позициях совместим с ISO-IR-111, используемым многими Украинцы и сохранили как можно больше персонажей-рисовальщиков, потому что многие пользователи в этой области все еще придерживаются MS-DOS. Из-за этого предпочтение, в нем отсутствуют короткое U с белорусским акцентом, сербское и Македонская поддержка:


    кодировка = koi8-u [ТЕКСТ] [BDF]

    Я предполагаю, что спецификация RFC2319 и RFC1489 пули KOI8-R как математическая U + 2219 BULLET OPERATOR — это ошибка, унаследованная от RFC1345 и должна быть исправлено на U + 2022 BULLET, как в собственных таблицах Келда Симонсена для IBM437 или KOI8-R.В целом обратите внимание, что RFC1345 и все, что на нем основано, например, GNU recode 3.4.1 содержал ряд ошибок, особенно в области кириллицы: его isoir111 больше похож на cp1251, чем на koi8. RFC2319 содержит дополнительная ошибка, которая кодирует Кириллическую ЗАГЛАВНУЮ БУКВУ UKRAINIAN IE как U + 0403 вместо U + 0404.

    Питер Кассетта из Fingertip Софт, который также опубликовал красивую кириллицу ссылка на кодировку для его клиентов уже разработана и предложил другое решение: Его KOI8-Unified объединяет все ISO-IR-111 буквы с украинскими буквами КОИ8-У и базовая блочная графика KOI8-R и некоторые популярные символы из кодовых страниц Windows 1251 и 1252, уравновешивая различные потребности совместимости:


    кодировка = koi8-f [ТЕКСТ] [BDF]

    Вы можете использовать этот шрифт koi8-f для отображения всего текста koi8- * и всего буквы будут отображаться правильно, но некоторые из менее используемых изображений символы в koi8-r могут отображаться неправильно.

    Еще один серьезный игрок на поле — WinCyrillic Windows от Microsoft. кодовая страница CP1251, для которой Microsoft зарегистрировала этикетку «Windows-1251», которая не должна быть ошибочно принят за предшественник сегодняшней Windows95 в 13 веке. По состоянию на В декабре 1997 года вас приветствует даже новый веб-сервер ГОСТ (Lotus Notes). с charset = WINDOWS-1251 — ГОСТ (Российская стандартизация органа и органа-члена ISO) не даже следуя собственным стандартам, любой более! CP1251 имеет богатый репертуар в порядке, не совместимом ни с ISO-IR-111 (KOI8), ни с ISO-8859-5:


    кодировка = Windows-1251 [ТЕКСТ] [BDF]

    MacUkrainian (= MacCyrillic + GHE WITH UPTURN) имеет те же буквы в еще одном порядке:


    charset = MacУкраинский язык [ТЕКСТ] [BDF]

    Более старой популярной кодировкой является вариант Альтернативный, охватываемый MS-DOS CP866:


    кодировка = cp866 [ТЕКСТ] [BDF]

    Болгарский Prawec 16 ПК и болгарский раскладка клавиатуры в Linux использует кодировку MIK:


    кодировка = болгарский-мик [ТЕКСТ] [BDF]

    Вы устали от этого множества кодировок, в которых самый лучший? Хотели бы вы иметь одну хорошую кодировку, способную заменить все вышеперечисленное и везде примут? Не могли бы вы тоже любите писать неславянские кириллические языки? Вы получаете все это и многое другое с Unicode (ISO-10646), который просто кодирует все персонажи мира.

    Это блок кириллицы U + 0400 в Unicode. Это следует по порядку ISO-8859-5:


    кодировка = юникод-2-1 [ТЕКСТ] [BDF]

    Ольга Лапко заявляет на страницах 175 и 179 блестящего выпуска TUGboat 17-2 (Труды Ежегодная встреча группы пользователей TeX в 1996 г. в Дубне, Россия), что около 100 В Unicode по-прежнему отсутствуют кириллические буквы. Большинство из них кажутся кодируются с комбинированием акцентов, а остальные могут быть добавлены с помощью процедуры, описанной в Приложение B, однако, отправка новых символов стандарта Unicode.

    Каждая кириллическая буква кодируется двумя байтами в UTF-8. Стандартная схема сжатия для Unicode (SCSU) позволяет уменьшить это значение до традиционного, одного байта на букву.

    Я все еще пишу Unicode-HOWTO для Linux. Я добавил Cyrillic.kmap, злоупотребляющий ISO 9 транслитерация как метод ввода в текстовый редактор Yudit Unicode для X Window System.

    Я призываю вас присылать свои комментарии по адресу [email protected]. я благодарен Кристофер Неханив, Андреас Прилоп, Питер Кассетта <пит @ кириллица.com>, Андрей Чернов, Кельд Симонсен, Борислав Стоянов, Гюнчо Скордев, Илья Винарский, Дима Володин, Кристиан Вайсгербер, Алена Кесси и Юрию Демченко за предоставленную ценную информацию.

    Роман Чиборра
    1998-05-25 .. 1998-11-30

    Проект документации Linux


    Информация о LDP
    FAQ
    Манифест / лицензия
    История
    Волонтеры / сотрудники
    Должностные инструкции
    Списки рассылки
    IRC
    Обратная связь

    Автор / внесение вклада
    Руководство для авторов LDP
    Внесите свой вклад / помогите
    Ресурсы
    Как отправить
    Репозиторий GIT
    Загрузок
    Контакты

    Спонсор сайта LDP
    Мастерская

    LDP Wiki : LDP Wiki — это отправная точка для любой незавершенной работы
    Члены | Авторы | Посетители
    Документы

    HOWTO : тематическая справка
    последние обновления | основной индекс | просматривать по категориям
    Руководства : более длинные, подробные книги
    последние обновления / основной указатель
    Часто задаваемые вопросы : Часто задаваемые вопросы
    последние обновления / основной индекс
    страницы руководства : справка по отдельным командам (20060810)
    Бюллетень Linux : Интернет-журнал
    Поиск / Ресурсы

    Ссылки
    Поиск OMF
    Объявления / Разное


    Обновления документов
    Ссылка на недавно обновленные HOWTO.

    PostgreSQL: Документация: 9.3: Поддержка набора символов

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

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

    Таблица 22-1 показывает наборы символов, доступные для использования в PostgreSQL.

    Таблица 22-1. PostgreSQL Наборы символов

    Имя Описание Язык Сервер? Байт / символ Псевдонимы
    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
    ГБ18030 Национальный стандарт Китайский Нет 1–4
    ГБК Расширенный национальный стандарт Упрощенный китайский Нет 1-2 WIN936, Windows936
    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
    JOHAB JOHAB Корейский (хангыль) Нет 1-3
    КОИ8Р КОИ8-Р Кириллица (русская) Есть 1 КОИ8
    КОИ8У КОИ8-У Кириллица (украинская) Есть 1
    ЛАТИН 1 ISO 8859-1, ECMA 94 Западноевропейская Есть 1 ISO88591
    ЛАТИН 2 ISO 8859-2, ECMA 94 Центральноевропейская Есть 1 ISO88592
    ЛАТИН 3 ISO 8859-3, ECMA 94 Южноевропейский Есть 1 ISO88593
    ЛАТИН 4 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
    ЛАТИН 8 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 Сдвиг JIS Японский Нет 1-2 Мсканджи, ShiftJIS, WIN932, Окна932
    SHIFT_JIS_2004 Сдвиг JIS, JIS X 0213 Японский Нет 1-2
    SQL_ASCII не указано (см. Текст) любая Есть 1
    UHC Единый код хангыль Корейский Нет 1-2 WIN949, Windows949
    UTF8 Unicode, 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 поддерживают все перечисленные наборы символов.Например, драйвер PostgreSQL JDBC не поддерживает MULE_INTERNAL, LATIN6, LATIN8 и ЛАТИНСКИЙ 10.

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

    initdb определяет символ по умолчанию установить (кодировку) для PostgreSQL кластер. Например,

     initdb -E EUC_JP 

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

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

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

    Это создаст базу данных с именем korean, которая использует набор символов EUC_KR и локаль ko_KR. Другой способ добиться этого — использовать эту команду SQL:

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

    Обратите внимание, что приведенные выше команды определяют копирование базы данных template0. При копировании любой другой базы данных, настройки кодировки и локали не могут быть изменены по сравнению с исходной базы данных, поскольку это может привести к повреждению данных. Для дополнительную информацию см. в разделе 21.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 не требует, чтобы данные, хранящиеся в база данных имеет какую-либо конкретную кодировку, поэтому этот выбор ставит риски ненадлежащего поведения, зависящего от местных условий.Используя эту комбинацию настройки устарели и когда-нибудь могут быть полностью запрещены.

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

    Таблица 22-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
    ГБ18030 не поддерживается в качестве сервера кодировка
    ГБК не поддерживается в качестве сервера кодировка
    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
    JOHAB не поддерживается в качестве сервера кодировка
    КОИ8Р KOI8R, ISO_8859_5, MULE_INTERNAL, UTF8, WIN866, WIN1251
    КОИ8У КОИ8У, UTF8
    ЛАТИН 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
    ЛАТИН 8 LATIN8, UTF8
    ЛАТИН 9 LATIN9, UTF8
    ЛАТИН 10 LATIN10, 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

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

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

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

    • Использование SET client_encoding TO. Параметр кодирование клиента может быть выполнено с помощью этой команды SQL:

       SET CLIENT_ENCODING TO 'значение'; 

      Также вы можете использовать стандартный синтаксис SQL SET ИМЕНА для этого:

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

      Для запроса текущей клиентской кодировки:

       ПОКАЗАТЬ client_encoding; 

      Для возврата к кодировке по умолчанию:

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

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

    Если преобразование определенного символа невозможно — предположим, вы выбрали EUC_JP для сервера и LATIN1 для клиента, а некоторые Возвращаются японские символы, которые не имеют представления в LATIN1 — сообщается об ошибке.

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

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

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

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

    http://www.unicode.org/

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

    RFC 3629

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

    7 фактов о международных SMS-сообщениях

    1. Вначале был только ASCII. ASCII — это базовый язык, на котором основаны все остальные наборы символов. Символы ASCII — это прописные и строчные буквы от A до Z, а также некоторые основные знаки препинания. ASCII — это универсальный набор символов, каждое устройство везде понимает, что такое ASCII. На заре SMS 20 лет назад символы ASCII были единственными, которые можно было надежно отправить в SMS-сообщении.
    2. Не все говорят по-английски. Как бы нам ни хотелось, чтобы все говорили на одном языке, и нам не нужны были другие символы для выражения их языка, но это не так. Мир — очень интересное место с невероятным разнообразием знаков, акцентов, символов и знаков препинания. Мы не можем ожидать, что мир будет принимать SMS-сообщения только в формате ASCII.
    3. Раньше разные языки означали разную кодировку . Раньше, если вы хотели отправить сообщение пользователю в Греции, вам приходилось использовать греческий набор символов.Если вы хотели отправить сообщение покупателю в России, вам нужно было использовать совершенно другой набор символов с кириллическими символами. И у пользователя должен был быть установлен такой же набор символов. Если это звучит сложно, будьте уверены, это было намного хуже, чем кажется!
    4. Кодировка GSM была создана для решения этой проблемы. По крайней мере, для Западной Европы. Кодировка GSM позволяла отправлять в SMS-сообщениях весь набор символов ASCII, а также множество общих символов с диакритическими знаками.Этот стандарт кодирования также позволяет использовать меньшее количество бит на символ, что означает, что вы можете отправлять 160 символов в SMS вместо 140.
    5. Введите Unicode. Unicode был задуман как единый код для управления ими всеми. Это новая система представления каждого персонажа, используемого сегодня. Он также включает в себя символы из многих древних языков, и в нем все еще есть много места для других вещей (Emoji, кто-нибудь?). Unicode имеет место для 1,1 миллиона символов, и в настоящее время назначено около 110 000 символов.
    6. Существуют разные кодировки Unicode. Unicode — большое улучшение, но нам все еще нужно превратить эти символы Unicode в то, что компьютеры могут понять. Есть несколько разных кодировок Unicode. У каждого из них есть свои сильные и слабые стороны. UTF-8 универсален и имеет много сильных сторон, но не всегда хорошо поддерживается в мире мобильных устройств. UTF-16 — еще одна современная кодировка, которая является хорошим выбором, в частности, для азиатских языков, но сокращает длину вашего SMS-сообщения до 70 символов.UCS-2 — это более старая версия UTF-16, но она по-прежнему требуется для многих устройств.
    7. Каждый провайдер отличается. Было бы здорово, если бы все операторы SMS и агрегаторы поддерживали одни и те же кодировки одинаково и единообразно по всему миру. Они этого не делают. (Но вы уже знали об этом, не так ли?) Большинство операторов связи в Европе поддерживают набор символов GSM, а в США — нет. Японские операторы связи иногда поддерживают кодировку Shift-JIS. Некоторые операторы могут обрабатывать UTF-8, некоторые настаивают на UCS-2.

    Хорошо, я понял, международные SMS — это сложно, что теперь?

    Если вашему бизнесу нужен международный выход с помощью SMS, обязательно задайте эти вопросы любому потенциальному поставщику:

    • В какие страны вы поддерживаете отправку SMS-сообщений? Если вам нужен глобальный охват, убедитесь, что ваш провайдер поддерживает интересующие вас страны. Многие агрегаторы специализируются на определенных странах или регионах. Лишь немногие имеют всемирный охват.
    • Какие языки и кодировки поддерживает ваш провайдер? Поставщики услуг в США могут поддерживать отправку сообщений только в формате ASCII. Европейские провайдеры наверняка поддерживают GSM. Лучшие провайдеры позволят вам отправлять им сообщения в UTF-8 и выполнять любые необходимые преобразования за вас.
    • Ваш провайдер автоматически нормализует сообщения, когда это необходимо? Если вы пытаетесь отправить сообщение, а получатель не может получить его на том языке, на котором вы его отправили, пытается ли ваш провайдер отправить его как обычный ASCII автоматически?

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

    Руководство пользователя Глава 6: Поддержка Unicode и не-ASCII

    Глава 6. Поддержка Unicode и не-ASCII

    6.1 Формат для печати в кавычках
    6.2 Символы, отличные от ASCII в заголовках
    6.3 Unicode и UTF-8
    6.4 Поддержка UTF-8 в AspEmail
    6.5 допустимых значений CharSet

    6.1 Формат цитируемой печати

    AspEmail может отправлять сообщения в алфавитах, отличных от US-ASCII. за счет поддержки формата «Цитата для печати». Этот формат описан в RFC-2045. Идея формата заключается в том, что символы с кодами меньше 33 и больше чем 126 представлены знаком «=», за которым следует двузначное шестнадцатеричное представление. ценности персонажа. Например, десятичное значение 12 (подача формы US-ASCII) представлен как = 0C , а десятичное значение 61 (US-ASCII «=») может быть представлено как = 3D .

    AspEmail кодирует тело сообщения в формате Quoted-Printable автоматически, если для свойства ContentTransferEncoding установлено значение строка «Quoted-Printable» (регистр букв не имеет значения). Вы также можете установить свойство Charset к соответствующему набору символов. Следующий фрагмент кода отправляет сообщение на русском языке:

    <% @ codepage = 1251%>

    <%

    Почта.Кодировка = «Windows-1251»
    Mail.Body = «-«.
    Mail.ContentTransferEncoding = «Цитата для печати»
    %>

    Директива <% @ codepage = 1251%> предписывает интерпретатор ASP для обработки жестко запрограммированных символов в сценарии в виде русских символов (1251 — русская кодовая страница). Как результат, свойство Body получит русскую строку Unicode.

    6.2 символа не-ASCII в заголовках

    Если вы хотите отправить сообщение с определенными заголовками, такими как Тема: , To: или From: , содержащие символы, отличные от US-ASCII, следует использовать метод Mail.EncodeHeader для кодирования строки символов в соответствии с RFC 1522. Метод принимает один обязательный параметр, строку заголовка, и один необязательный параметр, набор символов, который по умолчанию равен « ISO-8859-1 ».Например:

    <% @ codepage = 1251%>

    <%
    Mail.Subject = Mail.EncodeHeader («-«, «Windows-1251»)
    Mail.FromName = Mail.EncodeHeader («», «Windows-1251»)
    Mail.AddAddress «[email protected]», Mail.EncodeHeader («»)
    %>

    6.3 Юникод и UTF-8

    Из MSDN: «Юникод — это 16-битный стандарт кодировки символов фиксированной ширины, который охватывает практически все символы, обычно используемые на компьютерах сегодня.Это включает в себя большинство письменных языков мира, а также издательские персонажи, математические и технические символы и знаки препинания «.

    Из Unicode.org: «Компьютеры … хранят буквы и другие символы присвоение номера каждому. До изобретения Unicode существовало сотни различных систем кодирования для присвоения этих чисел. Ни одна кодировка не может содержать достаточно символов … Unicode предоставляет уникальный номер для каждого символа, независимо от того, какая платформа, какая программа, на каком языке.«

    Например, основная латинская буква «А» имеет шестнадцатеричный код 0041 (65), русский буква имеет код Hex 0416 (1046), а китайский иероглиф имеет код Hex 32A5 (12965).

    UTF-8 (формат преобразования Unicode, 8-битная форма кодирования) рекомендуется формат, который будет использоваться для отправки данных на основе Unicode по сетям, в частности, через Интернет. UTF-8 представляет значение Unicode как последовательность из 1, 2 или 3 байтов.

    Символы Юникода в диапазоне от 0000 до 007F кодируются просто как байты. 00 до 7F. Это означает, что файлы и строки, содержащие только 7-битный ASCII символы имеют одинаковую кодировку как в ASCII, так и в UTF-8. Следовательно, Unicode 0041 («A») в UTF-8 — это Hex 41.

    Символы Юникода в диапазоне от 0080 до 07FF кодируются как последовательность из двух байтов. Например, Unicode 0416 () кодируется как Hex D0 96. Кодируются символы Unicode в диапазоне от Hex 0800 до FFFF. как последовательность из трех байтов.Например, Unicode 32A5 () кодируется как Hex E3 8A A5.

    6.4 Поддержка UTF-8 в AspEmail

    AspEmail 5.0 предлагает полную поддержку UTF-8 как в теле сообщения, так и в заголовках. Чтобы отправить сообщение в кодировке UTF-8, вы должны установить CharSet свойство к строке « UTF-8 » (регистр не имеет значения), и ContentTransferEncoding на « Quoted-Printable ».Вы также должны передать UTF-8 в качестве второго аргумента для EncodeHeader .

    В следующем примере кода демонстрируется использование UTF-8:






    <%
    ‘изменить на адрес вашего собственного SMTP-сервера
    strHost = «smtp.myisp.net»

    ‘Включить UTF-8 -> Перевод Unicode для элементов формы
    Session.CodePage = 65001 ‘Код UTF-8

    Если Запрос («Отправить») «» То
    Установите Mail = Server.CreateObject («Persits.MailSender»)
    ‘введите действительный SMTP-хост
    Mail.Host = strHost

    Mail.From = «[email protected]» ‘с адреса
    Mail.FromName = Mail.EncodeHeader (Запрос («FromName»), «utf-8»)
    Mail.AddAddress Request («Кому»)

    ‘тема сообщения
    Mail.Subject = Mail.EncodeHeader (Запрос («Тема»), «utf-8»)

    ‘тело сообщения
    Mail.Body = Request («Body»)

    ‘Параметры UTF-8
    Почта.CharSet = «UTF-8»
    Mail.ContentTransferEncoding = «Цитата для печати»
    Mail.Send ‘отправить сообщение
    Response.Write «Сообщение отправлено» & Request («To»)
    Конец, если
    %>




    AspEmail: Unicode.asp

    <ТЕЛО>


    <ТАБЛИЦА ЯЧЕЙКИ = 0 ЯЧЕЙКА = 0>
    Введите адрес электронной почты:
    Введите свое имя:
    Введите тему:
    Введите текст:




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

    Этот тег META определяет набор символов для этой страницы как UTF-8.Это, помимо прочего, указывает браузеру кодировать все элементы формы в кодировке UTF8. когда форма отправлена.

    Session.CodePage = 65001

    Эта строка указывает нашему сценарию ASP преобразовывать элементы формы в кодировке UTF8. (возвращается коллекцией Request.Form) обратно к обычным строкам Unicode. Номер 65001 — это кодовая страница UTF-8.

    Mail.Subject = Mail.EncodeHeader (Запрос («Тема»), «utf-8»)

    Второй необязательный аргумент установлен в «UTF-8» для правильного кодирования заголовка.

    Mail.CharSet = «UTF-8»
    Mail.ContentTransferEncoding = «Quoted-Printable»

    Эти две строки обеспечивают правильную кодировку UTF-8 тела сообщения.

    Щелкните ссылки ниже, чтобы запустить этот пример кода:

    http: //localhost/aspemail/NonAscii/Unicode.asp
    http: //localhost/aspemail/NonAscii/Unicode.aspx

    6.5 допустимых значений CharSet

    Вы можете указать следующие строковые значения для свойства CharSet , а также второй необязательный аргумент метода EncodeHeader :
    Значение Значение
    «УТФ-8» UTF-8
    «УТФ-7» UTF-7
    «Окна-1250»
    «cp1250»
    ANSI — Центральная Европа
    «Окна-1251»
    «cp1251»
    ANSI — кириллица
    «Windows-1252»
    «cp1252»
    «ascii»
    «us-ascii»
    Латиница I
    «Окна-1253»
    «cp1253»
    ANSI — греческий
    «Окна-1254»
    «cp1254»
    ANSI — турецкий
    «Окна-1255»
    «cp1255»
    ANSI — иврит
    «Окна-1256»
    «cp1256»
    ANSI — арабский
    «Окна-1257»
    «cp1257»
    ANSI — Балтика
    «Окна-1258»
    «cp1258»
    ANSI — вьетнамский
    «ISO-8859-1» Latin I (значение по умолчанию)
    «ИСО-8859-2» Центральная Европа
    «ИСО-8859-3» Латиница 3
    «ISO-8859-4» Балтика
    «ISO-8859-5» Кириллица
    «ISO-8859-6» Арабский
    «ISO-8859-7» Греческий
    «ISO-8859-8» Еврейский
    «ИСО-8859-9» Латиница 5
    «ИСО-8859-15» Латиница 9
    «cp866» Русский DOS
    «КОИ8-Р» Русский
    «КОИ8-У» Украинский
    «shift_jis» Японская Windows
    «ks_c_5601-1987»
    «корейский»
    Корейский
    «EUC-KR»
    «корейский»
    EUC — корейский
    «БОЛЬШОЙ5» Традиционный китайский Windows
    «GB2312»
    «китайский»
    Китайский упрощенный
    «HZ-GB-2312» Упрощенный китайский HZ
    «EUC-JP» EUC — японский
    «X-EUC-TW» EUC — традиционный китайский

    Кодирование общего набора символов подробно ASCII GB2312 GBK GB18030 UTF-8 unicode

    ASCII

    Код ASCII — это 7-битный код с диапазоном кода 0x00-0x7F.Набор символов ASCII включает такие символы, как английские буквы, арабские цифры и знаки препинания. Среди них 0x00-0x20 и 0x7F имеют всего 33 управляющих символа.

    Системы, поддерживающие только ASCII, будут игнорировать самый старший бит каждого байта и считать действительными только младшие 7 бит. Кодировка символов HZ — это ранний код, предназначенный для передачи китайского языка в 7-битной системе ASCII. Раньше многие почтовые системы поддерживали только кодировку ASCII. Для передачи китайской почты вы должны использовать BASE64 или другие методы кодирования.

    GB2312

    GB2312 основан на дизайне кода местоположения. Код местоположения делит кодовую таблицу на 94 области, каждая область соответствует 94 битам. Комбинация кода города и номера бита каждого символа является кодом местоположения китайского символа. Код местоположения обычно выражается десятичными числами. Например, 1601 означает 16 бит и 1 бит, а соответствующий символ — «ах». Код GB2312 получается добавлением 0xA0 к коду зоны и номеру бита кода местоположения соответственно.

    Область 01-09 в коде местоположения — это область символов и цифр, область 16-87 — область китайских символов, а области 10-15 и 88-94 — неопределенные пустые области. Он делит китайские иероглифы на два уровня: первый уровень — это 3755 широко используемых китайских иероглифов, размещенных в области 16-55, расположенных в порядке китайских букв / перьев пиньинь; китайские иероглифы второго уровня — это 3008 широко используемых китайских иероглифов, размещенных в области 56-87, расположенных в порядке радикалов / штрихов.Китайские иероглифы первого уровня отсортированы по пиньинь. Это может получить диапазон пиньинь в области китайских иероглифов первого уровня. Многие программы, которые могут получать пиньинь по китайским иероглифам, написаны по этому принципу.

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

    Диапазон кодирования GB2312: 0xA1A1-0x7E7E. После удаления неопределенной области можно понять, что фактический диапазон кодирования составляет 0xA1A1-0xF7FE.
    EUC-CN можно понимать как псевдоним GB2312, который в точности совпадает с GB2312.

    Код местоположения следует рассматривать как определение набора символов, определяющее символы и позиции символов, которые должны быть включены, а GB2312 и EUC-CN — это коды, которые поддерживают этот набор символов в реальной компьютерной среде.HZ и ISO-2022-CN — это два других кода, соответствующие набору символов кода местоположения, каждый из которых использует 7-битное пространство кодирования для поддержки китайских символов. Связь между кодом местоположения и кодировкой GB2312 немного похожа на Unicode и UTF-8.

    GBK

    GBK кодирование — это надмножество кодирования GB2312, которое полностью совместимо с GB2312 и ниже. В то же время GBK включает в себя все китайские символы CJK в базовой многоязыковой плоскости Unicode. Как и GB2312, GBK также поддерживает греческие буквы, японские буквы кана, русские буквы и другие символы, но не поддерживает фонетические символы (некитайские символы) корейского языка.GBK также включает символы, такие как радикальные символы китайских иероглифов и вертикальные знаки препинания, не включенные в GB2312.

    Общий диапазон кодирования GBK составляет 0x8140-0xFEFE, за исключением комбинации младшего байта 0x7F. Диапазон старших байтов — 0x81-0xFE, а диапазон младших байтов — 0x40-7E и 0x80-0xFE.

    Младший байт 0x40-0x7E Символы GBK имеют определенную особенность, потому что эти символы занимают позицию кода ASCII, что создает проблемы для некоторых систем.
    В некоторых системах символы в 0x40-0x7E (такие как «|») используются как специальные символы. При размещении этих символов они не оцениваются, принадлежат ли они младшему байту символа GBK, что приведет к неверной оценке. Эта проблема не существует в среде, поддерживающей GB2312. Следует отметить, что байт меньше 0x80 в среде GBK не обязательно является символом ASCII. Кроме того, лучше использовать символы ASCII размером менее 0 × 40 для создания некоторых специальных символов, чтобы вы могли быстро найти их и не беспокоиться об этом.Другая половина китайского иероглифа. Есть проблемы и с кодировкой Big5.

    Между CP936 и GBK есть некоторые различия. В большинстве случаев CP936 можно использовать как псевдоним для GBK.

    GB18030

    Код GB18030 обратно совместим с GBK и GB2312. Смысл совместимости заключается не только в совместимости символов, но и в одинаковой кодировке символов. GB18030 содержит все символы Unicode3.1, включая символы китайских меньшинств, корейские символы, которые GBK не поддерживает, и т. Д.Также можно сказать, что включены большинство национальных персонажей мира.

    И GBK, и GB2312 — двухбайтовые коды одинаковой ширины. Если вы посчитаете однобайтный, поддерживаемый совместимостью ASCII, вы также можете понять его как код переменной длины с комбинацией однобайтовых и двухбайтовых символов. Код GB18030 представляет собой код переменной длины и имеет три режима: однобайтный, двухбайтовый и четырехбайтовый.
    GB18030 однобайтовый диапазон кодирования 0x00-0x7F, полностью эквивалентен ASCII; двухбайтовая кодировка такая же, как GBK, старший байт — 0x81-0xFE, диапазон младшего байта — 0x40-0x7E и 0x80-FE; Первый и третий байты четырехбайтовой кодировки имеют диапазон кодирования 0x81-0xFE, а второй и четвертый байты — 0x30-0x39.


    Кодовая страница CP936 в Windows использует 0x80 для представления символа евро, в то время как в коде GB18030 кодированный бит 0x80 не используется, а другая позиция используется для представления символа евро. Это можно понять как небольшую проблему обратной совместимости GB18030; также можно понять, что 0x80 является расширением GB936 до GBK, а GB18030 совместим только с GBK.

    GB18032 версия

    Текущая версия GB18030 — GB18030-2005.Архитектура кодирования GB18030-2005 и GB18030-2000 идентична. Итак, в чем разница и связь между версией 2000 года и версией 2005 года GB18030?

    GB18030-2000, выпущенный в 2000 году, полное название — «расширение базового набора символов китайской кодировки символов информационных технологий». GB18030-2000 определяет только коды обычно используемых номеров некитайских символов и 27533 китайских символов (включая радикалы, части и т. Д.). GB18030-2000 — это обязательный полнотекстовый стандарт, которому должны соответствовать продукты, продаваемые на рынке.GB18030-2005, выпущенный в 2005 году, добавил 42711 китайских символов и множество текстовых кодов китайского меньшинства на основе GB18030-2000. Добавленный контент рекомендуется. Содержание оригинального GB18030-2000 является обязательным, и продукты, продаваемые на рынке, должны соответствовать. Следовательно, GB18030-2005 является частичным обязательным стандартом и заменит GB18030-2000 с даты публикации.

    Как показано в таблице ниже, GB18030-2000 Содержит 27,533 китайских иероглифов:

    категория Диапазон кодовых бит Кодовый номер Количество символов Тип символа
    Двухбайтовая часть Первый байт 0xB0-0xF7
    Второй байт 0xA1-0xFE
    6768 6763 китайский иероглиф
    Первый байт 0x81-0xA0
    Второй байт 0x40-0xFE
    6080 6080 Китайский иероглиф
    Первый байт 0xAA-0xFE
    Второй байт 0x40-0xA0
    8160 8160 Китайский иероглиф
    Четырехбайтовая часть Первый байт 0x81-0x82
    Второй байт 0x30-0x39
    Третий байт 0x81-0xFE
    Четвертый байт 0x30-0x39
    6530 6530 CJK унифицированное расширение китайских иероглифов A
    27533 это 6763 + 6080 + 8160 + 6530.Двухбайтовая часть 6763 + 6080 + 8160 = 21003 китайских иероглифов — это 21003 китайских иероглифов GB003. В Unicode, расширение унифицированного китайского символа CJK A содержит 6582 китайских символа, почему здесь только 6530 китайских символов? Это связано с тем, что в эпоху GBK в двухбайтовой части уже было записано 52 китайских символа расширения A унифицированного китайского символа CJK, поэтому все еще существует 6530 китайских символов.

    Как показано в таблице ниже, GB18030-2005 Содержит 70044 китайских иероглифа:

    категория Диапазон кодовых бит Кодовый номер Количество символов Тип символа
    Двухбайтовая часть Первый байт 0xB0-0xF7
    Второй байт 0xA1-0xFE
    6768 6763 Китайский иероглиф
    Первый байт 0x81-0xA0
    Второй байт 0x40-0xFE
    6080 6080 Китайский иероглиф
    Первый байт 0xAA-0xFE
    Второй байт 0x40-0xA0
    8160 8160 Китайский иероглиф
    Четырехбайтовая часть Первый байт 0x81-0x82
    Второй байт 0x30-0x39
    Третий байт 0x81-0xFE
    Четвертый байт 0x30-0x39
    6530 6530 CJK унифицированное расширение китайских иероглифов A
    Первый байт 0x95-0x98
    Второй байт 0x30-0x39
    Третий байт 0x81-0xFE
    Четвертый байт 0x30-0x39
    42711 42711 CJK унифицированное расширение китайских иероглифов B
    70244 это 6763 + 6080 + 8160 + 6530 + 42711.

    GB18030-2005 имеет следующие изменения по сравнению с GB18030-2000:

    1. Добавьте унифицированное расширение китайских символов CJK B и глифы символов китайских меньшинств, которые были закодированы в GB13000, в четырехбайтовой таблице символов. Фактически, GB18030-2000 сопоставил эти кодовые точки, но GB18030-2000 не отображает глифы этих символов. 2. Настроить кодировку символа? 3. Однобайтовый символ евро (0x80) удаляется. (Исправление: однобайтовый символ евро был удален из GB18030-2000.См. Стандартный текст GB18030-2000 для подтверждения.)
    юникод

    Различные кодовые страницы для каждого языка усложняют программное обеспечение, которое должно поддерживать разные языки. Итак, люди разработали мировой стандарт под названием юникод. Unicode предоставляет уникальные и уникальные значения для каждого символа, независимо от платформы, программного обеспечения или языка. То есть перечислены все символы, которые он использует в мире, и каждому персонажу присваивается уникальное значение.
    Первоначальная цель Unicode состояла в том, чтобы обеспечить отображение более 65 000 символов с единственной 16-битной кодировкой. Но этого недостаточно. Он не может охватить всю историю текста и не может решить головную боль миграции, особенно в этих веб-приложениях. Существующее программное обеспечение должно выполнять большую работу по программированию 16-битных данных.
    Таким образом, Unicode разработал три набора кодировок с некоторыми основными зарезервированными символами. Это UTF-8, UTF-16 и UTF-32. Как следует из названия, в UTF-8 символы кодируются в 8-битных последовательностях, причем один или несколько байтов представляют символ.Самым большим преимуществом этого подхода является то, что UTF-8 сохраняет кодировку символов ASCII как часть своей. Например, в UTF-8 и ASCII кодировка «A» — 0x41.
    UTF-16 и UTF-32 — это 16-битные и 32-битные методы кодирования Unicode соответственно. Принимая во внимание первоначальную цель, Unicode обычно называют UTF-16. При обсуждении Unicode важно выяснить, какая кодировка используется.