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