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

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
ZnakKod UNICODEkod UTF-9 (oct)kod UTF-18 (oct)kod UTF-8 (dla porównania)
AU+0041101000101101
ĄU+0104401 004000404304-204
U+AC00654 000[uwaga 1]126000352 260 200
𝌌U+1D30C401 323 014351414360 235 214 214

Uwagi

  1. Zera nie są błędem, i nie oznaczają „końca łańcucha”.

Linki zewnętrzne

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.