UTF-8
Dari Wikipedia, ensiklopedia bebas
UTF-8 (Universal Character Set (UCS) Transformation Format — 8-bit[1]) adalah sebuah pengkodean karakter dengan lebar variabel tertentu (variable-width encoding) yang mewakili setiap karakter komputer (character) dalam himpunan karakter Unicode. Didesain untuk backward compatibility dengan ASCII dan untuk menghindari komplikasi endianness dan byte order mark dalam UTF-16 dan UTF-32.
UTF-8 telah menjadi metode pengkodean karakter (character encoding) yang dominan untuk World Wide Web, meliputi lebih dari setengah jumlah seluruh halaman Web.[2][3][4] Internet Engineering Task Force (IETF) mengharuskan semua protokol Internet untuk mengidentifikasi encoding yang dipakai untuk data karakter, dan pengkodean karakter yang didukung (supported character encoding) untuk menyertakan UTF-8.[5] Internet Mail Consortium (IMC) merekomendasi seluruh program e-mail dapat menayangkan dan membuat e-mail menggunakan UTF-8.[6] UTF-8 juga terus meningkat penggunaannya sebagai default character encoding dalam sistem operasi, bahasa pemrograman, API, dan aplikasi perangkat lunak.
Deskripsi
Ringkasan
Perspektif
Desain UTF-8 dapat dilihat di tabel berikut yaitu skema yang asalnya diusulkan oleh Dave Prosser dan selanjutnya dimodifikasi oleh Ken Thompson (x
diganti dengan bit dari code point):
Bit code point | Code point pertama | Code point terakhir | Byte dalam sequence | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
---|---|---|---|---|---|---|---|---|---|
7 | U+0000 | U+007F | 1 | 0xxxxxxx | |||||
11 | U+0080 | U+07FF | 2 | 110xxxxx | 10xxxxxx | ||||
16 | U+0800 | U+FFFF | 3 | 1110xxxx | 10xxxxxx | 10xxxxxx | |||
21 | U+10000 | U+1FFFFF | 4 | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | ||
26 | U+200000 | U+3FFFFFF | 5 | 111110xx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | |
31 | U+4000000 | U+7FFFFFFF | 6 | 1111110x | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
Contoh
Mari melihat bagaimana membuat pengkodean tanda mata uang Euro, €.
- 'Unicode code point untuk "€" adalah U+20AC.
- Menurut tabel skema di atas, dibutuhkan 3 bita (byte) untuk pengkodean, karena terletak di antara U+0800 dan U+FFFF.
- Kode heksadesimal
20AC
adalah sama dengan kode biner (binary)0010000010101100
. Dua angka nol di depan ditambahkan karena, seperti dalam tabel, suatu pengkodean tiga-bita (three-byte encoding) membutuhkan tepat enam belas bit dari the code point. - Karena berupa pengkodean tiga-bita, bita pendahulu dimulai dengan tiga angka "1", kemudian satu angkat "0" (
1110
...) - Bit sisanya dari bita ini diambil dari code point (
11100010
), menyisakan ...000010101100
. - Setiap kelanjutan bita dimulai dengan
10
dan dibutuhkan enam bit code point (maka10000010
, lalu10101100
).
Tiga bita11100010
10000010
10101100
dapat ditulis lebih singkat dalam heksadesimal, sebagai E2 82 AC
.
Tabel berikut adalah ikhtisar pengubahan ini, juga yang lain dengan panjang berbeda dalam UTF-8. Warna-warna mengindikasikan bagaiman bit dari code point didistribusikan di antara byte-byte UTF-8. Bit tambahan yang ditambahkan oleh proses encoding UTF-8 diberi warna hitam.
Lihat pula
- Alt code
- Pengkodean karakter
- Comparison of e-mail clients#Features
- Comparison of Unicode encodings
- GB 18030
- Iconv—a standardized API used to convert between different character encodings
- ISO/IEC 8859
- Specials (Unicode block)
- Unicode
- Unicode and HTML
- Universal Character Set
- UTF-8 in URIs
- UTF-9 and UTF-18
- UTF-16/UCS-2
Referensi
Pranala luar
Wikiwand - on
Seamless Wikipedia browsing. On steroids.