Кодировка юникод таблица. Кодировка Unicode. Юникод и традиционные кодировки

Кодировка юникод таблица. Кодировка Unicode. Юникод и традиционные кодировки

Давления, измеренные на шкале, которая использует нулевое значение в качестве опорной точки, называются абсолютными давлениями. Атмосферное давление на поверхности Земли изменяется, но составляет приблизительно 10 5 Па (1000 мбар). Это абсолютное давление, потому что оно выражается в отношении нулевого.

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

Абсолютное = избыточное + атмосферное.

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

Единицы измерения вакуума и давления

Исторические единицы

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

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

Единица измерения СИ

Единица измерения СИ - это паскаль, сокращенно обозначаемый Па, имя дано давлению одного ньютона на квадратный метр (Н/м 2). В то время как легко визуализировать один квадратный метр, один ньютон сложнее, но он примерно равен нисходящей силе, действующей на руку, когда держит маленькое яблоко (если держатель стоит на поверхности земли!) Что касается повседневной жизни, один паскаль представляет собой очень небольшую величину, при этом атмосферное составляет примерно 100 000 Па. На дне кастрюли, наполненной водой, давление из-за глубины воды будет примерно на 1000 Па больше, чем на поверхности воды. Чтобы избежать использования громоздких чисел, кратным 103 и 0,001 назначаются префиксы, так что, например, 100 000 Па (105 Па) могут быть записаны как 100 кПа или 0,1 МПа.

Единицы измерения вакуума и конвертация

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

Методы измерения вакуума

Общие положения

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

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

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

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

Столб жидкости

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

Манометр, показанный на рисунке, представляет собой, по существу, заполненную жидкостью U-образную трубку, где вертикальное разделение поверхностей жидкости дает измерение разности давлений. На уровне нулевой точки d; давление L, обеспечивается жидкостью над ней, плюс давление p 2 в верхней части трубки. В равновесии колонка поддерживается восходящим давлением p 1 , которое передается через жидкость из другой конечности.

Давление p 1 на нижней поверхности жидкости определяется как:

Где h - вертикальная высота столбца жидкости выше уровня нулевой точки,P Плотность жидкости, g - локальное значение ускорения силы тяжести. Если верхняя труба соединена с атмосферой (р2 = атмосферное давление), то р1 является калибровочным давлением; Если верхняя труба вакуумирована (т. Е. Р2 = ноль), то р1 является абсолютным давлением и прибор становится барометром.

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

Измерение вакуума путём деформации упругого элемента.

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

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

Диафрагмы

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

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

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

Трубка Бурдона

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

Измерения вакуума путём измерения теплопроводности

Для измерения вакуума можно использовать передачу энергии от горячей проволоки через газ. Тепло переносится в газе путем молекулярных столкновений с проволокой, т.е. теплопроводностью, а скорость передачи тепла зависит от теплопроводности газа. Таким образом, точность этих приборов имеет сильную зависимость от состава газа. В области глубокого вакуума, где имеется молекулярный поток (число Кнудсена больше 3, где число Кнудсена = длина свободного пробега / характерный размер системы), теплопередача пропорциональна вакууму. Когда число молекул увеличивается, газ становится более плотным, и молекулы начинают сталкиваться друг с другом чаще. В этой так называемой переходной области потока (или потока скольжения, 0,01 <число Кнудсена <3) простая пропорция теплоотдачи к давлению не действительна. При еще более высоких давлениях (число Кнудсена <0,01) теплопроводность практически не зависит от него. Здесь конвекционное охлаждение горячих поверхностей обычно является основным источником теплообмена.

Вакуумметры Пирани

Тепловые потери от провода (обычно от 5 до 20 мкм) могут быть определены косвенно с помощью мостовой схемы Уитстона, которая нагревает провод и измеряет его сопротивление и, следовательно, его температуру. Существует два основных типа нагреваемых элементов. Традиционная и гораздо более распространенная конфигурация состоит из тонкой металлической проволоки, подвешенной в измерительной головке. Другая конфигурация - микрообработанная структура, обычно изготовленная из кремния, покрытого тонкой металлической пленкой, такой как платина. В обычной конфигурации тонкая металлическая проволока подвешена, по меньшей мере, с одной стороны, электрически изолированной в измерительной головке и находящейся в контакте с газом. Вольфрам, никель, иридий или платина могут быть использованы для проволоки. Провод электрически нагревается, и теплопередача измеряется электронным способом. Существует три общих метода работы: метод постоянной температуры, мост с постоянным напряжением и мост с постоянным током. Все эти методы косвенно измеряют температуру провода по его сопротивлению. Основным недостатком использования датчиков Пирани является их сильная зависимость от состава газа и их ограниченная точность. Воспроизводимость датчиков Пирани, как правило, достаточно хороша до тех пор, пока не произойдет сильное загрязнение. Диапазон измерения вакуума датчиков Пирани составляет приблизительно от 10-2 Па до 105 Па, но наилучшие характеристики обычно получают между приблизительно 0,1 Па и 1000 Па.

Ионизационные датчики измерения вакуума

Когда вакуум в системе ниже приблизительно 0,1 Па (10 -3 мбар), прямые методы измерения вакуума с помощью таких средств, как отклонение диафрагмы или измерение свойств газа, таких как теплопроводность, уже не могут быть легко применимы, Поэтому необходимо прибегнуть к методам, которые в основном подсчитывают количество присутствующих молекул газа, т. е. измеряет плотность, а не вакуум. Из кинетической теории газов для данного газа с известной температурой Т давление р непосредственно связано с плотностью числа n через уравнение (в пределе идеального газа):

Где с - постоянная. Одним из наиболее удобных методов измерения плотности числа является использование некоторой методики ионизации молекул газа и последующего сбора ионов. В большинстве практических вакуумных датчиков для осуществления ионизации используются электроны с умеренной энергией (50 эВ до 150 эВ). Результирующий ионный ток напрямую связан с вакуумом и, таким образом, может быть выполнена калибровка. Последнее утверждение верно только в отношении конечного диапазона давлений, который определит рабочий диапазон прибора. Верхний предел давления будет достигнут, когда плотность газа будет достаточно большой, что при создании иона имеет значительную вероятность взаимодействия с молекулами нейтрального газа или свободными электронами в газе, так что ион сам нейтрализуется и не может достичь коллектора, для практических целей в типичных лабораторных системах или промышленных установках это можно принять за 0,1 Па (10 -3 мбар).

Нижний предел вакуума манометра будет достигнут, когда электрический ток утечки в измерительной головке или измерительной электронике станет сравнимым с измеряемым ионным током или когда другой физический эффект (например, влияние посторонних рентгеновских лучей) вызовет появление токов этого величина. Для большинства датчиков, описанных в Руководстве, эти пределы лежат ниже 10 -6 Па (10 -8 мбар).

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

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

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

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

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

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

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

    Глубина измерения вакуума

    Характеристики среды

    Внешняя среда

    Физические характеристики прибора

    Тип использования

    Безопасность

    Установка и обслуживание

    Преобразование сигнала

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

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

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

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

Строго говоря, техническим вакуумом называют газ в сосуде или трубопроводе с давлением ниже, чем в окружающей атмосфере. Согласно другому определению, когда молекулы или атомы газа перестают сталкиваться друг с другом, и газодинамические свойства сменяются вязкостными (при давлении около 1 торр ) говорят о достижении низкого вакуума () (10 16 молекул на 1 см³ ). Обычно между атмосферным воздухом и высоковакуумным насосом стоит так называемый форвакуумный насос, создавая предварительное разрежение, поэтому низкий вакуум часто называют форвакуум . При дальнейшем понижении давления в камере увеличивается средняя длина свободного пробега λ молекул газа. При молекулы газа гораздо чаще сталкиваются со стенками, чем друг с другом. В этом случае говорят о высоком вакууме (10 −5 торр ) (10 11 молекул на 1 см³ ). Сверхвысокий вакуум соответствует давлению 10 −9 торр и ниже. В сверхвысоком вакууме, например, обычно проводятся эксперименты с использованием сканирующего туннельного микроскопа . Для сравнения, давление в космосе на несколько порядков ниже, в дальнем же космосе и вовсе может достигать 10 −16 торр и ниже (1 молекула на 1 см³ ).

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

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

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

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

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

Физический вакуум

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

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

См. также

  • Диэлектрическая проницаемость вакуума
  • Вакуумное среднее
  • Вакуумный конденсат

Применения:

Примечания

Литература

  • L. B. Okun On the concepts of vacuum and mass and the search for higgs (англ.) // Modern Physics Letters A . - 2012. - Vol. 27. - P. 1230041. - DOI :10.1142/S0217732312300418 - arΧiv :1212.1031

Wikimedia Foundation . 2010 .

Синонимы :

Смотреть что такое "Вакуум" в других словарях:

    Первая часть сложных слов. Обозначает отнесённость к вакууму, пространству с выкачанным воздухом; вакуумный. Вакуум аппарат, вакуум камера, вакуум измерительный, вакуум костюм, вакуум насос, вакуум процесс, вакуум установка, вакуум фильтр, вакуум … Энциклопедический словарь

    - (лат., от vacare делать пустым). Пустое безвоздушное пространство. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. ВАКУУМ безвоздушное пространство. В. аппарат котел, в котором вываривают, под безвоздушным… …

    ВАКУУМ, область чрезвычайно низкого давления. В межзвездном пространстве царит высокий вакуум, со средней плотностью менее 1 молекулы на кубический сантиметр. Самый разреженный вакуум, созданный человеком, менее 100000 молекул на кубический… … Научно-технический энциклопедический словарь

    Вакуум... вакуум... (… Словарь иностранных слов русского языка

    Разрежение, пустота; пустое пространство, форвакуум, монжюс, отсутствие, недостаток Словарь русских синонимов. вакуум см. пустота Словарь синонимов русского языка. Практический справочник. М.: Русский язык. З. Е. Александрова … Словарь синонимов

    вакуум - Состояние среды, абсолютное давление которой меньше атмосферного [ГОСТ 5197 85] вакуум Состояние жидкости, характеризующееся отрицательным избыточным давлением. [СО 34.21.308 2005] вакуум разрежение Давление газа ниже атмосферного. Примечание… … Справочник технического переводчика

    - (от латинского vacuum пустота), состояние газа при давлениях p, более низких, чем атмосферное. Различают низкий вакуум (например, в вакуумных приборах), которому соответствует область давлений p>1 мм ртутного столба; средний: 10 3 мм ртутного… … Современная энциклопедия

    - (от лат. vacuum пустота) состояние газа при давлениях p, более низких, чем атмосферное. Различают низкий вакуум (в вакуумных приборах и установках ему соответствует область давлений p выше 100 Па), средний (0,1 Па p 100 Па), высокий (10 5 Па p… … Большой Энциклопедический словарь

    ВАКУУМ: ВАКУУМ... и ВАКУУМ... Первая часть сложных слов со знач. относящийся к вакууму (в 1 знач.), напр. вакуумметр, вакуум аппарат, вакуумкамера. Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 … Толковый словарь Ожегова

    Вакуум... и ВАКУУМ... Первая часть сложных слов со относящийся к вакууму (в 1 знач.), напр. вакуумметр, вакуум аппарат, вакуумкамера. Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 … Толковый словарь Ожегова

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

Чтобы по-настоящему разобраться с Юникодом нужно хотя бы поверхностно представлять себе особенности всех письменностей, с которыми позволяет работать стандарт. Но так ли это нужно каждому разработчику? Мы скажем, что нет. Для использования Юникода в большинстве повседневных задач, достаточно владеть разумным минимумом сведений, а дальше углубляться в стандарт по мере необходимости.

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

Зачем понадобился Юникод?

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

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

У такого подхода в целом и однобайтовых кодировок в частности был ряд существенных недостатков:

  1. Можно было одновременно работать лишь с 256 символами, причём первые 128 были зарезервированы под латинские и управляющие символы, а во второй половине кроме символов национального алфавита нужно было найти место для символов псевдографики (╔ ╗).
  2. Шрифты были привязаны к конкретной кодировке.
  3. Каждая кодировка представляла свой набор символов и конвертация из одной в другую была возможна только с частичными потерями, когда отсутствующие символы заменялись на графически похожие.
  4. Перенос файлов между устройствами под управлением разных операционных систем был затруднителен. Нужно было либо иметь программу-конвертер, либо таскать вместе с файлом дополнительные шрифты. Существование Интернета каким мы его знаем было невозможным.
  5. В мире существуют неалфавитные системы письма (иероглифическая письменность), которые в однобайтной кодировке непредставимы в принципе.

Основные принципы Юникода

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

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

Вводится понятие абстрактного юникод-символа, существующего исключительно в виде умозрительной концепции и договорённости между людьми, закреплённой стандартом. Каждому юникод-символу поставлено в соответствие неотрицательное целое число, именуемое его кодовой позицией (code point).

Так, например, юникод-символ U+041F - это заглавная кириллическая буква П. Существует несколько возможностей представления данного символа в памяти компьютера, ровно как и несколько тысяч способов отображения его на экране монитора. Но при этом П, оно и в Африке будет П или U+041F.

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

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

Привет U+041F U+0440 U+0438 U+0432 U+0435 U+0442

записать на листочке, упаковать в конверт и переслать в любой конец Земли. Если там знают о существовании Юникода, то текст будет воспринят ими ровно так же, как и нами с вами. У них не будет ни малейших сомнений, что предпоследний символ - это именно кириллическая строчная е (U+0435), а не скажем латинская маленькая e (U+0065). Обратите внимание, что мы ни слова не сказали о байтовом представлении.

Кодовое пространство Юникода

Кодовое пространство Юникода состоит из 1 114 112 кодовых позиций в диапазоне от 0 до 10FFFF. Из них к девятой версии стандарта значения присвоены лишь 128 237. Часть пространства зарезервирована для частного использования и консорциум Юникода обещает никогда не присваивать значения позициям из этих специальный областей.

Ради удобства всё пространство поделено на 17 плоскостей (сейчас задействовано шесть их них). До недавнего времени было принято говорить, что скорее всего вам придётся столкнуться только с базовой многоязыковой плоскостью (Basic Multilingual Plane, BMP), включающей в себя юникод-символы от U+0000 до U+FFFF. (Забегая немного вперёд: символы из BMP представляются в UTF-16 двумя байтами, а не четырьмя). В 2016 году этот тезис уже вызывает сомнения. Так, например, популярные символы Эмодзи вполне могут встретиться в пользовательском сообщении и нужно уметь их корректно обрабатывать.

Кодировки

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

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

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

Из юникод-кодировок самой распространённой в Интернете является UTF-8 (она завоевала пальму первенства в 2008 году), главным образом благодаря её экономичности и прозрачной совместимости с семибитной ASCII. Латинские и служебные символы, основные знаки препинания и цифры - т.е. все символы семибитной ASCII - кодируются в UTF-8 одним байтом, тем же, что и в ASCII. Символы многих основных письменностей, не считая некоторых более редких иероглифических знаков, представлены в ней двумя или тремя байтами. Самая большая из определённых стандартом кодовых позиций - 10FFFF - кодируется четырьмя байтами.

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

Если вы пересылаете по сети HTML-страницу с кириллическим текстом, то UTF-8 может дать весьма ощутимый выигрыш, т.к. вся разметка, а также JavaScript и CSS блоки будут эффективно кодироваться одним байтом. К примеру главная страница Хабра в UTF-8 занимает 139Кб, а в UTF-16 уже 256Кб. Для сравнения, если использовать win-1251 с потерей возможности сохранять некоторые символы, то размер сократится всего на 11Кб.

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

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

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

В сухом остатке

Информации много и имеет смысл привести краткую выжимку всего, что было написано выше:

  • Юникод постулирует чёткое разграничение между символами, их представлением в компьютере и их отображением на устройстве вывода.
  • Кодовое пространство Юникода состоит из 1 114 112 кодовых позиций в диапазоне от 0 до 10FFFF.
  • Базовая многоязыковая плоскость включает в себя юникод-символы от U+0000 до U+FFFF, которые кодируются в UTF-16 двумя байтами.
  • Любая юникод-кодировка позволяет закодировать всё пространство кодовых позиций Юникода и конвертация между различными такими кодировками осуществляется без потерь информации.
  • Однобайтные кодировки позволяют закодировать лишь небольшую часть юникод-спектра, но могут оказаться полезными при работе с большим объёмом моноязыковой информации.
  • Кодировки UTF-8 и UTF-16 обладают переменной длиной кода. В UTF-8 каждый юникод-символ может быть закодирован одним, двумя, тремя или четырьмя байтами. В UTF-16 - двумя или четырьмя байтами.
  • Внутренний формат хранения текстовой информации в рамках отдельного приложения может быть произвольным при условии корректной работы со всем пространством кодовых позиций Юникода и отсутствии потерь при трансграничной передаче данных.

Краткое замечание про кодирование

С термином кодирование может произойти некоторая путаница. В рамках Юникода кодирование происходит дважды. Первый раз кодируется набор символов Юникода (character set), в том смысле, что каждому юникод-символу ставится с соответствие кодовая позиция. В рамках этого процесса набор символов Юникода превращается в кодированный набор символов (coded character set). Второй раз последовательность юникод-символов преобразуется в строку байтов и этот процесс также называется кодирование.

В англоязычной терминологии существуют два разных глагола to code и to encode, но даже носители языка зачастую в них путаются. К тому же термин набор символов (character set или charset) используется в качестве синонима к термину кодированный набор символов (coded character set).

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

В заключение

В Юникоде так много различных аспектов, что осветить всё в рамках одной статьи невозможно. Да и ненужно. Приведённой выше информации вполне достаточно, чтобы не путаться в основных принципах и работать с текстом в большинстве повседневных задач (читай: не выходя за рамки BMP). В следующих статьях мы расскажем о нормализации, дадим более полный исторический обзор развития кодировок, побеседуем о проблемах русскоязычной юникод-терминологии, а также сделаем материал о практических аспектах использования UTF-8 и UTF-16.

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

Вставить символ в html-документ можно одним из способов:

  1. скопировать изображение символа из окна браузера в окно своего визуального html-редактора
  2. скопировать html-код символа непосредственно в код html-документа
Унимаем, что это два разных способа:
  1. вставлять визуальное в визуальное
  2. вставлять код в код.

Шрифт для символа, его размер и цвет в HTML можно задать кодом, вида:
КОД_СИМВОЛА
где,
Arial - шрифт,
10px - размер шрифта в пикселях,
#ff0000 - код цвета шрифта (красный)

Например:
☎ - размер шрифта символа 30px,
☎ - размер шрифта символа 30px, цвет - красный
☎ - размер шрифта символа 20px,
☎ - размер шрифта символа 10px.
Прим. Рекомендуемые шрифты для вставки спецсимволов - Arial, Verdana и Tahoma. Эти шрифты корректно отображают символы Юникод и сами, в свою очередь, корректно поддерживаются веб-приложениями.

  1. «Символ»
    (видимое отображение символа)
    Из этой графы можно скопировать изображение символа и вставить его в окно текстового html-редактора. Символ скопируется с размером шрифта 20px. После завершения копирования может потребоваться индивидуальная подгонка размера шрифта непосредственно для скопированного знака.
  2. «Наименование»
    (только для важных или непонятных символов)
    Пояснение назначения символа, его область применения, примеры...
  3. «Мнемоника»
    Мнемоника - это буквенная конструкция вида ", обозначающая буквенный код символа в HTML. Вставляется непосредственно в html-код html-документа. Мнемоники очень популярны среди профессиональных верстальщиков. Они прекрасно запоминаются человеком и поддерживаются всеми html-приложениями. Каждая мнемоника содержит буквенное имя (обозначение) своего символа и служебный знак (&), который служит сигналом к прочтению кода для браузера и не отображается на экране монитора. Имя каждой мнемоники уникально и легко читаемо, потому что образовано от англоязычного слова, характеризующего символ.

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

  4. «Код»
    Код - числовой десятичный код символа в HTML, вида &. Вставляется непосредственно в html-код html-документа. Числовой десятичный код состоит из числа, обозначающего порядковый номер символа в системе Юникод и нескольких служебных знаков (& и #), которые служат сигналом к прочтению кода для браузера и не отображаются на экране монитора. Числовой десятичный код имеет широкое распространение и применение, благодаря своей универсальности и простоте восприятия.

Символы управления в HTML (XHTML)

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

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

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

Синтаксис и пунктуация

пробел длины N (обычный пробел)
пробел длины M (длинныйпробел)
- мягкий перенос (непечатный знак) - ­
дефис –
- тире длины N (обычное тире) -
тире длины M (длинное тире)
. точка .
, запятая ,
многоточие …
: двоеточие :
; точка с запятой ;
! знак восклицания !
ǃ
? вопросительный знак ?
@ «собачка» @
* «звездочка» *
# «решетка» #
одиночная верхняя левая кавычка ‘
одиночная верхняя правая кавычка ’
одиночная нижняя правая кавычка ‚
двойная верхняя левая кавычка “
двойная верхняя правая кавычка ”
двойная нижняя правая кавычка &bdquo „
« двойная левая угловая кавычка (рус) « «
» двойная правая угловая кавычка (рус) » »
́ знак ударения, пример: Вася́ ́
" апостроф, пример: Вас"я "
´ акут, пример: Вас´я ´ ´
абзац (непечатный знак)
§ параграф § §
ˆ акцент (перевёрнутая птичка) ˆ ˆ
ˆ
˜ малая тильда ˜ ˜
˜
¦ вертикальный пунктир ¦ ¦
( круглая скобка влево (
) круглая скобка вправо )
угловая скобка влево
угловая скобка вправо
угловая скобка влево, вариант
угловая скобка вправо, вариант
[ квадратная скобка влево [
] квадратная скобка вправо ]
/ слэш (slash) - cимвол косой черты /
\ обратный слэш (backslash) \
косая дробная черта (знак деления)
ǀ вертикальная черта ǀ
ǁ двойная вертикальная черта ǁ
надчеркивание, пример: Вася‾вася
¯ macron, пример: Вася¯вася ¯ ¯

Товарные знаки и валюта

+ плюс + +
минус -
= равно =
± плюс-минус ± ±
× знак умножения × ×
÷ знак деления ÷ ÷
оператор «точка» (середина строки) ·
оператор «звёздочка» (середина строки)
оператор «тильда»
. маркер списка (середина строки) . •
¹ верхний индекс «1» ¹ ¹
² верхний индекс «2» ² ²
³ верхний индекс «3» ³ ³
Надстрочный и подстрочный индекс в HTML (XHTML)
можно вставить при помощи тегов и , соответственно:
ЧИСЛОНадстрочный индекс → ЧИСЛО Надстрочный индекс
ЧИСЛОПодстрочный индекс → ЧИСЛО Подстрочный индекс
½ дробь «одна вторая» ½ ½
дробь «одна треть»
¼ дробь «одна четвёртая» ¼ ¼
¾ дробь «три четверти» ¾ ¾
знак номера
% процент %
промилле ‰
° градусы ° °
штрих (минуты, футы)
двойной штрих (секунды, дюймы)
Пример 1: 30° 25′ 12″
Пример 2: 25′ 12
µ микро µ µ
π Пи π π
ƒ знак функции
(не путать с «интеграл»)
ƒ ƒ
ƒ
интеграл
перечеркнутый ноль, пустое множество
(не путать с «диаметр»)
диаметр (не путать с перечёркнутой латинской «о»)
ø латинская "o" диагонально перечёркнутая ø ø
Ø латинская заглавная "O" диагонально перечёркнутая Ø Ø
знак произведения
знак суммирования
радикал
(квадратный корень или корень степени x)
пропорционально
бесконечность
угол
ортогонально (перпендикулярно)
знак «cледовательно»
приблизительно равно
почти равно
не равно
идентично
меньше или равно
больше или равно
логическое И
логическое ИЛИ
знак «плюс в круге»
(прямая сумма)
знак «умножение в круге»
(векторное произведение, стрела от наблюдателя)
ʘ точка в круге
(стрела на наблюдателя)
ʘ

✵ ✵

Юникод

Материал из Википедии - свободной энциклопедии

Перейти к: навигация , поиск

Юнико́д (чаще всего) или Унико́д (англ. Unicode ) - стандарт кодирования символов , позволяющий представить знаки практически всех письменных языков .

Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium , Unicode Inc . ). Применение этого стандарта позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы , математические символы, буквы греческого алфавита , латиницы и кириллицы , при этом становится ненужным переключение кодовых страниц .

Стандарт состоит из двух основных разделов: универсальный набор символов (англ. UCS, universal character set ) и семейство кодировок (англ . UTF, Unicode transformation format ). Универсальный набор символов задаёт однозначное соответствие символов кодам - элементам кодового пространства, представляющим неотрицательные целые числа. Семейство кодировок определяет машинное представление последовательности кодов UCS.

Коды в стандарте Юникод разделены на несколько областей. Область с кодами от U+0000 до U+007F содержит символы набора ASCII с соответствующими кодами. Далее расположены области знаков различных письменностей, знаки пунктуации и технические символы. Часть кодов зарезервирована для использования в будущем. Под символы кириллицы выделены области знаков с кодами от U+0400 до U+052F, от U+2DE0 до U+2DFF, от U+A640 до U+A69F (см. Кириллица в Юникоде ).

    1 Предпосылки создания и развитие Юникода

    2 Версии Юникода

    3 Кодовое пространство

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

    5 Модифицирующие символы

    6 Формы нормализации

    • 6.1 Примеры

    7 Двунаправленное письмо

    8 Представленные символы

    9 ISO/IEC 10646

    10 Способы представления

    • 10.1 UTF-8

      10.2 Порядок байтов

      10.3 Юникод и традиционные кодировки

      10.4 Реализации

    11 Методы ввода

    • 11.1 Microsoft Windows

      11.2 Macintosh

      11.3 GNU/Linux

    12 Проблемы Юникода

    13 «Юникод» или «Уникод»?

    14 См. также

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

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

    Проблема «кракозябр » (отображения документов в неправильной кодировке): её можно было решить либо последовательным внедрением методов указания используемой кодировки, либо внедрением единой для всех кодировки.

    Проблема ограниченности набора символов: её можно было решить либо переключением шрифтов внутри документа, либо внедрением «широкой» кодировки. Переключение шрифтов издавна практиковалось в текстовых процессорах , причём часто использовались шрифты с нестандартной кодировкой , т. н. «dingbat fonts» - в итоге при попытке перенести документ в другую систему все нестандартные символы превращались в кракозябры.

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

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

Было признано необходимым создание единой «широкой» кодировки. Кодировки с переменной длиной символа, широко использующиеся в Восточной Азии, были признаны слишком сложными в использовании, поэтому было решено использовать символы фиксированной ширины. Использование 32-битных символов казалось слишком расточительным, поэтому было решено использовать 16-битные.

Таким образом, первая версия Юникода представляла собой кодировку с фиксированным размером символа в 16 бит, то есть общее число кодов было 2 16 (65 536). Отсюда происходит практика обозначения символов четырьмя шестнадцатеричными цифрами (например, U+04F0). При этом в Юникоде планировалось кодировать не все существующие символы, а только те, которые необходимы в повседневном обиходе. Редко используемые символы должны были размещаться в «области пользовательских символов» (private use area), которая первоначально занимала коды U+D800…U+F8FF. Чтобы использовать Юникод также и в качестве промежуточного звена при преобразовании разных кодировок друг в друга, в него включили все символы, представленные во всех наиболее известных кодировках.

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

Поскольку в ряде компьютерных систем (например, Windows NT ) фиксированные 16-битные символы уже использовались в качестве кодировки по умолчанию, было решено все наиболее важные знаки кодировать только в пределах первых 65 536 позиций (так называемая англ. basic multilingual plane , BMP ). Остальное пространство используется для «дополнительных символов» (англ. supplementary characters ): систем письма вымерших языков или очень редко используемых китайских иероглифов, математических и музыкальных символов.

Для совместимости со старыми 16-битными системами была изобретена система UTF-16 , где первые 65 536 позиций, за исключением позиций из интервала U+D800…U+DFFF, отображаются непосредственно как 16-битные числа, а остальные представляются в виде «суррогатных пар» (первый элемент пары из области U+D800…U+DBFF, второй элемент пары из области U+DC00…U+DFFF). Для суррогатных пар была использована часть кодового пространства (2048 позиций), ранее отведённого для «символов для частного использования».

Поскольку в UTF-16 можно отобразить только 2 20 +2 16 −2048 (1 112 064) символов, то это число и было выбрано в качестве окончательной величины кодового пространства Юникода.

Хотя кодовая область Юникода была расширена за пределы 2 16 уже в версии 2.0, первые символы в «верхней» области были размещены только в версии 3.1.

Роль этой кодировки в веб-секторе постоянно растёт, на начало 2010 доля веб-сайтов, использующих Юникод, составила около 50 %.

Версии Юникода

По мере изменения и пополнения таблицы символов системы Юникода и выхода новых версий этой системы, - а эта работа ведётся постоянно, поскольку изначально система Юникод включала только Plane 0 - двухбайтные коды, - выходят и новые документы ISO . Система Юникод существует в общей сложности в следующих версиях:

    1.1 (соответствует стандарту ISO/IEC 10646-1:1993 ), стандарт 1991-1995 годов.

    2.0, 2.1 (тот же стандарт ISO/IEC 10646-1:1993 плюс дополнения: «Amendments» с 1-го по 7-е и «Technical Corrigenda» 1 и 2), стандарт 1996 года.

    3.0 (стандарт ISO/IEC 10646-1:2000), стандарт 2000 года.

    3.1 (стандарты ISO/IEC 10646-1:2000 и ISO/IEC 10646-2:2001), стандарт 2001 года.

    3.2, стандарт 2002 года .

    4.0, стандарт 2003 .

    4.01, стандарт 2004 .

    4.1, стандарт 2005 .

    5.0, стандарт 2006 .

    5.1, стандарт 2008 .

    5.2, стандарт 2009 .

    6.0, стандарт 2010 .

    6.1, стандарт 2012 .

    6.2, стандарт 2012 .

Кодовое пространство

Хотя формы записи UTF-8 и UTF-32 позволяют кодировать до 2 31 (2 147 483 648) кодовых позиций, было принято решение использовать лишь 1 112 064 для совместимости с UTF-16. Впрочем, даже и этого на текущий момент более чем достаточно - в версии 6.0 используется чуть менее 110 000 кодовых позиций (109 242 графических и 273 прочих символов).

Кодовое пространство разбито на 17 плоскостей по 2 16 (65536) символов. Нулевая плоскость называется базовой , в ней расположены символы наиболее употребительных письменностей. Первая плоскость используется, в основном, для исторических письменностей, вторая - для редко используемых иероглифов ККЯ , третья зарезервирована для архаичных китайских иероглифов . Плоскости 15 и 16 выделены для частного употребления.

Для обозначения символов Unicode используется запись вида «U+xxxx » (для кодов 0…FFFF), или «U+xxxxx » (для кодов 10000…FFFFF), или «U+xxxxxx » (для кодов 100000…10FFFF), где xxx - шестнадцатеричные цифры. Например, символ «я» (U+044F) имеет код 044F 16 = 1103 10 .

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

Универсальная система кодирования (Юникод) представляет собой набор графических символов и способ их кодирования для компьютерной обработки текстовых данных.

Графические символы - это символы, имеющие видимое изображение. Графическим символам противопоставляются управляющие символы и символы форматирования.

Графические символы включают в себя следующие группы:

  • знаки пунктуации;

    специальные знаки (математические , технические, идеограммы и пр.);

    разделители.

Юникод - это система для линейного представления текста. Символы, имеющие дополнительные над- или подстрочные элементы, могут быть представлены в виде построенной по определённым правилам последовательности кодов (составной вариант, composite character) или в виде единого символа (монолитный вариант, precomposed character).

Модифицирующие символы

Представление символа «Й» (U+0419) в виде базового символа «И» (U+0418) и модифицирующего символа « ̆» (U+0306)

Графические символы в Юникоде подразделяются на протяжённые и непротяжённые (бесширинные). Непротяжённые символы при отображении не занимают места в строке . К ним относятся, в частности, знаки ударения и прочие диакритические знаки . Как протяжённые, так и непротяжённые символы имеют собственные коды. Протяжённые символы иначе называются базовыми (англ. base characters ), а непротяжённые - модифицирующими (англ. combining characters ); причём последние не могут встречаться самостоятельно. Например, символ «á» может быть представлен как последовательность базового символа «a» (U+0061) и модифицирующего символа « ́» (U+0301) или как монолитный символ «á» (U+00C1).

Особый тип модифицирующих символов - селекторы варианта начертания (англ. variation selectors ). Они действуют только на те символы, для которых такие варианты определены. В версии 5.0 варианты начертания определены для ряда математических символов, для символов традиционного монгольского алфавита и для символов монгольского квадратного письма .

Формы нормализации

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

В стандарте Юникода определены 4 формы нормализации текста:

    Форма нормализации D (NFD) - каноническая декомпозиция. В процессе приведения текста в эту форму все составные символы рекурсивно заменяются на несколько составных, в соответствии с таблицами декомпозиции.

    Форма нормализации C (NFC) - каноническая декомпозиция с последующей канонической композицией. Сначала текст приводится к форме D, после чего выполняется каноническая композиция - текст обрабатывается от начала к концу и выполняются следующие правила:

    • Символ S является начальным , если он имеет нулевой класс модификации в базе символов Юникода.

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

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

      Символ X может быть первично совмещён с символом Y, если и только если существует первичный композит Z, канонически эквивалентный последовательности .

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

    Форма нормализации KD (NFKD) - совместимая декомпозиция. При приведении в эту форму все составные символы заменяются, используя как канонические карты декомпозиции Юникода, так и совместимые карты декомпозиции, после чего результат ставится в каноническом порядке.

    Форма нормализации KC (NFKC) - совместимая декомпозиция с последующей канонической композицией.

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

Примеры

Исходный текст

\u0410, \u0401, \u0419

\u0410, \u0415\u0308, \u0418\u0306

\u0410, \u0401, \u0419

Двунаправленное письмо

Стандарт Юникод поддерживает письменности языков как с направлением написания слева направо (англ. left - to - right , LTR ), так и с написанием справа налево (англ. right - to - left , RTL ) - например, арабское и еврейское письмо. В обоих случаях символы хранятся в «естественном» порядке; их отображение с учётом нужного направления письма обеспечивается приложением.

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

Представленные символы

Основная статья: Символы, представленные в Юникоде

Схема базовой плоскости Unicode, см. описание

Юникод включает практически все современные письменности , в том числе:

    арабскую ,

    армянскую ,

    бенгальскую ,

    бирманскую ,

    глаголицу ,

    греческую ,

    грузинскую ,

    деванагари ,

    еврейскую ,

    кириллицу ,

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

    коптскую ,

    кхмерскую ,

    латинскую ,

    тамильскую ,

    корейскую (хангыль) ,

    чероки ,

    эфиопскую ,

    японскую (которая включает в себя кроме китайских иероглифов ещё и слоговую азбуку ),

и другие.

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

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

Однако в Юникод принципиально не включаются логотипы компаний и продуктов, хотя они и встречаются в шрифтах (например, логотип Apple в кодировке MacRoman (0xF0) или логотип Windows в шрифте Wingdings (0xFF)). В юникодовских шрифтах логотипы должны размещаться только в области пользовательских символов.

ISO/IEC 10646

Консорциум Юникода работает в тесной связи с рабочей группой ISO/IEC/JTC1/SC2/WG2, которая занимается разработкой международного стандарта 10646 (ISO /IEC 10646). Между стандартом Юникода и ISO/IEC 10646 установлена синхронизация, хотя каждый стандарт использует свою терминологию и систему документации.

Сотрудничество Консорциума Юникода с Международной организацией по стандартизации (англ. International Organization for Standardization, ISO ) началось в 1991 году . В 1993 году ISO выпустила стандарт DIS 10646.1. Для синхронизации с ним Консорциум утвердил стандарт Юникода версии 1.1, в который были внесены дополнительные символы из DIS 10646.1. В результате значения закодированных символов в Unicode 1.1 и DIS 10646.1 полностью совпали.

В дальнейшем сотрудничество двух организаций продолжилось. В 2000 году стандарт Unicode 3.0 был синхронизирован с ISO/IEC 10646-1:2000. Предстоящая третья версия ISO/IEC 10646 будет синхронизирована с Unicode 4.0. Возможно, эти спецификации даже будут опубликованы как единый стандарт.

Аналогично форматам UTF-16 и UTF-32 в стандарте Юникода, стандарт ISO/IEC 10646 также имеет две основные формы кодирования символов: UCS-2 (2 байта на символ, аналогично UTF-16) и UCS-4 (4 байта на символ, аналогично UTF-32). UCS значит универсальный многооктетный (многобайтовый) кодированный набор символов (англ. universal multiple - octet coded character set ). UCS-2 можно считать подмножеством UTF-16 (UTF-16 без суррогатных пар), а UCS-4 является синонимом для UTF-32.

Способы представления

Юникод имеет несколько форм представления (англ. Unicode transformation format, UTF ): UTF-8 , UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). Была разработана также форма представления UTF-7 для передачи по семибитным каналам, но из-за несовместимости с ASCII она не получила распространения и не включена в стандарт. 1 апреля 2005 года были предложены две шуточные формы представления: UTF-9 и UTF-18 (RFC 4042 ).

В Microsoft Windows NT и основанных на ней системах Windows 2000 и Windows XP в основном используется форма UTF-16LE. В UNIX -подобных операционных системах GNU/Linux , BSD и Mac OS X принята форма UTF-8 для файлов и UTF-32 или UTF-8 для обработки символов в оперативной памяти .

Punycode - другая форма кодирования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах.

Основная статья: UTF-8

UTF-8 - представление Юникода, обеспечивающее наилучшую совместимость со старыми системами, использовавшими 8-битные символы. Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII . И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт (на деле, только до 4 байт, поскольку в Юникоде нет символов с кодом больше 10FFFF, и вводить их в будущем не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные - 10xxxxxx.

Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9 . Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.

Символы UTF-8 получаются из Unicode следующим образом :

0x00000000 - 0x0000007F: 0xxxxxxx

0x00000080 - 0x000007FF: 110xxxxx 10xxxxxx

0x00000800 - 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx

0x00010000 - 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Теоретически возможны, но не включены в стандарт также:

0x00200000 - 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

0x04000000 - 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

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

Порядок байтов

В потоке данных UTF-16 старший байт может записываться либо перед младшим (англ. UTF-16 little-endian ), либо после младшего (англ . UTF-16 big-endian ). Аналогично существует два варианта четырёхбайтной кодировки - UTF-32LE и UTF-32BE.

Для определения формата представления Юникода в начало текстового файла записывается сигнатура - символ U+FEFF (неразрывный пробел с нулевой шириной), также именуемый меткой порядка байтов (англ. byte order mark , BOM ). Это позволяет различать UTF-16LE и UTF-16BE, поскольку символа U+FFFE не существует. Также этот способ иногда применяется для обозначения формата UTF-8, хотя к этому формату и неприменимо понятие порядка байтов. Файлы, следующие этому соглашению, начинаются с таких последовательностей байтов:

К сожалению, этот способ не позволяет надёжно различать UTF-16LE и UTF-32LE, поскольку символ U+0000 допускается Юникодом (хотя реальные тексты редко начинаются с него).

Файлы в кодировках UTF-16 и UTF-32, не содержащие BOM, должны иметь порядок байтов big-endian (unicode.org ).

Юникод и традиционные кодировки

Внедрение Юникода привело к изменению подхода к традиционным 8-битным кодировкам. Если раньше кодировка задавалась шрифтом, то теперь она задаётся таблицей соответствия между данной кодировкой и Юникодом. Фактически 8-битные кодировки превратились в форму представления некоторого подмножества Юникода. Это намного упростило создание программ, которые должны работать с множеством разных кодировок: теперь, чтобы добавить поддержку ещё одной кодировки, надо всего лишь добавить ещё одну таблицу перекодировки в Юникод.

Кроме того, многие форматы данных позволяют вставлять любые символы Юникода, даже если документ записан в старой 8-битной кодировке. Например, в HTML можно использовать коды с амперсандом .

Реализации

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

В операционных системах семейства Windows NT для внутреннего представления имён файлов и других системных строк используется двухбайтовая кодировка UTF-16LE. Системные вызовы, принимающие строковые параметры, существуют в однобайтном и двухбайтном вариантах. Подробнее см. в статье .

UNIX -подобные операционные системы, в том числе GNU/Linux , BSD , Mac OS X , используют для представления Юникода кодировку UTF-8. Большинство программ могут работать с UTF-8 как с традиционными однобайтными кодировками, не обращая внимания на то, что символ представляется как несколько последовательных байт. Для работы с отдельными символами строки обычно перекодируются в UCS-4, так что каждому символу соответствует машинное слово .

Одной из первых успешных коммерческих реализаций Юникода стала среда программирования Java . В ней принципиально отказались от 8-битного представления символов в пользу 16-битного. Это решение увеличивало расход памяти, но позволило вернуть в программирование важную абстракцию: произвольный одиночный символ (тип char). В частности, программист мог работать со строкой, как с простым массивом. К сожалению, успех не был окончательным, Юникод перерос ограничение в 16 бит и к версии J2SE 5.0 произвольный символ снова стал занимать переменное число единиц памяти - один char или два (см. суррогатная пара ).

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

Методы ввода

Поскольку ни одна раскладка клавиатуры не может позволить вводить все символы Юникода одновременно, от операционных систем и прикладных программ требуется поддержка альтернативных методов ввода произвольных символов Юникода.

Microsoft Windows

Основная статья: Юникод в операционных системах Microsoft

Начиная с Windows 2000 , служебная программа «Таблица символов» (charmap.exe) показывает все символы в ОС и позволяет копировать их в буфер обмена . Похожая таблица есть, например, в Microsoft Word .

Иногда можно набрать шестнадцатеричный код, нажать Alt +X, и код будет заменён на соответствующий символ, например, в WordPad , Microsoft Word. В редакторах Alt+X выполняет и обратное преобразование.

Во многих программах MS Windows, чтобы получить символ Unicode, нужно при нажатой клавише Alt набрать десятичное значение кода символа на цифровой клавиатуре. Например, полезными при наборе кириллических текстов будут комбинации Alt+0171 («) и Alt+0187 (»). Интересны также комбинации Alt+0133 (…) и Alt+0151 (-).

Macintosh

В Mac OS 8.5 и более поздних версиях поддерживается метод ввода, называемый «Unicode Hex Input». При зажатой клавише Option требуется набрать четырёхзначный шестнадцатеричный код требуемого символа. Этот метод позволяет вводить символы с кодами, большими U+FFFF, используя пары суррогатов; такие пары операционной системой будут автоматически заменены на одиночные символы. Этот метод ввода перед использованием нужно активизировать в соответствующем разделе системных настроек и затем выбрать как текущий метод ввода в меню клавиатуры.

Начиная с Mac OS X 10.2, существует также приложение «Character Palette», позволяющее выбирать символы из таблицы, в которой можно выделять символы определённого блока или символы, поддерживаемые конкретным шрифтом.

GNU/Linux

В GNOME также есть утилита «Таблица символов», позволяющая отображать символы определённого блока или системы письма и предоставляющая возможность поиска по названию или описанию символа. Когда код нужного символа известен, его можно ввести в соответствии со стандартом ISO 14755: при зажатых клавишах Ctrl + ⇧ Shift ввести шестнадцатеричный код (начиная с некоторой версии GTK+ ввод кода нужно предварить нажатием клавиши «U» ). Вводимый шестнадцатеричный код может иметь до 32 бит в длину, позволяя вводить любые символы Юникода без использования суррогатных пар.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows