UTF-9 i UTF-18

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

UTF-9 i UTF-18 – systemy kodowania unikodu, wprowadzone dokumentem RFC 4042 jako żart primaaprilisowy.

Ich specyfikację opracował Mark Crispin (wynalazca protokołu IMAP). RFC 4042 został upubliczniony 1 kwietnia 2005.

System ten miał zostać stworzony z myślą o 18- i 36-bitowych architekturach komputerów, w których obsługa systemów UTF-8 czy UTF-16 zbudowanych wokół 8-bitowych bajtów (tj. oktetów) byłaby nieefektywna obliczeniowo i pamięciowo.


Szczegóły[edytuj | edytuj kod]

UTF-9 (Unicode Transformation Format-9) jest formatem kodowania znaków o zmiennej długości. Najstarszy bit każdego nonetu (tj. 9-bitowego bajtu) używany jest jako flaga kontynuacji, pozostały oktet to kod znaku w standardzie ISO-10646. Dla znaków 0x0-0xFF oznacza to pełną wsteczną kompatybilność. W UTF-9 możliwe jest zakodowanie wszystkich znaków Unikodu, więc nie ma potrzeby stosowania kodów zastępczych z przedziału U+D800 – U+DBFF

UTF-18 (Unicode Transformation Format-18) jest formatem kodowania znaków o stałej długości. Używa dwóch nonetów. Znaki z zakresu U+0000 – U+2FFFF pozostają bez zmian, zaś z zakresu U+E0000 – U+EFFFF zostają przesunięte o 0x70000, do zakresu 0x30000 – 0x3ffff. Inne wartości nie mogą być reprezentowane w UTF-18.

Przykłady kodowań UTF-9 i UTF-18
Znak Kod UNICODE kod UTF-9 (oct) kod UTF-18 (oct) kod UTF-8 (dla porównania)
A U+0041 101 000101 101
Ą U+0104 401 004 000404 304-204
U+AC00 654 000[1] 126000 352 260 200
𝌌 U+1D30C 401 323 014 351414 360 235 214 214

Przypisy

  1. UWAGA: te zera nie są błędem, i nie oznaczają "końca łańcucha"

Linki zewnętrzne[edytuj | edytuj kod]