UTF-8 | |
---|---|
Johdannainen työ | CESU-8 [d] |
Luoja | Rob Pike ja Ken Thompson |
Teoksen tai otsikon kieli | useita kieliä [d] |
avauspäivämäärä | 2. syyskuuta 1992 [1] |
Virallinen sivusto | unicode.org/faq/utf_bom.… |
Kuvattu linkissä | ibm.com/docs/en/i… ( englanti) |
UTF-8 ( englanninkielisestä Unicode-muunnosmuodosta, 8-bittinen - "Unicode-muunnosmuoto, 8-bittinen") on yleinen merkkikoodausstandardi , jonka avulla voit tallentaa ja lähettää Unicode-merkkejä tiiviimmin käyttämällä vaihtelevaa tavumäärää (alkaen 1–4), ja se on täysin taaksepäin yhteensopiva 7-bittisen ASCII -koodauksen kanssa . UTF-8-standardi on virallistettu standardeissa RFC 3629 ja ISO/IEC 10646 liitteessä D.
UTF-8-koodaus on nyt hallitseva verkkotilassa. Se on myös löytänyt laajan sovelluksen UNIX-tyyppisissä käyttöjärjestelmissä [2] .
UTF-8-muodon kehittivät 2. syyskuuta 1992 Ken Thompson ja Rob Pike , ja se otettiin käyttöön Plan 9 :ssä [3] . Windowsin koodaustunnus on 65001 [4] .
UTF-8, verrattuna UTF-16 :een , antaa suurimman lisäyksen latinalaisille teksteille , koska latinalaiset kirjaimet ilman diakriittisiä numeroita ja yleisimmät välimerkit on koodattu UTF-8:ssa vain yhdellä tavulla, ja näiden merkkien koodit vastaavat niiden ASCII -koodeja . [5] [6]
UTF-8:n koodausalgoritmi on standardoitu RFC 3629:ssä ja koostuu kolmesta vaiheesta:
1. Määritä merkin koodaamiseen tarvittavien oktettien ( tavujen ) määrä. Merkkinumero on otettu Unicode-standardista.
Merkkien numeroalue | Vaadittu määrä oktetteja |
---|---|
00000000-0000007F | yksi |
00000080-000007FF | 2 |
00000800-0000FFFF | 3 |
00010000-0010FFFF | neljä |
Unicode-merkeille, joiden numerot ovat välillä U+0000- U+007F(jotka vievät yhden tavun ja nollan merkittävimmässä bitissä), UTF-8-koodaus vastaa täysin 7-bittistä US-ASCII-koodausta.
2. Aseta ensimmäisen oktetin korkeat bitit ensimmäisessä vaiheessa määritetyn vaaditun oktettimäärän mukaisesti:
Jos koodaukseen tarvitaan useampi kuin yksi oktetti, niin okteteissa 2-4 kaksi merkitsevintä bittiä asetetaan aina arvoon 10 2 (10xxxxxx). Tämä helpottaa virran ensimmäisen oktetin erottamista, koska sen korkeat bitit eivät koskaan ole 10 2 .
Oktettien lukumäärä | Merkittäviä palasia | Näyte |
---|---|---|
yksi | 7 | 0xxxxxxx |
2 | yksitoista | 110xxxxx 10xxxxxx |
3 | 16 | 1110xxxx 10xxxxxx 10xxxxxx |
neljä | 21 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
3. Aseta oktettien merkitsevät bitit vastaamaan Unicode -merkkien numeroa binäärimuodossa. Aloita täyttö merkkinumeron matalista biteistä, laita ne viimeisen oktetin mataliin, jatka oikealta vasemmalle ensimmäiseen oktettiin. Ensimmäisen oktetin vapaat bitit, jotka jäävät käyttämättä, täytetään nollilla.
Symboli | Binäärimerkkikoodi | UTF-8 binäärimuodossa | UTF-8 heksadesimaalimuodossa | |
---|---|---|---|---|
$ | U+0024 | 0100100 | 00100100 | 24 |
¢ | U+00A2 | 10100010 | 11000010 10100010 | C2 A2 |
€ | U+20AC | 100000 10101100 | 11100010 10000010 10101100 | E2 82 AC |
🐍 | U+10348 | 1 00000011 01001000 | 11110000 10010000 10001101 10001000 | F0 90 8D 88 |
Osoittaakseen, että tiedosto tai virta sisältää Unicode-merkkejä, tiedoston tai virran alkuun voidaan lisätä tavujärjestysmerkki (BOM) , joka UTF-8-koodattuina on kolmen tavun muodossa : . EF BB BF16
1. tavu | 2. tavu | 3. tavu | |
---|---|---|---|
binäärikoodi | 1110 1111 | 1011 1011 | 1011 1111 |
Hex-koodi | EF | BB | BF |
Aluksi UTF-8-koodaus salli enintään kuuden tavun koodauksen yhden merkin, mutta marraskuussa 2003 RFC 3629 kielsi viidennen ja kuudennen tavun käytön, ja koodattujen merkkien valikoima rajoitettiin merkkiin U+10FFFF. Tämä tehtiin yhteensopivuuden varmistamiseksi UTF-16:n kanssa.
Jokainen tavusarja ei ole kelvollinen. UTF-8-dekooderin on ymmärrettävä ja käsiteltävä asianmukaisesti seuraavat virheet:
Merkkien koodaukset | |
---|---|
Historialliset koodaukset | lisäkomp. semafori (Makarov) morsia Bodo MTK-2 comp. 6-bittinen SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
moderni 8-bittinen esitys | symboleja ASCII ei-ASCII 8-bittiset koodisivut Kyrillinen KOI-8 Peruskoodaus MacCyrillic ISO 8859 1 (lat.) 2 3 neljä 5 (kir.) 6 7 kahdeksan 9 kymmenen yksitoista 12 13 neljätoista 15 (€) 16 Windows 1250 1251 (kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM ja DOS 437 850 852 855 866 "vaihtoehto" MIC |
Monitavu | perinteinen DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 merkkiluettelo Kyrillinen |
käyttöliittymä näppäimistöasettelu alue rivin käännös fontti translitterointi mukautettuja fontteja apuohjelmia iconv ennätys |
sarjoittaminen | Digitaalisten tietomuotojen|
---|---|
Teksti | |
Internet ja tietoliikenne |
|
Media | |
muu |