Кодування unicode таблиця. Актуальна версія Юнікоду. Визначення підтримки Юнікоду.

Кожен користувач Інтернету в спробах налаштувати ту чи іншу його функцію хоча б один раз бачив на дисплеї написане слово «Юнікод». Що це таке, ви дізнаєтеся, прочитавши цю статтю.

визначення

Кодування "Юнікод" - стандарт кодування символів. Він був запропонований некомерційною організацією Unicode Inc. в 1991 році. Стандарт розроблений з метою об'єднання якомога більшої кількості різнотипних символів в одному документі. Сторінка, яка створена на його основі, може містити в собі букви і ієрогліфи з різних мов (від російського до корейського) і математичні знаки. При цьому всі символи в даному кодуванні відображаються без проблем.

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

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

причини створення

Колись, задовго до появи єдиної системи "Юнікод", кодування вибиралася виходячи з переваг автора документа. З цієї причини нерідко, щоб прочитати один документ, потрібно було використовувати різні таблиці. Іноді це доводилося робити по кілька разів, що істотно ускладнювало життя звичайному користувачеві. Як вже було сказано, рішення цієї проблеми в 1991 році було запропоновано некомерційною організацією Unicode Inc., яка запропонувала новий тип кодування символів. Він був покликаний об'єднати морально застарілі і різноманітні стандарти. "Юнікод" - кодування, яка озволіла домогтися немислимого на той момент: створити інструмент, який підтримує величезну кількість символів. Результат перевершив багато очікувань - з'явилися документи, одночасно містять як англійська, так і російський текст, латинь і математичні вирази.

Це стосується, наприклад, неграфічних комп'ютерних терміналів, друкарських машинок, вихідних кодів або телекса. Незважаючи на те, що ця техніка зазнала великої бум тільки з появою перших примітивних принтерів, було доведено, що воно використовується вже в другій половині століття. У той час для письма використовувалися класичні механічні друкарські машинки. Виникли як примітивні роботи у вигляді смайлика, так і більш складні цілісні сторінки. Тепер давайте покажемо кілька прикладів.

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

Але створення єдиної кодування передувала необхідність дозволу ряду проблем, які виникли через величезного розмаїття стандартів, вже існували на той момент. Найпоширеніші з них:

  • ельфійські письмена, або «кракозябри»;
  • обмеженість набору символів;
  • проблема перетворення кодувань;
  • дублювання шрифтів.


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

Анімації і цілі фільми можуть навіть бути успішними. Щоб комп'ютер міг спілкуватися з додатками та іншими комп'ютерами, він перетворює символи і символи в свої числові вирази. Типи символів і символів, які можна вставити, залежать від типів доступних вами шрифтів. Наприклад, деякі шрифти можуть містити фракції, міжнародні символи і міжнародні грошові символи.

Невеликий історичний екскурс

Уявіть, що на дворі 80-е. Комп'ютерна техніка ще не так поширена і має вигляд, відмінний від сьогоднішнього. У той час кожна ОС по-своєму унікальна і доопрацьована кожним ентузіастом під конкретні потреби. Необхідність обміну інформацією перетворюється в додаткове доопрацювання всього на світі. Спроба прочитати документ, створений під іншою ОС, часто виводить на екран незрозумілий набір символів, і починаються ігри з кодуванням. Не завжди виходить зробити це швидко, і часом необхідний документ вдається відкрити через півроку, а то й пізніше. Люди, які часто обмінюються інформацією, створюють для себе таблиці перетворення. І ось робота над ними виявляє цікаву деталь: створювати їх потрібно за двома напрямками: «з моєї в твою» і назад. Зробити банальну інверсію обчислень машина не може, для неї в правому стовпчику исходник, а в лівому - результат, але ніяк не навпаки. Якщо з'являлася необхідність використовувати будь-які спеціальні символи  в документі, їх необхідно було спочатку додати, а потім ще й пояснити партнеру, що йому потрібно зробити, щоб ці символи не перетворилися в «кракозябри». І не будемо забувати, що під кожну кодування доводилося розробляти або впроваджувати власні шрифти, що призводило до створення величезної кількості дублів в ОС.

Примітка. Розмір діалогового вікна «Символ» можна збільшити або зменшити, переміщаючи покажчик миші в нижньому правому куті діалогового вікна. Як тільки покажчик зміниться на двосторонню стрілку, встановіть необхідні розміри діалогового вікна, перетягнувши його.

Зверніть увагу на другу вкладку діалогового вікна «Символ», де ви можете знайти найбільш часто використовувані символи. Умовою є те, що ви працюєте з англійської клавіатурою. Таким чином, ви не можете писати символи в «Блокноті», навіть якщо ви зберегли їх в Юникоде. Потрібно англійська клавіатура.

Уявіть ще, що на сторінці шрифтів ви побачите 10 штук ідентичних Times New Roman з маленькими позначками: для UTF-8, UTF-16, ANSI, UCS-2. Тепер ви розумієте, що розробка універсального стандарту була нагальною потребою?

«Батьки-творці»

Витоки створення Unicode слід шукати в 1987 році, коли Джо Беккер з Xerox разом з Лі Коллінзом і Марком Девісом з компанії Apple почали дослідження в сфері практичного створення універсального набору символів. У серпні 1988 року Джо Беккер опублікував проект пропозиції щодо створення 16-бітної міжнародної багатомовної системи кодування.

Ця процедура може використовуватися тільки в тому випадку, якщо символ представлений на місцевій кодової сторінці. В цьому випадку можна відображати різні групи символів, що дозволяє уточнити пошук. Ви навіть можете використовувати поле пошуку для пошуку символу в назві. Наприклад, якщо ви шукаєте знак євро, перевірте вид деталі і введіть ім'я євро в поле пошуку. Якщо в рядку стану з'являється повідомлення про те, що символ не доступний, виберіть інший шрифт і повторіть пошук.

Деякі шрифти не мають всіх символів. У списку «Набір символів» введіть або виберіть набір символів, в якому ви хочете виконати пошук. В поле «Пошук» введіть повне ім'я або частину імені символу, який ви хочете знайти. Наприклад, щоб знайти всі грецькі літери, введіть грецьке слово. Натисніть «Пошук». Щоб запустити інструмент «Карта символів», натисніть «Пуск», виберіть «Всі програми», «Стандартні» і «Системні утиліти», а потім «Карта символів». Ця інформація також відображається в рядку стану в нижній частині вікна «Карти символів» і може використовуватися в якості прикладу слів, які можуть бути введені для подальшого пошуку. Символ буде автоматично виділено в сітці символів.

  • У списку «Шрифт» введіть або виберіть шрифт, який ви хочете знайти.
  • Встановіть прапорець «Докладні уявлення».
  • Якщо необхідний набір символів недоступний, виберіть інший шрифт.
  • Для пошуку іншого символу натисніть кнопку «Оновити».
  • Щоб відобразити ім'я символу, помістіть покажчик на символ.
Не всі символи інтерпретуються голосовими виходами.

Через кілька місяців робоча група Unicode була розширена за рахунок включення Кена Уістлера і Майка Кернегана з RLG, Гленн Райт з Sun Microsystems і декількох інших фахівців, що дозволило завершити роботи з попереднього формування єдиного стандарту кодування.


Від вашої батьківщини Америки до інших частин світу. Область, в якій лист не є латинською мовою, є регіоном, в якому букви використовуються разом з умляутами  для формування нових букв. Світ семи світів затамував подих. Спочатку непотрібний і використовуваний для контролю даних парності, тепер він має 128-символьний набір символів. І число було використано для позначення символів рідних алфавітів, але також для позначення інших графічних символів, таких як знак міма або рими.

Незабаром стало ясно, що через різноманітність різних мов і різноманітності кожного з використовуваних букв для букв алфавіту було б недостатньо 256 символів. На жаль, ця система має кілька основних недоліків. Буква # може вказувати 1 французькою мовою. Звичайно, користувачі комп'ютерів не звертають уваги, звичайно, користувачі будуть платити за це. Єдиний вихід з цієї різкої ситуації - навмисне тлумачення міжнародних стандартів, Незалежно від комп'ютерних компаній. Навіть в Чеській Республіці ситуація поступово консолідується.

Загальний опис

В основі Unicode лежить поняття символу. Під цим визначенням розуміється абстрактне явище, існуюче в конкретному виді писемності і реалізоване через графеми (свої «портрети»). Кожен символ задається в "Юникоде" унікальним кодом, що належить конкретному блоку стандарту. Наприклад, графема B є і в англійському, і в російській алфавітах, але в Unicode їй відповідають 2 різних символу. До них застосовується перетворення в т. Е. Кожен з них описується ключем бази даних, набором властивостей і повною назвою.

Той факт, що часто буває важко домовитися на одній мові однієї мови, тільки дозволяє з'ясувати, які проблеми з мінливими документами на різних мовах. Кожна мова має свій власний набір символів, він найкраще в декількох варіантах, а документ, написаний на одній мові, відображається на іншій мові з найбільш імовірним. Постійно зростаюча потреба в обміні документами в електронному вигляді призводить до необхідності глобального алфавіту, який дозволить забезпечити безперешкодний обмін документами.

Оскільки в доступному для огляду майбутньому перехід на англійську мову не зашкодить, потрібно було знайти інше. Він подбав про просування і розробці 16-бітного кодування для символів найважливіших мов світу, а також багатьох історичних і архаїчних персонажів. Консорціум прагне об'єднати зусилля великих промислових компаній і розробників для стандартизації міжнародного набору символів.

переваги Unicode

Від інших сучасників кодування "Юнікод" відрізнялася величезним запасом знаків для «шифрування» символів. Справа в тому, що його попередники мали 8 біт, тобто підтримували 28 символів, а ось нова розробка мала вже 216 символів, що стало гігантським кроком вперед. Це дозволило закодувати практично всі існуючі і поширені алфавіти.

Це міжнародне дослідження містить особливості основних світових алфавітів і найбільш часто використовуваних технічних символів. Для деяких символів будь-якої мови немає ніяких керуючих послідовностей або інших керуючих кодів. З тих пір потреба в програмному забезпеченні, Легко адаптується до умов локального мови, була складною. Зростає потреба в безкоштовному обміні документами без посилання на джерела або цільові ЗМІ. Такий вибухове зростання Інтернету підтвердив потребу в наборах символів, які були б однаковими в будь-якій точці світу.

З появою "Юникода" відпала потреба використовувати таблиці перетворення: як єдиний стандарт він просто зводив нанівець їх необхідність. Точно так же канули в Лету і «кракозябри» - єдиний стандарт зробив їх неможливими, так само як і виключив необхідність створення дублів шрифтів.

розвиток Unicode

Звичайно, прогрес не стоїть на місці, і з моменту першої презентації минуло вже 25 років. Однак кодування "Юнікод" вперто утримує свої позиції в світі. Багато в чому це стало можливим завдяки тому, що він став легко впроваджуються і набув поширення, будучи визнаним розробникам пропрієтарного (платного) і відкритого ПЗ.

Константні символи дозволяють ефективно редагувати текст, шукати, відображати і редагувати. Будь-яке 16-бітове значення представляє один і той же символ в будь-якому контексті.

  • Ефективність.
  • Однорідність.
Це переводить більш ніж достатньо, щоб спілкуватися, але також і з деякими зі старих форм багатьох мов.

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


При цьому не варто думати, що сьогодні нам доступна та ж кодування "Юнікод", що і чверть століття тому. на даний момент  її версія змінилася на 5.х.х, а кількість кодованих символів зросла до 231. Від можливості використовувати більший запас знаків відмовилися, щоб все ще зберегти підтримку для Unicode-16 (кодування, де максимальна їх кількість обмежувалася цифрою 216). З моменту своєї появи і до версії 2.0.0 "Юнікод-стандарт" збільшив кількість символів, які в нього входили, практично в 2 рази. Зростання можливостей тривав і в наступні роки. До версії 4.0.0 вже з'явилася необхідність збільшити сам стандарт, що і було зроблено. В результаті "Юнікод" знайшов той вид, в якому ми його знаємо сьогодні.

Відмінності у відображенні символів не враховуються. Текст дублюється, що не модифікується, не додаючи інформативного значення після перетворення з восьмібітного кодування в Юнікод. В результаті буде збережено більше місць, а подальша обробка буде повільніше. 256 раз набір символів. З огляду на, що тільки невелика частина загальної суми використовується на багатьох мовах, персонажі все ще використовують марнотратне місце. Несумісність з 8-бітної середовищем. Тому неможливо використовувати майбутній програмний код для роботи з текстом - він повинен бути написаний з книги. По крайней мере, на даний момент ситуація повільно змінюється на неправильну. Багато тексту. . На багатьох мовах «спеціальні» символи не імітують ім'я алфавіту.


Що ще є в Unicode?

Крім величезного, постійно поповнюється кількості символів, має ще одну корисну рису. Йдеться про так званої нормалізації. Замість того щоб перегортати весь документ символ за символом і підставляти відповідні значки з таблиці відповідності, використовується один з існуючих алгоритмів нормалізації. Про що мова?

Для таких текстів абсолютно марно використовувати два байта для збереження кожної букви - один байт заповнений. Він також може використовуватися як запис в Юникоде. файлові системи  зазвичай не дозволяють шукати файл з нульовим байтом або файл косою риси.

  • Сумісність зі старими файловими системами.
  • Сумісність з існуючими програмами.
Початковий байт завжди вказує кількість використаних квартир, а наступні члени мають найстарший біт.

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

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

Різні набори символів, і особливо їх різні кодування, були історично впорядковані відповідно до потреб уявлення різних символів, часто ігноруючи вже введене кодування того ж набору символів. Інший накладення кодування було створено для представлення символів національних алфавітів. Перевагою восьмирозрядного уявлення було просте управління ланцюжком або сумісність з бібліотеками обробки з подальшою ланцюжком. Недолік полягав в тому, що символи всіх алфавітів не могли вмістити до 128 символів, тому були створені кодові сторінки  для різних алфавітів.

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


поширення стандарту

За 25 років своєї історії кодування "Юнікод" отримала, ймовірно, найбільше поширення в світі. Під цей стандарт підганяються також програми і web-сторінки. Про широту застосування може говорити той факт, що Unicode сьогодні використовують понад 60% інтернет-ресурсів.

Тепер вам відомо, коли з'явився стандарт "Юнікод". Що це таке, ви також знаєте і зможете оцінити всі значення винаходи, зробленого групою фахівців Unicode Inc. більше 25 років тому.

(Коди від 0 до 127), тобто одним байтом кодуються латинські літери, Цифри і спеціальні символи. Російські літери (кирилиця) представляються 16-бітними (двухбайтное) кодами:

110XXXXX 10XXXXXX,

де X позначені виконавчі розряди для розміщення коду символу відповідно до таблиці UNICODE.

Юнікод (англ. Unicode) - стандарт кодування символів, що дозволяє представити знаки майже всіх письмових мов. Подані в юникоде символи кодуються цілими числами без знака. Ці числа будемо називати кодами символів в юникоде або просто UNICODE. Юнікод має кілька форм представлення символів в комп'ютері: UTF-8, UTF-16 (UTF-16BE, UTF-16LE) і UTF-32 (UTF-32BE, UTF-32LE). (Англ. Unicode transformation format - UTF).

Розглянемо, як кодується в UTF-8  літера Ж. її UNICODE  - 1046 10 або 0416 16 або 10000 010110 2. UNICODE  в двійковому вигляді розбивається на дві частини: п'ять лівих біт і шість правих. Ліва частина доповнюється до байта ознакою 110   двухбайтное коду UTF-8: 110 10000. До правої частини приписуються два біта 10   ознаки продовження багатобайтові коду: 10 010110. Остаточно код букви Ж  в UTF-8  виглядає так:

110 10000 10 010110 2
  або D0 96 16

Таким чином, російська буква кодується двічі: спочатку в 11-бітний UNICODE, А потім - в 16-бітний UTF-8.

У наведеній нижче таблиці, крім кодів UNICODE  і UTF-8  в шістнадцятковій системі числення, дані коди UTF-8   в десятковій системі числення і для порівняння коди кирилиці в кодуванні CP-1251, Інакше званої windovs-1251.

   Таблиця кодів кирилиці в UTF-8
символUNICODEUTF-8CP-1251
Шістнадцятковим.десятШістнадцятковим.десят
А0410 1040 D090208 144 192
Б0411 1041 D091208 145 193
В0412 1042 D092208 146 194
Г0413 1043 D093208 147 195
Д0414 1044 D094208 148 196
Е0415 1045 D095208 149 197
Ж0416 1046 D096208 150 198
З0417 1047 D097208 151 199
І0418 1048 D098208 152 200
Й0419 1049 D099208 153 201
До041A1050 D09A208 154 202
Л041B1051 D09B208 155 203
М041C1052 D09C208 156 204
Н041D1053 D09D208 157 205
Про041E1054 D09E208 158 206
П041F1055 D09F208 159 207
Р0420 1056 D0A0208 160 208
З0421 1057 D0A1208 161 209
Т0422 1058 D0A2208 162 210
У0423 1059 D0A3208 163 211
Ф0424 1060 D0A4208 164 212
Х0425 1061 D0A5208 165 213
Ц0426 1062 D0A6208 166 214
Ч0427 1063 D0A7208 167 215
Ш0428 1064 D0A8208 168 216
Щ0429 1065 D0A9208 169 217
ред042A1066 D0AA208 170 218
И042B1067 D0AB208 171 219
Ь042C1068 D0AC208 172 220
Е042D1069 D0AD208 173 221
Ю042E1070 D0AE208 174 222
Я042F1071 D0AF208 175 223
а0430 1072 D0B0208 176 224
б0431 1073 D0B1208 177 225
в0432 1074 D0B2208 178 226
г0433 1075 D0B3208 179 227
д0434 1076 D0B4208 180 228
е0435 1077 D0B5208 181 229
ж0436 1078 D0B6208 182 230
з0437 1079 D0B7208 183 231
і0438 1080 D0B8208 184 232
й0439 1081 D0B9208 185 233
до043A1082 D0BA208 186 234
л043B1083 D0BB208 187 235
м043C1084 D0BC208 188 236
н043D1085 D0BD208 189 237
про043E1086 D0BE208 190 238
п043F1087 D0BF208 191 239
р0440 1088 D180209 128 240
з0441 1089 D181209 129 241
т0442 1090 D182209 130 242
у0443 1091 D183209 131 243
ф0444 1092 D184209 132 244
х0445 1093 D185209 133 245
ц0446 1094 D186209 134 246
ч0447 1095 D187209 135 247
ш0448 1096 D188209 136 248
щ0449 1097 D189209 137 249
ь044A1098 D18A209 138 250
и044B1099 D18B209 139 251
ь044C1100 D18C209 140 252
е044D1101 D18D209 141 253
ю044E1102 D18E209 142 254
я044F1103 D18F209 143 255
Символи поза загальним правила
Е0401 1025 D001208 101 168
е0451 1025 D191209 145 184