6 Двубайтне кодування (ISO10646, UTF-8)

Матеріал з Wiki TNEU
Версія від 09:39, 24 грудня 2012; Tomash (Обговорення)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

ISO 10646 або 646

Міжнародною організацією зі стандартизації (International Organization for Standardization, ISO), що базується в Женеві, Швейцарія. У 1967-му році була випущена рекомендація ISO 646. Вона, в основному, посилалася на використання коду ASCII "як є", за винятком того, що 10 позицій у таблиці символів повинні бути залишені відкритими для "національних варіантів", як в коді Бодо (в ньому, як ми пам'ятаємо, таких позицій було 3). Десять символів, які повинні були займати ці позиції в кодової таблиці, були зазначені у версії цієї рекомендації, відомої як International Reference Version (IRV). Таблиця символів, використовувана в системі кодування ASCII, була також використана в якості базової при створенні 7-бітних таблиць символів для мов, не використовують латинський алфавіт, наприклад, арабського і грецького *. У 1969-му році вона була зроблена основою таблиці символів для японської мови, визначеної стандартом JIS. На даний момент існує в загальній складності близько 180 таблиць символів для різних мов, що використовуються у 8-бітних системах кодування, званих "розширеннями системи кодування ASCII", зареєстрованих ISO

Кодування UTF-8 володіє наступними властивостями:

  • UCS-символи з кодами від 0x00000000 до 0x0000007f (стандартний набір US-ASCII) кодуються як байти з кодами від 0x00 до 0x7f (сумісність з кодовою таблицею ASCII). Це означає, що файли і рядки, що містять тільки 7-бітові ASCII-символи, будуть мати однакове уявлення як в ASCII, так і в UTF-8.
  • Всі UCS-символи з кодами> 0x7f кодуються як багатобайтові послідовності, що містять тільки байти в діапазоні від 0x80 до 0xfd, так що ASCII-байти не виявляться частиною іншого символу і, як наслідок, не буде проблем з використанням '\ 0' або '/ '.
  • Зберігається лексикографічний порядок сортування рядків кодування UCS-4.
  • За допомогою UTF-8 можуть бути закодовані всі можливі 2 ^ 31 UCS.
  • У кодуванні UTF-8 ніколи не використовуються байти з кодами 0xfe і 0xff.
  • Перший байт багато байтові послідовності, що представляє один не-ASCII UCS-символ, завжди знаходиться в діапазоні від 0xc0 до 0xfd і вказує на довжину цієї послідовності. Усі наступні байти в багато байтові послідовності знаходяться в діапазоні від 0x80 до 0xbf. Це забезпечує легку ре синхронізацію, усуває необхідність враховувати стан вхідного потоку (statelessness) і робить кодування незалежної від пропущених байтів.
  • Символи UCS, закодовані в UTF-8, можуть бути завдовжки до шести байтів, проте стандарт Unicode не визначає символів вище 0x10ffff, тому символи Unicode можуть мати максимальний розмір в 4 байти в UTF-8.
Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти