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

sunting

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

sunting

Mari melihat bagaimana membuat pengkodean tanda mata uang Euro, โ‚ฌ.

  1. 'Unicode code point untuk "โ‚ฌ" adalah U+20AC.
  2. Menurut tabel skema di atas, dibutuhkan 3 bita (byte) untuk pengkodean, karena terletak di antara U+0800 dan U+FFFF.
  3. 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.
  4. Karena berupa pengkodean tiga-bita, bita pendahulu dimulai dengan tiga angka "1", kemudian satu angkat "0" (1110...)
  5. Bit sisanya dari bita ini diambil dari code point (11100010), menyisakan ...000010101100.
  6. Setiap kelanjutan bita dimulai dengan 10 dan dibutuhkan enam bit code point (maka 10000010, lalu 10101100).

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.

Karakter code point biner UTF-8 biner UTF-8 heksadesimal
$ U+0024 0100100 00100100 24
ยข U+00A2 000 10100010 11000010 10100010 C2 A2
โ‚ฌ U+20AC 00100000 10101100 11100010 10000010 10101100 E2 82 AC
๐คญข U+24B62 00010 01001011 01100010 11110000 10100100 10101101 10100010 F0 A4 AD A2

Lihat pula

sunting

Referensi

sunting
  1. ^ "Chapter 2. General Structure". The Unicode Standard (Edisi 6.0). Mountain View, California, USA: The Unicode Consortium. ISBNย 978-1-936213-01-6.
  2. ^ Davis, Mark (28 January 2010). "Unicode nearing 50% of the web". Official Google Blog. Google. Diakses tanggal 5 December 2010.
  3. ^ "UTF-8 Usage Statistics". BuiltWith. Diakses tanggal March 28, 2011.
  4. ^ "Usage of character encodings for websites". W3Techs. Diakses tanggal March 30, 2010.
  5. ^ Alvestrand, H. (1998). "RFC 2277". Internet Engineering Task Force. ;
  6. ^ "Using International Characters in Internet Mail". Internet Mail Consortium. August 1, 1998. Diarsipkan dari asli tanggal 2007-10-26. Diakses tanggal November 8, 2007.

Pranala luar

sunting

Ada beberapa definisi UTF-8 dalam berbagai dokumen standar:

  • RFC 3629 / STD 63 (2003), yang menetapkan UTF-8 sebagai elemen protokol Internet standar
  • The Unicode Standard, Version 6.0, ยง3.9 D92, ยง3.10 D95 (2011)
  • ISO/IEC 10646:2003 Annex D (2003)

Dokumen-dokumen tersebut menggantikan definisi-definisi yang telah usang dalam karya-karya berikut:

  • ISO/IEC 10646-1:1993 Amendment 2 / Annex R (1996)
  • The Unicode Standard, Version 5.0, ยง3.9 D92, ยง3.10 D95 (2007)
  • The Unicode Standard, Version 4.0, ยง3.9โ€“ยง3.10 (2003)
  • The Unicode Standard, Version 2.0, Appendix A (1996)
  • RFC 2044 (1996)
  • RFC 2279 (1998)
  • The Unicode Standard, Version 3.0, ยง2.3 (2000) plus Corrigendum #1: UTF-8 Shortest Form (2000)
  • Unicode Standard Annex #27: Unicode 3.1 (2001)

Semua sama dalam mekanika umum, dengan perbedaan pokok pada topik-topik misalnya mengizinkan range nilai code point dan safe handling untuk invalid input.

Templat:Unicode navigation Templat:Character encoding

๐Ÿ“š Artikel Terkait di Wikipedia

Daftar simbol matematika

Meskipun Anda yakin browser Anda telah menayangkan artikel ini menurut kode UTF-8 dan jenis huruf yang mendukung rentang luas Unicode, seperti Code2000,

Unicode

karakter yang ada dengan Unicode dan skema Unicode Transformation Format (UTF) nya, karena banyak skema yang ada sekarang memiliki keterbatasan ukuran

Alfabet Gotik

Multilingual Plane. Karena perangkat lunak lama yang menggunakan UCS-2 (pendahulu UTF-16) mengasumsikan bahwa semua titik kode Unicode dapat dinyatakan sebagai

Musl

lainnya seperti uClibc dan dietlibc. musl versi 1.1.10 menyediakan lokalitas UTF-8 C yang diizinkan oleh standar ISO. Namun, banyak pengkodean yang memproses

ASCII

terlihat simbolnya seperti Kode 10(Line Feed), 13(Carriage Return), 8(Tab), 32(Space) Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9),

Samekh

legenda, samekh dikatakan merupakan mujizat Sepuluh Perintah Allah. Keluaran 32:15 mencatat bahwa loh-loh batu berisi perintah itu "ditulis pada kedua sisinya

Bcrypt

array of Bytes (16 bytes) random salt password: array of Bytes (1..72 bytes) UTF-8 encoded password Output: hash: array of Bytes (24 bytes) //Initialize Blowfish

Julia (bahasa pemrograman)

per baris dengan mengetik: $ julia <nama_berkas> Julia menggunakan kode UTF-8 dan LaTeX, yang memungkinkan Julia untuk mendukung simbol matematika umum