Кодировка кириллица windows это какая

Отличие utf-8 и windows 1251. Рассмотрим, чем отличаются две кодировки «utf-8 и windows 1251» в теории и на практике. И как победить некоторые проблемы для кириллицы в utf-8!?

  • О кодировках utf-8 и windows 1251

    Самое главное. что нас интересует, как и меня — в чем же отличие кодировок utf-8 и windows 1251. И отличается только кириллица!

    Чем отличаются utf-8 и windows 1251

    UTF-8 — это много-байтовая кодировка, а Windows- 1251 однобайтовая. И более того, отличие только в кириллице.

    Количество байтов кириллицы в UTF-8 будет в 2 раза больше, чем 1). латиницы в UTF-8 и 2). латиницы + кириллицы в Windows- 1251 → пример

    Главное отличие кодировок – это используемый набор символов. В UTF-8 гораздо больше количество символов возможно представить, чем в Windows- 1251. Кодировка Windows- 1251 однобайтовая, т.е. представить в ней можно только 255 символов. Для кириллицы, впрочем, этого вполне достаточно, именно поэтому однобайтовые кодировки до сих пор так массово применяются.

    Что такое кодировка windows 1251

    Windows-1251 – набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Пользуется довольно большой популярностью. Windows-1251 выгодно отличается от других 8‑битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в русской типографике для обычного текста; она также содержит все символы для близких к русскому языку языков: украинского, белорусского, сербского и болгарского.

    Что такое кодировка UTF-8

    UTF-8 – в настоящее время распространённая кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста. Нашла широкое применение в операционных системах и веб-пространстве. Текст, состоящий только из символов Юникода с номерами меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт.

    Символ в кодировке UTF-8 может кодироваться аж 6 байтами (пока используется только 4 и больше не планируется). Для русского языка, например, символ занимает 2 байта. Все символы, которые есть в таблице символов – поддерживаются этой кодировкой. К примеру, если вам нужен знак копирайта (©), то вам не нужно искать особый шрифт или же изображать символов в графическом формате.

  • Пример вывода текста в кодировках utf-8 латиницы

    Когда и если вы прочитали теорию о разнице кодировок utf-8 и windows 1251 — это уже победа! wall
    смайлы

    А если вы еще и поняли о чем идет речь, то вы вообще Эйнштейн! good
    смайлы, то и смысла особого вам читать дальше нет.

    А для всех остальных продолжим…

    Чем отличается текст в кодировках utf-8 и windows 1251

    Теория — это конечно классно и круто, но как обстоит дело на практике!

    Как показать отличие двух кодировок!?

    У нас на сайте основная кодировка utf-8, и мы не напрягаясь можем посмотреть, что творится с текстом в этой кодировке!

    Нам понадобится какой-то текст на латинице:

    И… нам нужно такое слово, чтобы имело одинаковое количество букв в слове, ну пусть это будет моё имя…

    Пусть это будет слово — «Marat!»

    Далее нам потребуется функция var_dump.

    И выведем прямо здесь вот такую конструкцию :

    var_dump(‘Marat’);

    Результат:

    string(5) «Marat»

    Что мы здесь можем прочитать!?

    Что это строка, и что в ней 5 элементов.

  • Пример вывода текста в кодировках utf-8 кириллицы

    Теперь, проделаем тоже самое со строкой на кириллице:

    У нас все таже кодировка utf-8.

    Но теперь нам понадобится текст на кириллице:

    Пусть это будет слово — «Марат!»

    Опять var_dump.

    И выведем прямо здесь вот такую конструкцию :

    var_dump(‘Марат’);

    Результат:

    string(10) «Марат»

    И что мы здесь видим!?

    Что количество элементов в строке 10… Если вы читали теорию внимательно, то вот вам показатель того, что одна буква состоит из двух символов, а латиницы это не касается…!

    Поэтому, и возникают проблемы с текстом в кодировке utf-8 кириллицы, множество функций тупо не работают.

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

  • Пример отличия в кодировках utf-8 и windows 1251

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

    Результат вывода var_dump(‘Marat’);:
    string(5) «Marat»

    Результат var_dump(‘Марат’);:
    string(10) «Марат»

    Что делать, если функция для кириллицы на utf-8 не работают?

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

    Но если уж она возникала, то есть несколько вариантов решения!

    Это функции с приставкой «mb_», естественно надо проверять, работает ли она у вас на хостинге.

    Второй вариант, это написать собственную функцию, которая будет работать и для латиницы и кириллицы? как это я показал на функции strtolower

    И третий вариант перекодировать строку из utf-8 в windows 1251

    Рассмотрим, первый попавшийся на ум пример…

    Пусть это будет функция str_split и её аналог mb_str_split

    print_r (str_split(‘Марат’)); выдаст :

    Array

    (

    [0] => �

    [1] => �

    [2] => �

    [3] => �

    [4] => �

    [5] => �

    [6] => �

    [7] => �

    [8] => �

    [9] => �

    )

    print_r (mb_str_split(‘Марат’)); выдаст :

    Что делать, если функция для кириллицы на utf-8 не работают?

    Как видим… полный отстой…

    Мы далее разбирались с этим здесь.

  • Как перекодировать строку из utf-8 в windows 1251

    Итак… есть третий вариант, борьбы с квадратиками(непонимание кодировки) — перекодировать строку из utf-8 в windows 1251:

    iconv(«UTF-8», «windows-1251», $text)

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

    iconv(«windows-1251», «UTF-8», $text)

    Рассмотрим пример перекодировки текста из UTF-8 в windows-1251 и обратно

    Мы использовали var_dump, и он посчитал не правильно, поскольку просто так, на страницу вывести данные с помощью var_dump нельзя, мы использовали вот такой костыль :

    ob_start();

    var_dump( ‘Марат’ );

    echo ob_get_clean();

    Теперь попробуем перекодировать строку прямо внутри :

    ob_start();

    var_dump(iconv(«UTF-8», «windows-1251», ‘Марат’)) ;

    echo ob_get_clean() ;

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

    string(5) «�����»

    Исправим:

    ob_start();

    var_dump(iconv(«UTF-8», «windows-1251», ‘Марат’)) ;

    echo iconv(«windows-1251», «UTF-8», ob_get_clean());

    Результат :

    string(5) «Марат»

    Итак… вы видели процесс кодировки и перекодировки текста из utf-8 в windows 1251, а потом обратно!


    Вы наверное подумали :

    Что за дичь здесь происходит!? Это не дичь! Когда ты внутри, а не снаружи, то все кажется не простым, а очень простым.

    И чем больше ты в теме, это просто, как есть, пить, дышать… просто не задумываешься…

    Я не говорю, что всегда так, иногда бывает очень трудно какаю-то задачку решить… shootself2
    смайлы

  • Что лучше для кириллицы utf-8 или…

    Интересный поисковый запрос — «Что лучше для кириллицы utf-8 или…«…

    Дело в том, что я выбрал кодировку «utf-8» уже… 14 лет(число динамическое) назад… и… уже сейчас трудно вспомнить, почему именно её… но точно вам могу заявить, что когда-то пользовался «windows-1251″… и у неё были какие-то заморочки, в виде неадекватного вывода информации, что, я волей неволей перешел на «utf-8»

    Какие минусы у utf-8?

    Одна из самых главных проблем «utf-8» — это многобайтовость…

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

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

    Задумывался ли я о переходе с кодировки utf-8 на другую?

    Смысл задумываться о переходе с кодировки utf-8 на другую, если всё работает так, как нужно!

    From Wikipedia, the free encyclopedia

    Windows-1251

    MIME / IANA windows-1251
    Alias(es) cp1251 (Code page 1251)
    Language(s) Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Bosnian Cyrillic, Macedonian, Rotokas, Rusyn, English
    Created by Microsoft
    Standard WHATWG Encoding Standard
    Classification extended ASCII, Windows-125x
    Other related encoding(s) Amiga-1251, KZ-1048,
    RFC 1345’s «ECMA-Cyrillic»
    • v
    • t
    • e

    Windows-1251 is an 8-bit character encoding, designed to cover languages that use the Cyrillic script such as Russian, Ukrainian, Belarusian, Bulgarian, Serbian Cyrillic, Macedonian and other languages.

    On the web, it is the second most-used single-byte character encoding (or third most-used character encoding overall), and most used of the single-byte encodings supporting Cyrillic. As of November 2022, 0.4% of all websites use Windows-1251.[1][2] It’s by far mostly used for Russian, while a small minority of Russian websites use it, with 93.7% of Russian (.ru) websites using UTF-8,[3][4][5] and the legacy 8-bit encoding is distant second. In Linux, the encoding is known as cp1251.[6] IBM uses code page 1251 (CCSID 1251 and euro sign extended CCSID 5347) for Windows-1251.[7][8][9][10][11][12][13]

    Windows-1251 and KOI8-R (or its Ukrainian variant KOI8-U) are much more commonly used than ISO 8859-5 (which is used by less than 0.0004% of websites).[14] In contrast to Windows-1252 and ISO 8859-1, Windows-1251 is not closely related to ISO 8859-5.

    Unicode (e.g. UTF-8) is preferred to Windows-1251 or other Cyrillic encodings in modern applications, especially on the Internet, making UTF-8 the dominant encoding for web pages. (For further discussion of Unicode’s complete coverage, of 436 Cyrillic letters/code points, including for Old Cyrillic, and how single-byte character encodings, such as Windows-1251 and KOI8-R, cannot provide this, see Cyrillic script in Unicode.)

    Character set[edit]

    The following table shows Windows-1251. Each character is shown with its Unicode equivalent and its Alt code.

    Windows-1251[15]
    0 1 2 3 4 5 6 7 8 9 A B C D E F
    0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
    1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
    2x  SP  ! » # $ % & ( ) * + , . /
    3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
    4x @ A B C D E F G H I J K L M N O
    5x P Q R S T U V W X Y Z [ \ ] ^ _
    6x ` a b c d e f g h i j k l m n o
    7x p q r s t u v w x y z { | } ~ DEL
    8x Ђ Ѓ ѓ Љ Њ Ќ Ћ Џ
    9x ђ љ њ ќ ћ џ
    Ax NBSP Ў ў Ј ¤ Ґ ¦ § Ё © Є « ¬ SHY ® Ї
    Bx ° ± І і ґ µ · ё є » ј Ѕ ѕ ї
    Cx А Б В Г Д Е Ж З И Й К Л М Н О П
    Dx Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
    Ex а б в г д е ж з и й к л м н о п
    Fx р с т у ф х ц ч ш щ ъ ы ь э ю я

    Kazakh variant[edit]

    An altered version of Windows-1251 was standardised in Kazakhstan as Kazakh standard STRK1048, and is known by the label KZ-1048. It differs in the rows shown below:

    KZ-1048 (STRK1048-2002)[16]
    0 1 2 3 4 5 6 7 8 9 A B C D E F
    8x Ђ Ѓ ѓ Љ Њ Қ Һ Џ
    9x ђ љ њ қ һ џ
    Ax NBSP Ұ ұ Ә ¤ Ө ¦ § Ё © Ғ « ¬ SHY ® Ү
    Bx ° ± І і ө µ · ё ғ » ә Ң ң ү

      Differences from Windows-1251

    Amiga variant[edit]

    Amiga-1251

    MIME / IANA Amiga-1251
    Alias(es) Ami1251
    Language(s) English, Russian
    Classification extended ASCII
    Based on Windows-1251, ISO-8859-1, ISO-8859-15
    • v
    • t
    • e

    Russian Amiga OS systems used a version of code page 1251 which matches Windows-1251 for the Russian subset of the Cyrillic letters, but otherwise mostly follows ISO-8859-1. This version is known as Amiga-1251,[17] under which name it is registered with the IANA.[18]

    Amiga-1251[17]
    0 1 2 3 4 5 6 7 8 9 A B C D E F
    8x XXX XXX BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS3
    9x DCS PU1 PU2 STS CCH MW SPA EPA SOS XXX SCI CSI ST OSC PM APC
    Ax NBSP ¡ ¢ £ [a] ¥ ¦ § Ё © [b] « ¬ SHY ® ¯
    Bx ° ± ² ³ ´ µ · ё ¹ º » ¼ ½ ¾ ¿

      Different from Windows-1251 to match ISO-8859-1

      Different from both Windows-1251 and ISO-8859-1

    1. ^ Matching ISO-8859-15; at a different location than in Windows-1251
    2. ^ Present in Windows-1251, but in a different location (absent from ISO-8859-1/15)

    See also[edit]

    • Latin script in Unicode
    • Unicode
    • Universal Character Set
      • European Unicode subset (DIN 91379)
    • UTF-8

    References[edit]

    1. ^ «Historical trends in the usage of character encodings, November 2022». Retrieved 2022-11-28.
    2. ^ «Frequently Asked Questions».
    3. ^ «Distribution of Character Encodings among websites that use .ru». w3techs.com. Retrieved 2022-11-28.
    4. ^ «Distribution of Character Encodings among websites that use Russian». w3techs.com. Retrieved 2023-01-16.
    5. ^ «Distribution of Character Encodings among websites that use Russian Federation». w3techs.com. Retrieved 2021-11-05.
    6. ^ «cp1251(7) — Linux manual page». man7.org. Retrieved 2018-07-01.
    7. ^ «Code page 1251 information document». Archived from the original on 2016-03-03.
    8. ^ «CCSID 1251 information document». Archived from the original on 2014-11-29.
    9. ^ «CCSID 5347 information document». Archived from the original on 2014-11-29.
    10. ^ Code Page CPGID 01251 (pdf) (PDF), IBM
    11. ^ Code Page CPGID 01251 (txt), IBM
    12. ^ International Components for Unicode (ICU), ibm-1251_P100-1995.ucm, 2002-12-03
    13. ^ International Components for Unicode (ICU), ibm-5347_P100-1998.ucm, 2002-12-03
    14. ^ «Usage Statistics of Character Encodings for Websites». w3techs.com. Archived from the original on 2012-05-30.
    15. ^ Steele, Shawn (1998). CP1251 to Unicode table. Unicode Consortium. CP1251.TXT.
    16. ^ Whistler, Ken (2007). KZ-1048 to Unicode. Unicode Consortium. KZ1048.TXT.
    17. ^ a b Malyshev, Michael (2003). «Amiga-1251 to Unicode table». Registration of new charset [Amiga-1251]. IANA.
    18. ^ «Character Sets». IANA.

    Further reading[edit]

    • Kornai, Andras; Birnbaum, David J.; da Cruz, Frank; Davis, Bur; Fowler, George; Paine, Richard B.; Paperno, Slava; Simonsen, Keld J.; Thobe, Glenn E.; Vulis, Dimitri; van Wingen, Johan W. (1993-03-13). «CYRILLIC ENCODING FAQ Version 1.3». Retrieved 2020-06-24.

    External links[edit]

    • Windows 1251 reference chart
    • IANA Charset Name Registration
    • Unicode mappings of windows 1251 with «best fit»
    • Universal Cyrillic decoder, an online program that may help recovering unreadable Cyrillic texts with broken Windows-1251 or other character encodings.

    Не каждый человек обладает большими познаниями в компьютерной технике.

    Что такое windows-1251 кодировка и какую роль играет в работе компьютера предстоит узнать.

    Содержание:

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

    Кодировка 1251 представляет собой совокупность символов, которая составляет восьми-битную систему Windows для русифицированных устройств.

    Стоит отметить, что довольное широкое применение она нашла на территории Европы.

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

    к содержанию ↑

    Немного из истории

    С наступлением 90-х годов, после распада СССР, границы России стали открыты.

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

    Изначально все они были запрограммированы на английском языке.

    В этот же промежуток времени начинает активно распространяться интернет.

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

    А значит стало возможным использовать компьютеры со следующими языками:

    • Русский
    • Белорусский
    • Украинский
    • Сербский
    • Болгарский
    • Македонский.

    Совместно с двумя российскими компаниями «Параграф» и «Диалог», представительства компании Microsoft начали активно заниматься разработкой данной кодировки.

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

    Однако технический прогресс не стоит на месте, поэтому в последнее время широкое применение нашел Юникод UTF-8.

     В него заложено порядком 90% web-ресурсов. Что касается 1251, то она используется менее, чем в 2%. 

    к содержанию ↑

    UTF-8 против 1251

    Вся информация, которая хранится на компьютере, имеет кодированный вид.

    Можно предположить, что символ имеет вес порядком 1 байт. 1251 – это разновидность кодировки однобайтовой, а UTF-8 – восьмибайтная.

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

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

    Можно сделать вывод, что оба варианта имеют следующие отличия:

    • В верхней части необходимо указывать кодировку, которая необходима для использования. В противном случае, вместо обыкновенных символов появляются нечитаемые иероглифы. Используя UTF-8 (которая считается более универсальной кодировкой), все переводы и расшифровки осуществляются в автоматическом режиме
    • Вне зависимости от того, на территории какой страны будет загружаться страница, символика останется без изменения. Важно отметить, что местоположение в данном случае не играет абсолютно никакой роли. Главное обращать внимание на языковые серверы, используемые пользователем. Каждый человек обращается к программному обеспечению на родном языке. Для жителей Европы, 1251 будет недоступна в силу использования латиницы. Соответственно можно сделать вывод о том, что русскоязычные сайты не будут открывать в корректном формате. Что касается юникода, то он присутствует в любой ОС
    • Второй вид имеет возможность кодировки большего количества символов. На сегодняшний день стоит отметить 6 и 8 байт. Что касается кириллицы, то для ее кодировки достаточно двух байт.

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

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

    Чтобы символы можно было запомнить быстро и просто, чаще всего используют следующую таблицу:

    к содержанию ↑

    Инструкция по восстановлению кодировки

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

    Однако исправить положение возможно самостоятельно, не прибегая к помощи специалистов.

    Сразу стоит отметить, что это первый признак того, что в седьмом Windows слетела кодировка 1251.

    С восьмой версии активно используют UTF-8.

     Для того, чтобы решить задачу максимально быстро, возможно использование команды CHCP 866, но это только временная мера и в полной мере проблему она не решит. 

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

    • Чтобы вызвать командную строку, нажимаем сочетание клавиш Win и R. Пишем regedit, при помощи которого открывается специальный реестр

    • Как показано на рисунке, находим соответствующую папку HKEY_CURRENT_USER далее выбираем Console. Далее смотрим какой код задан для страниц (Code Page). В том случае, если там стоит число не 866, что скорее всего так и будет, значит проблема была определена верно

    • Исправляем в строке на десятичное значение
    • Чтобы править, произошли ли изменения, достаточно открыть и снова вызвать командную строчку.

    к содержанию ↑

    Почему до сих пор используется 1251

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

    • Многие программисты php используют стандартную кодировку, поскольку OC Windows ее поддерживает в режиме по умолчанию. И хотя в последнее время разработчики стали активно внедрять UTF-8, все же 1251 пока не сдает свои активные позиции
    • Если брать для примера старую версию MySQL до четвертой, то стоит отметить, что при включении даже тестового режима, вылезало множество ошибок в UTF-8. Только после выпуска 4.1 многие «глюки» были исправлены. Существует категория программистов, которая вовсе остается верна 1251, а их последователи рьяно берут с них пример и даже не собираются использовать нечто другое
    • Поскольку один символ в системе 1251 весит меньше (один байт), то вполне логично, что возникает некая экономия в отличие от последнего варианта.

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

    Существуют и другие аргументы, активно выступающие «ЗА» использование данной системы:

    • Возможно включение любых знаков из набора Юникода. Кроме того, вполне логично, что здесь поддерживается 100 000 символов против 256. Здесь можно найти от стандартных смайликов до апострофа абсолютно все. Их использование возможно в любом документе. Кроме того, их можно прочитать даже в редакторе, что исключает вероятность появления нечитабельных знаков
    • Ранее существовало мнение о том, что современный utf занимает больше места. В итоге оказалось, что символы также весят всего лишь байт. Значит, стоит сделать вывод о том, что увеличение веса странички не происходит и ее использование такое же легкое. Однако, если используется только русский алфавит, то в таком случае размер будет увеличен вдвое, поскольку изначально кириллица не включена в систему
    • Система считается одной из самых универсальных, которые уже смогли достать. В таком случае можно создавать сайты для любого населения мира. Можно уже не думать о том, какая кодировка используется, поскольку Юникод является универсальной вещью
    • UTF – это оптимальный вариант работы с php страницами.

    Важно отметить, что изначально многие разработчики стали использовать 1251.

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

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

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

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

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

    Таблица кодов кириллицы в Unicode, UTF-8 и Windows-1251

    Во-первых, напомню, что Юникод — не кодировка, а стандарт кодирования,
    кодировки — это UTF-8, UTF-16 и т.д., но, в силу инерции, разработчики и пользователи часто
    говорят о «кодировке Юникод», имея в виду распространённую именно в их деревне форму представления символов :)

    Во-вторых, на самом деле кодирование там довольно замудрённое, возьмём, скажем русскую заглавную «Ж».

    Представляемые в Юникоде символы кодируются целыми числами без знака, их можно называть «кодами символов Unicode».

    Так, для буквы «Ж» Unicode = 104610 или 041616 или 10000 0101102. Unicode в двоичном виде разбивается на две части: пять левых бит и шесть правых. Левая часть в старших разрядах дополняется до байта признаком 110 двухбайтного кода UTF-8, получаем 11010000. К правой части в старших разрядах приписываются два бита 10 признака продолжения многобайтного кода, получаем 10010110. Окончательно код буквы «Ж» в UTF-8 будет иметь вид
    11010000 100101102 или D0 9616.

    Именно последний код мы увидим в любом 16-ричном вьюере файла, например, создав в текстовом редакторе файл со словом «Жора» и сохранив его в UTF-8 (только не из Блокнотика Windows, который добавит в начало файла 3-байтовую метку BOM):

    просмотр файла в 16-ричном виде из Far Manager

    просмотр файла в 16-ричном виде из Far Manager

    То есть, каждая буква кодируется как бы дважды, сначала в 11-битный Unicode, затем в 16-битный UTF-8.

    Ниже приведена таблица кодов кириллицы в Unicode, UTF-8 и однобайтовой кодировке Windows-1251.

    Символ Unicode UTF-8 Windows-1251
    16-ричн. 10-тичн. 16-ричн. 10-тичн.
    А 0410

    1040 D090 208 144 192
    Б 0411 1041 D091 208 145 193
    В 0412 1042 D092 208 146 194
    Г 0413 1043 D093 208 147 195
    Д 0414 1044 D094 208 148 196
    Е 0415 1045 D095 208 149 197
    Ж 0416 1046 D096 208 150 198
    З 0417 1047 D097 208 151 199
    И 0418 1048 D098 208 152 200
    Й 0419 1049 D099 208 153 201
    К 041A 1050 D09A 208 154 202
    Л 041B 1051 D09B 208 155 203
    М 041C 1052 D09C 208 156 204
    Н 041D 1053 D09D 208 157 205
    О 041E 1054 D09E 208 158 206
    П 041F 1055 D09F 208 159 207
    Р 0420 1056 D0A0 208 160 208
    С 0421 1057 D0A1 208 161 209
    Т 0422 1058 D0A2 208 162 210
    У 0423 1059 D0A3 208 163 211
    Ф 0424 1060 D0A4 208 164 212
    Х 0425 1061 D0A5 208 165 213
    Ц 0426 1062 D0A6 208 166 214
    Ч 0427 1063 D0A7 208 167 215
    Ш 0428 1064 D0A8 208 168 216
    Щ 0429 1065 D0A9 208 169 217
    Ъ 042A 1066 D0AA 208 170 218
    Ы 042B 1067 D0AB 208 171 219
    Ь 042C 1068 D0AC 208 172 220
    Э 042D 1069 D0AD 208 173 221
    Ю 042E 1070 D0AE 208 174 222
    Я 042F 1071 D0AF 208 175 223
    а 0430 1072 D0B0 208 176 224
    б 0431 1073 D0B1 208 177 225
    в 0432 1074 D0B2 208 178 226
    г 0433 1075 D0B3 208 179 227
    д 0434 1076 D0B4 208 180 228
    е 0435 1077 D0B5 208 181 229
    ж 0436 1078 D0B6 208 182 230
    з 0437 1079 D0B7 208 183 231
    и 0438 1080 D0B8 208 184 232
    й 0439 1081 D0B9 208 185 233
    к 043A 1082 D0BA 208 186 234
    л 043B 1083 D0BB 208 187 235
    м 043C 1084 D0BC 208 188 236
    н 043D 1085 D0BD 208 189 237
    о 043E 1086 D0BE 208 190 238
    п 043F 1087 D0BF 208 191 239
    р 0440 1088 D180 209 128 240
    с 0441 1089 D181 209 129 241
    т 0442 1090 D182 209 130 242
    у 0443 1091 D183 209 131 243
    ф 0444 1092 D184 209 132 244
    х 0445 1093 D185 209 133 245
    ц 0446 1094 D186 209 134 246
    ч 0447 1095 D187 209 135 247
    ш 0448 1096 D188 209 136 248
    щ 0449 1097 D189 209 137 249
    ъ 044A 1098 D18A 209 138 250
    ы 044B 1099 D18B 209 139 251
    ь 044C 1100 D18C 209 140 252
    э 044D 1101 D18D 209 141 253
    ю 044E 1102 D18E 209 142 254
    я 044F 1103 D18F 209 143 255
    Символы вне общего правила
    Ё 0401 1025 D081 208 129 168
    ё 0451 1105 D191 209 145 184

    23.09.2018, 12:37 [98588 просмотров]


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

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

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

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

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

    CP1251 (windows-1251)

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

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

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

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

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

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

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

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

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

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

  • Коды гта сан андреас windows
  • Кодировка имени файла в windows
  • Коды событий в журнале windows расшифровка
  • Коды активации windows 10 home бесплатно
  • Кодировка в системе windows 10