DC00 | … | DFFE | DFFF | |
---|---|---|---|---|
D800 | 010000 | … | 0103FE | 0103FF |
D801 | 010400 | … | 0107FE | 0107FF |
… | … | |||
DBFF | 10FC00 | … | 10FFFE |
UTF-16 (англ. Unicode Transformation Format) в інформатиці — один із способів кодування символів із Unicode у вигляді послідовності 16-бітових слів. Символи з кодами менше 0x10000 (216) представляються як є, а символи з кодами 0x10000-0x10FFFF — у вигляді послідовності двох 16-бітових слів, перше з яких лежить в діапазоні 0xD800-0xDBFF, а друге — 0xDC00-0xDFFF. Зрозуміло, що є 210 * 210 = 220 таких комбінацій.
Слід зазначити, що за стандартом ніякі символи не можуть мати коди власне з діапазону 0xD800-0xDFFF (їх 2048, вони відзначені рудим і блакитним кольорами на діаграмі), так що розшифровка кодування завжди однозначна. Певна частина текстів у UTF-16 є просто послідовністями символів з UCS-2 (BMP), тому що символи Unicode після коду 0x10000 використовуються не дуже часто.
Історія
Перша версія Юнікоду (1991 р.) була 16-бітною системою кодування з фіксованою шириною символу; загальне число різних символів було 216 (65 536). У другій версії Юнікоду (1996 р.) було вирішено значно розширити кодову область; для збереження сумісності з тими системами, де вже був реалізований 16-бітний Юнікод, і була створена UTF-16. Область 0xD800-0xDFFF, відведена для сурогатних пар, раніше належала до області «символів для приватного використання». Оскільки в UTF-16 можна відобразити 220 + 216 — 2048 (1112064) символів, то це число й було обрано новою величиною кодового простору Юнікоду.
UTF-16LE та UTF-16BE
Один символ кодування UTF-16 поданий послідовністю двох байтів. Який із двох йде попереду, старший або молодший, залежить від порядку байтів. Систему, сумісну з процесорами x86, називають UTF-16LE (little endian), а з процесорами m68k і SPARC — UTF-16BE (big endian).
UTF-16 в ОС Windows
У API Win32, поширеному в сучасних версіях операційної системи Microsoft Windows, є два способи представлення тексту: у формі традиційних 8-бітних кодових сторінок, і у вигляді UTF-16. У файлових системах NTFS, а також FAT з підтримкою довгих імен, імена файлів записуються в UTF-16LE.
Посилання
- Unicode Technical Note #12: Обробка UTF-16 [ 3 грудня 2021 у Wayback Machine.] (англ.)
- Unicode FAQ: У чому різниця UCS-2 і UTF-16? [ 11 січня 2011 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
DC00 DFFE DFFFD800 010000 0103FE 0103FFD801 010400 0107FE 0107FF DBFF 10FC00 10FFFE UTF 16 angl Unicode Transformation Format v informatici odin iz sposobiv koduvannya simvoliv iz Unicode u viglyadi poslidovnosti 16 bitovih sliv Simvoli z kodami menshe 0x10000 216 predstavlyayutsya yak ye a simvoli z kodami 0x10000 0x10FFFF u viglyadi poslidovnosti dvoh 16 bitovih sliv pershe z yakih lezhit v diapazoni 0xD800 0xDBFF a druge 0xDC00 0xDFFF Zrozumilo sho ye 210 210 220 takih kombinacij Slid zaznachiti sho za standartom niyaki simvoli ne mozhut mati kodi vlasne z diapazonu 0xD800 0xDFFF yih 2048 voni vidznacheni rudim i blakitnim kolorami na diagrami tak sho rozshifrovka koduvannya zavzhdi odnoznachna Pevna chastina tekstiv u UTF 16 ye prosto poslidovnistyami simvoliv z UCS 2 BMP tomu sho simvoli Unicode pislya kodu 0x10000 vikoristovuyutsya ne duzhe chasto IstoriyaPersha versiya Yunikodu 1991 r bula 16 bitnoyu sistemoyu koduvannya z fiksovanoyu shirinoyu simvolu zagalne chislo riznih simvoliv bulo 216 65 536 U drugij versiyi Yunikodu 1996 r bulo virisheno znachno rozshiriti kodovu oblast dlya zberezhennya sumisnosti z timi sistemami de vzhe buv realizovanij 16 bitnij Yunikod i bula stvorena UTF 16 Oblast 0xD800 0xDFFF vidvedena dlya surogatnih par ranishe nalezhala do oblasti simvoliv dlya privatnogo vikoristannya Oskilki v UTF 16 mozhna vidobraziti 220 216 2048 1112064 simvoliv to ce chislo j bulo obrano novoyu velichinoyu kodovogo prostoru Yunikodu UTF 16LE ta UTF 16BEOdin simvol koduvannya UTF 16 podanij poslidovnistyu dvoh bajtiv Yakij iz dvoh jde poperedu starshij abo molodshij zalezhit vid poryadku bajtiv Sistemu sumisnu z procesorami x86 nazivayut UTF 16LE little endian a z procesorami m68k i SPARC UTF 16BE big endian UTF 16 v OS WindowsU API Win32 poshirenomu v suchasnih versiyah operacijnoyi sistemi Microsoft Windows ye dva sposobi predstavlennya tekstu u formi tradicijnih 8 bitnih kodovih storinok i u viglyadi UTF 16 U fajlovih sistemah NTFS a takozh FAT z pidtrimkoyu dovgih imen imena fajliv zapisuyutsya v UTF 16LE PosilannyaUnicode Technical Note 12 Obrobka UTF 16 3 grudnya 2021 u Wayback Machine angl Unicode FAQ U chomu riznicya UCS 2 i UTF 16 11 sichnya 2011 u Wayback Machine angl