UTF-8: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 22704222; atribusi sumber disertakan. |
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.<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 | |||
|- | |||
! 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]] | ||
== 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, €.
- '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
20ACadalah 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 (
1110), menyisakan ...000010101100. - Setiap kelanjutan bita dimulai dengan
10dan dibutuhkan enam bit code point (maka10, lalu10).
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
- 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
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.
- Original UTF-8 paper (or pdf ) for Plan 9 from Bell Labs
- RFC 5198 defines UTF-8 NFC for Network Interchange
- UTF-8 test pages by Andreas Prilop , Jost Gippert and the World Wide Web Consortium
- How to configure e-mail clients to send UTF-8 text
- Unix/Linux: UTF-8/Unicode FAQ, Linux Unicode HOWTO , UTF-8 and Gentoo
- The Unicode/UTF-8-character table displays UTF-8 in a variety of formats (with Unicode and HTML encoding information)
- Unicode and Multilingual Web Browsers from Alan Wood's Unicode Resources describes support and additional configuration of Unicode/UTF-8 in modern browsers
- JSP Wiki Browser Compatibility page details specific problems with UTF-8 in older browsers
- Mathematical Symbols in Unicode
- Graphical View of UTF-8 in ICU's Converter Explorer
Referensi
- ↑ The Unicode Standard. The Unicode Consortium. ISBN 978-1-936213-01-6.
- ↑ Mark Davis. Unicode nearing 50% of the web. Official Google Blog. Google. 28 January 2010.
- ↑ UTF-8 Usage Statistics. BuiltWith.
- ↑ Usage of character encodings for websites. W3Techs.
- ↑ H. Alvestrand. RFC 2277. Internet Engineering Task Force. 1998.
- ↑ 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.