Для чего нужна кодировка

Кодирование информации

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Это означает, что при кодировании текста каждому символу присваивается определенное значение в виде нулей и единиц – байта.

Зачем кодировать информацию?

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

Стандарты кодирования текста

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

ASCII

UNICODE

Нужно было спасать положение в плане совместимости таблиц кодировки. Поэтому, со временем были разработаны новые обновлённые стандарты. В настоящее время наиболее популярной является кодировка под названием UNICODE. В ней каждый символ кодируется с помощью 2-х байт, что соответствует 216=62536 разным кодам.

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Стандарты кодирования графических данных

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

Растровая графика

В растровой графике изображение представлено набором цветных точек. Такие точки называют пикселями (pixel). При увеличении изображения такие точки превращаются в квадратики.

Для кодирования чёрно-белого изображения каждый пиксель кодируется одним битом. К примеру, чёрный цвет — 0, а белый — 1)

Наше прошлое изображение можно закодировать так:

При кодировании нецветных изображений чаще всего применяют палитру из 256 оттенков серого, начиная от белого и заканчивая чёрным. Поэтому для кодирования такой градации достаточно одного байта (28=256).

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

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

Таким образом, для кодирования модели из трёх цветов в 256 тонов, получается свыше 16,5 миллионов разных цветовых оттенков. То есть для кодирования применяют 3⋅8=24 бита, что соответствует 3 байтам.

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

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

I=a*b*i

К примеру, цветное изображение размером 800⋅600 пикселей, занимает 60000 байт.

Векторная графика

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Стандарты кодирования звука

Звуки, которые слышит человек, представляют собой колебания воздуха. Звуковые колебания – это процесс распространения волн.

Звук имеет две основные характеристики:

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Компакт-диск объемом 700 Мб, вмещает порядка 80 минут звука CD-качества.

Стандарты кодирования видео

Как вы знаете, видеоряд состоит из быстро меняющихся фрагментов. Смена кадров происходит со скоростью в интервале 24-60 кадров в секунду.

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

Источник

Подготовка к кодированию

Содержание:

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Медицинская подготовка к антиалкогольной терапии

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

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

Прежде чем ввести кодировочное средство, врач-нарколог в обязательном порядке удостоверяется, что оно подходит больному. Для этого предварительно составляет медицинский анамнез, проводит обследование. Пациент сдает анализы крови, делает ЭКГ, УЗИ. Точный список диагностических мероприятий озвучивается после беседы с доктором и осмотра.

Капельница перед кодированием

В отдельных случаях кодировке предшествует инфузионная терапия. Она направлена на:

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

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

Как подготовиться к кодировке в психологическом плане

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

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

Отказ от спиртного — обязательное условие подготовки к кодированию

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

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

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

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

Кодировка сразу после запоя возможна?

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

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

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Противопоказания к кодированию

Бывает так, что в ходе подготовки обнаруживаются противопоказания к применению выбранной методики. Чаще всего это:

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

Поэтому не нужно ставить крест на успешном лечении раньше времени. Даже запойные пьяницы со стажем, превышающим 15-20 лет, имеют отличные шансы на полное выздоровление. Рецидив алкоголизма не случится, если человек к нему основательно подготовился и строго следует закону трезвости. Настраивайтесь на успех заранее!

Литература:

Текст проверен врачами-экспертами:
Заведующей социально-психологической службы МЦ «Алкоклиник», психологом Барановой Ю.П., врачом психиатром-наркологом Серовой Л.А.

Проконсультируйтесь
со специалистом Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Источник

Кодирование для чайников, ч.1

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

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

0. Начало

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

1.1 Речь, мимика, жесты

1.2 Чередующиеся сигналы

В примитивном виде кодирование чередующимися сигналами используется человечеством очень давно. В предыдущем разделе мы сказали про дым и огонь. Если между наблюдателем и источником огня ставить и убирать препятствие, то наблюдателю будет казаться, что он видит чередующиеся сигналы «включено/выключено». Меняя частоту таких включений мы можем выработать последовательность кодов, которая будет однозначно трактоваться принимающей стороной.

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

1.3 Контекст

2. Кодирование текста

Текст в компьютере является частью 256 символов, для каждого отводится один байт и в качестве кода могут быть использованы значения от 0 до 255. Так как данные в ПК представлены в двоичной системе счисления, то один байт (в значении ноль) равен записи 00000000, а 255 как 11111111. Чтение такого представления числа происходит справа налево, то есть один будет записано как 00000001.

Итак, символов английского алфавита 26 для верхнего и 26 для нижнего регистра, 10 цифр. Так же есть знаки препинания и другие символы, но для экспериментов мы будем использовать только прописные буквы (верхний регистр) и пробел.

Тестовая фраза «ЕХАЛ ГРЕКА ЧЕРЕЗ РЕКУ ВИДИТ ГРЕКА В РЕЧКЕ РАК СУНУЛ ГРЕКА РУКУ В РЕКУ РАК ЗА РУКУ ГРЕКУ ЦАП».

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

2.1 Блочное кодирование

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

Источник

Как работают кодировки текста. Откуда появляются «кракозябры». Принципы кодирования. Обобщение и детальный разбор

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

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

О чем будет под катом: принцип работы одно байтовых кодировок (ASCII, Windows-1251 и т.д.), предпосылки появления Unicode, что такое Unicode, Unicode-кодировки UTF-8, UTF-16, их отличия, принципиальные особенности, совместимость и несовместимость разных кодировок, принципы кодирования символов, практический разбор кодирования и декодирования.

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

Предпосылки Unicode

Начать думаю стоит с того времени когда компьютеризация еще не была так сильно развита и только набирала обороты. Тогда разработчики и стандартизаторы еще не думали, что компьютеры и интернет наберут такую огромную популярность и распространенность. Собственно тогда то и возникла потребность в кодировке текста. В каком то же виде нужно было хранить буквы в компьютере, а он (компьютер) только единицы и нули понимает. Так была разработана одно-байтовая кодировка ASCII (скорее всего она не первая кодировка, но она наиболее распространенная и показательная, по этому ее будем считать за эталонную). Что она из себя представляет? Каждый символ в этой кодировке закодирован 8-ю битами. Несложно посчитать что исходя из этого кодировка может содержать 256 символов (восемь бит, нулей или единиц 2 8 =256).

Первые 7 бит (128 символов 2 7 =128) в этой кодировке были отданы под символы латинского алфавита, управляющие символы (такие как переносы строк, табуляция и т.д.) и грамматические символы. Остальные отводились под национальные языки. То есть получилось что первые 128 символов всегда одинаковые, а если хочешь закодировать свой родной язык пожалуйста, используй оставшуюся емкость. Собственно так и появился огромный зоопарк национальных кодировок. И теперь сами можете представить, вот например я находясь в России беру и создаю текстовый документ, у меня по умолчанию он создается в кодировке Windows-1251 (русская кодировка использующаяся в ОС Windows) и отсылаю его кому то, например в США. Даже то что мой собеседник знает русский язык, ему не поможет, потому что открыв мой документ на своем компьютере (в редакторе с дефолтной кодировкой той же самой ASCII) он увидит не русские буквы, а кракозябры. Если быть точнее, то те места в документе которые я напишу на английском отобразятся без проблем, потому что первые 128 символов кодировок Windows-1251 и ASCII одинаковые, но вот там где я написал русский текст, если он в своем редакторе не укажет правильную кодировку будут в виде кракозябр.

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

Небольшой практикум ASCII

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

Вот таблица символов ASCII:

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка

Тут имеем 3 колонки:

Unicode

С предпосылками создания общей таблицы для всех в мире символов, разобрались. Теперь собственно, к самой таблице. Unicode — именно эта таблица и есть (это не кодировка, а именно таблица символов). Она состоит из 1 114 112 позиций. Большинство этих позиций пока не заполнены символами, так что вряд ли понадобится это пространство расширять.

Разделено это общее пространство на 17 блоков, по 65 536 символов в каждом. Каждый блок содержит свою группу символов. Нулевой блок — базовый, там собраны наиболее употребляемые символы всех современных алфавитов. Во втором блоке находятся символы вымерших языков. Есть два блока отведенные под частное использование. Большинство блоков пока не заполнены.

Итого емкость символов юникода составляет от 0 до 10FFFF (в шестнадцатиричном виде).

Записываются символы в шестнадцатиричном виде с приставкой «U+». Например первый базовый блок включает в себя символы от U+0000 до U+FFFF (от 0 до 65 535), а последний семнадцатый блок от U+100000 до U+10FFFF (от 1 048 576 до 1 114 111).

Отлично теперь вместо зоопарка национальных кодировок, у нас есть всеобъемлющая таблица, в которой зашифрованы все символы которые нам могут пригодиться. Но тут тоже есть свои недостатки. Если раньше каждый символ был закодирован одним байтом, то теперь он может быть закодирован разным количеством байтов. Например для кодирования всех символов английского алфавита по прежнему достаточно одного байта например тот же символ «o» (англ.) имеет в юникоде номер U+006F, то есть тот же самый номер как и в ASCII — 6F в шестнадцатиричной и 111 в десятеричной. А вот для кодирования символа «U+103D5» (это древнеперсидская цифра сто) — 103D5 в шестнадцатиричной и 66 517 в десятеричной, тут нам потребуется уже три байта.

Решить эту проблему уже должны юникод-кодировки, такие как UTF-8 и UTF-16. Далее речь пойдет про них.

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

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

Немного отступлю от темы, надо написать про совместимость ASCII и UTF

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

Сравним на практике как будет выглядеть фраза «Hello мир» в трех разных кодировках: Windows-1251 (русская кодировка), ISO-8859-1 (кодировка западно-европейских языков), UTF-8 (юникод-кодировка). Суть данного примера состоит в том что фраза написана на двух языках. Посмотрим как она будет выглядеть в разных кодировках.

Для чего нужна кодировка. Смотреть фото Для чего нужна кодировка. Смотреть картинку Для чего нужна кодировка. Картинка про Для чего нужна кодировка. Фото Для чего нужна кодировка
В кодировке ISO-8859-1 нет таких символов «м», «и» и «р».

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

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

01001000 01100101 01101100 01101100 01101111 00100000 11101100 11101000 11110000
Отлично, вот это и есть фраза «Hello мир» в кодировке Windows-1251.

Теперь представим что вы имеете файл с текстом, но не знаете в какой кодировке этот текст. Вы предполагаете что он в кодировке ISO-8859-1 и открываете его в своем редакторе в этой кодировке. Как сказано выше с частью символов все в порядке, они есть в этой кодировке, и даже находятся на тех же местах, но вот с символами из слова «мир» все сложнее. Этих символов в этой кодировке нет, а на их местах в кодировке ISO-8859-1 находятся совершенно другие символы. А конкретно «м» — позиция 236, «и» — 232. «р» — 240. И на этих позициях в кодировке ISO-8859-1 находятся следующие символы позиция 236 — символ «ì», 232 — «è», 240 — «ð»

Значит фраза «Hello мир» закодированная в Windows-1251 и открытая в кодировке ISO-8859-1 будет выглядеть так: «Hello ìèð». Вот и получается что эти две кодировки совместимы лишь частично, и корректно перекодировать строку из одной кодировке в другую не получится, потому что там просто напросто нет таких символов.

Тут и будут необходимы юникод-кодировки, а конкретно в данном случае рассмотрим UTF-8. То что символы в ней могут быть закодированы разным количеством байтов от 1 до 4 мы уже выяснили. Теперь стоит сказать что с помощью UTF могут быть закодированы не только 256 символов, как в двух предыдущих, а вобще все символы юникода

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

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

Для двухбайтовых символов первые три бита должны быть такие — 110

для трех-байтовых символов в первом байте ведущие биты — 1110

1110 1000 10 000111 10 1010101 — суммируем все кроме управляющих битов и получаем что в 16-ричной равно 103В5, U+103D5 — древнеперситдская цифра сто ( 10000001111010101 )

для четырех-байтовых символов в первом байте ведущие биты — 11110

11110 100 10 001111 10 111111 10 111111 — U+10FFFF это последний допустимый символ в таблице юникода ( 100001111111111111111 )

Теперь, при желании, можем записать нашу фразу в кодировке UTF-8.

UTF-16

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

Начнем с символов которые кодируются одной кодовой парой. Легко посчитать что таких символов может быть 65 535 (2в16), что полностью совпадает с базовым блоком юникода. Все символы находящиеся в этом блоке юникода в кодировке UTF-16 будут закодированы одной кодовой парой (двумя байтами), тут все просто.

символ «o» (латиница) — 00000000 01101111
символ «M» (кириллица) — 00000100 00011100

Теперь рассмотрим символы за пределами базового юникод диапазона. Для их кодирования потребуется уже две кодовые пары (4 байта). И механизм их кодирования немного сложнее, давайте по порядку.

Для начала введем понятия суррогатной пары. Суррогатная пара — это две кодовые пары используемые для кодирования одного символа (итого 4 байта). Для таких суррогатных пар в таблице юникода отведен специальный диапазон от D800 до DFFF. Это значит, что при преобразовании кодовой пары из байтового вида в шестнадцатиричный вы получаете число из этого диапазона, то перед вами не самостоятельный символ, а суррогатная пара.

Чтобы закодировать символ из диапазона 1000010FFFF (то есть символ для которого нужно использовать более одной кодовой пары) нужно:

Для примера зашифруем символ, а потом расшифруем. Возьмем древнеперсидскую цифру сто (U+103D5):

Источник

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

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