한국   대만   중국   일본 
UTF-8 - Wikipedia bahasa Indonesia, ensiklopedia bebas Lompat ke isi

UTF-8

Dari Wikipedia bahasa Indonesia, 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 [ sunting | sunting sumber ]

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 | sunting sumber ]

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 ( 1110 0010 ), menyisakan ... 000010101100 .
  6. Setiap kelanjutan bita dimulai dengan 10 dan dibutuhkan enam bit code point (maka 10 000010 , lalu 10 101100 ).

Tiga bita 1110 0010 10 000010 10 101100 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 0 0100100 24
U+00A2 000 10 100010 110 00010 10 100010 C2 A2
U+20AC 0010 0000 10 101100 1110 0010 10 000010 10 101100 E2 82 AC
?? U+24B62 000 10 0100 1011 01 100010 11110 000 10 100100 10 101101 10 100010 F0 A4 AD A2

Lihat pula [ sunting | sunting sumber ]

Referensi [ sunting | sunting sumber ]

  1. ^ "Chapter 2. General Structure". The Unicode Standard (edisi ke-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 .   Parameter |contribution= akan diabaikan ( bantuan )
  6. ^ "Using International Characters in Internet Mail" . Internet Mail Consortium. August 1, 1998. Diarsipkan dari versi asli tanggal 2007-10-26 . Diakses tanggal November 8, 2007 .  

Pranala luar [ sunting | sunting sumber ]

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