Lompat ke isi

UTF-8: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 22704222; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''UTF-8''' ('''[[:en:Universal Character Set|Universal Character Set (UCS)]] Transformation Format8-bit''') adalah sebuah pengkodean karakter dengan lebar variabel tertentu (''[[:en:variable-width encoding|variable-width encoding]]'') yang mewakili setiap karakter komputer (''character'') dalam himpunan karakter [[Unicode]]. Didesain untuk ''[[:en:backward compatibility|backward compatibility]]'' dengan [[ASCII]] dan untuk menghindari komplikasi ''[[:en:endianness|endianness]]'' dan ''[[:en:byte order mark|byte order mark]]'' dalam [[UTF-16]] dan [[:en:UTF-32|UTF-32]].
'''UTF-8''' ('''[[:en:Universal Character Set|Universal Character Set (UCS)]] Transformation Format8-bit'''<ref>[http://www.unicode.org/versions/Unicode6.0.0/ The Unicode Standard]. The Unicode Consortium. ISBN 978-1-936213-01-6.</ref>) adalah sebuah pengkodean karakter dengan lebar variabel tertentu (''[[:en:variable-width encoding|variable-width encoding]]'') yang mewakili setiap karakter komputer (''character'') dalam himpunan karakter [[Unicode]]. Didesain untuk ''[[:en:backward compatibility|backward compatibility]]'' dengan [[ASCII]] dan untuk menghindari komplikasi ''[[:en:endianness|endianness]]'' dan ''[[:en:byte order mark|byte order mark]]'' dalam [[UTF-16]] dan [[:en:UTF-32|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. [[Internet Engineering Task Force]] (IETF) mengharuskan semua [[protokol (komputer)|protokol]] [[Internet]] untuk mengidentifikasi ''[[Pengkodean karakter|encoding]]'' yang dipakai untuk data karakter, dan pengkodean karakter yang didukung (''supported character encoding'') untuk menyertakan UTF-8. [[:en:Internet Mail Consortium|Internet Mail Consortium]] (IMC) merekomendasi seluruh program e-mail dapat menayangkan dan membuat e-mail menggunakan UTF-8. UTF-8 juga terus meningkat penggunaannya sebagai ''default character encoding'' dalam [[sistem operasi]], [[bahasa pemrograman]], [[application programming interface|API]], dan [[aplikasi perangkat lunak]].


UTF-8 telah menjadi metode [[pengkodean karakter]] (''character encoding'') yang dominan untuk [[World Wide Web]], meliputi lebih dari setengah jumlah seluruh halaman Web.<ref>Mark Davis. [http://googleblog.blogspot.com/2010/01/unicode-nearing-50-of-web.html Unicode nearing 50% of the web]. ''Official Google Blog''. Google. 28 January 2010.</ref><ref>[http://trends.builtwith.com/encoding/UTF-8 UTF-8 Usage Statistics]. BuiltWith.</ref><ref>[http://w3techs.com/technologies/overview/character_encoding/all Usage of character encodings for websites]. W3Techs.</ref> [[Internet Engineering Task Force]] (IETF) mengharuskan semua [[protokol (komputer)|protokol]] [[Internet]] untuk mengidentifikasi ''[[Pengkodean karakter|encoding]]'' yang dipakai untuk data karakter, dan pengkodean karakter yang didukung (''supported character encoding'') untuk menyertakan UTF-8.<ref>H. Alvestrand. ''RFC 2277''. Internet Engineering Task Force. 1998.</ref> [[:en:Internet Mail Consortium|Internet Mail Consortium]] (IMC) merekomendasi seluruh program e-mail dapat menayangkan dan membuat e-mail menggunakan UTF-8.<ref>[http://www.imc.org/mail-i18n.html Using International Characters in Internet Mail]. Internet Mail Consortium. August 1, 1998.</ref> UTF-8 juga terus meningkat penggunaannya sebagai ''default character encoding'' dalam [[sistem operasi]], [[bahasa pemrograman]], [[application programming interface|API]], dan [[aplikasi perangkat lunak]].


== Deskripsi ==
== Deskripsi ==
Desain UTF-8 dapat dilihat di tabel berikut yaitu skema yang asalnya diusulkan oleh Dave Prosser dan selanjutnya dimodifikasi oleh Ken Thompson (<code>x</code> diganti dengan bit dari ''code point''):
Desain UTF-8 dapat dilihat di tabel berikut yaitu skema yang asalnya diusulkan oleh Dave Prosser dan selanjutnya dimodifikasi oleh Ken Thompson (<code>x</code> diganti dengan bit dari ''code point''):


{| class="wikitable"
|-
!Bit <br>code point!!Code point<br>pertama!!Code point<br>terakhir!!Byte dalam<br>sequence!!Byte 1!!Byte 2!!Byte 3!!Byte 4!!Byte 5!!Byte 6
|-
!&nbsp;&nbsp;7
|U+0000||U+007F
|style="text-align: center;" |1
|<code>0xxxxxxx</code>
|-
!11
|U+0080||U+07FF
|style="text-align: center;" |2
|<code>110xxxxx</code>||<code>10xxxxxx</code>
|-
!16
|U+0800||U+FFFF
|style="text-align: center;" |3
|<code>1110xxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>
|-
!21
|U+10000||U+1FFFFF
|style="text-align: center;" |4
|<code>11110xxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>
|-
!26
|U+200000||U+3FFFFFF
|style="text-align: center;" |5
|<code>111110xx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>
|-
!31
|U+4000000||U+7FFFFFFF
|style="text-align: center;" |6
|<code>1111110x</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>||<code>10xxxxxx</code>
|}


=== Contoh ===
=== Contoh ===
Baris 19: Baris 52:


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.
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.
 
{| class="wikitable" style="font-weight: bold"
!colspan=2|Karakter
! ''code point'' biner
! UTF-8 biner
! UTF-8 heksadesimal
|-
|[[$]] || <code>U+0024</code>
|align=right|<code></code>
|align=right|<code>0</code>
|align=right|<code></code>
|-
|[[¢]] || <code>U+00A2</code>
|align=right|<code></code>
|align=right|<code>110 10</code>
|align=right|<code> </code>
|-
|[[€]] || <code>U+20AC</code>
|align=right|<code></code>
|align=right|<code>1110 10 10</code>
|align=right|<code>  </code>
|-
|[[Chinese character|𤭢]] || <code>U+24B62</code>
|align=right|<code></code>
|align=right|<code>11110 10 10 10</code>
|align=right|<code>  </code>
|}


== Lihat pula ==
== Lihat pula ==
Baris 36: Baris 94:
* [[UTF-9 and UTF-18]]
* [[UTF-9 and UTF-18]]
* [[UTF-16|UTF-16/UCS-2]]
* [[UTF-16|UTF-16/UCS-2]]
== Referensi ==


== Pranala luar ==
== Pranala luar ==
Baris 65: Baris 120:
* [http://www.alanwood.net/unicode/browsers.html Unicode and Multilingual Web Browsers] from Alan Wood's Unicode Resources describes support and additional configuration of Unicode/UTF-8 in modern browsers
* [http://www.alanwood.net/unicode/browsers.html Unicode and Multilingual Web Browsers] from Alan Wood's Unicode Resources describes support and additional configuration of Unicode/UTF-8 in modern browsers
* [http://jspwiki.org/wiki/JSPWikiBrowserCompatibility JSP Wiki Browser Compatibility page]  details specific problems with UTF-8 in older browsers
* [http://jspwiki.org/wiki/JSPWikiBrowserCompatibility JSP Wiki Browser Compatibility page]  details specific problems with UTF-8 in older browsers
* [http://tlt.psu.edu/suggestions/international/bylanguage/math.html#browsers Mathematical Symbols in Unicode]
* [http://tlt.psu.edu/suggestions/international/bylanguage/math.html#browsers Mathematical Symbols in Unicode]  
* [http://demo.icu-project.org/icu-bin/convexp?conv=UTF-8 Graphical View of UTF-8 in ICU's Converter Explorer]
* [http://demo.icu-project.org/icu-bin/convexp?conv=UTF-8 Graphical View of UTF-8 in ICU's Converter Explorer]


 
== Referensi ==
<references />


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=UTF-8&oldid=22704222 Wikipedia bahasa Indonesia], revisi 22704222 (2023-01-21T14:16:11Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=UTF-8&oldid=22704222 Wikipedia bahasa Indonesia], revisi 22704222 (2023-01-21T14:16:11Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 23 Agustus 2026 18.07

UTF-8 (Universal Character Set (UCS) Transformation Format8-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

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, €.

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

Tiga bita1110 10 10 dapat ditulis lebih singkat dalam heksadesimal, sebagai .

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 0
¢ U+00A2 110 10
U+20AC 1110 10 10
𤭢 U+24B62 11110 10 10 10

Lihat pula

Pranala luar

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.

Referensi

  1. The Unicode Standard. The Unicode Consortium. ISBN 978-1-936213-01-6.
  2. Mark Davis. Unicode nearing 50% of the web. Official Google Blog. Google. 28 January 2010.
  3. UTF-8 Usage Statistics. BuiltWith.
  4. Usage of character encodings for websites. W3Techs.
  5. H. Alvestrand. RFC 2277. Internet Engineering Task Force. 1998.
  6. Using International Characters in Internet Mail. Internet Mail Consortium. August 1, 1998.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 22704222 (2023-01-21T14:16:11Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.