Menggunakan Fungsi Unicode dengan Proses Encoding pada Seluler
Oleh : Anda Sukanda,S.Pd
Bagian I
Anda Sukanda,S.Pd |
Di dalam bidang teknologi informasi dan komunikasi (TIK) kita tentu sering menggunakan halaman Web yang ditulis menggunakan hypertext markup language (HTML). Halaman web tersebut dapat berisi teks multibahasa diwakili dengan set karakter Unicode universal. Nah, hubungan antara Unicode dan HTML cenderung menjadi topik yang sulit bagi banyak profesional komputer, para penulis dokumen, dan para pengguna web sama. Representasi yang akurat dari teks pada halaman web dari bahasa alam yang berbeda dan sistem penulisan yang rumit dengan rincian penyandian karakter, sintaks bahasa markup, font, dan berbagai tingkat dukungan oleh browser web.
Halaman web biasanya didukung dengan konten atau dokumen dengan bahasa pemrograman HTML atau XHTML. Kedua jenis dokumen terdiri, pada tingkat dasar, karakter, yang grafem dan unit grafem-seperti, terlepas dari bagaimana mereka terwujud dalam sistem penyimpanan komputer dan jaringan.
Sebuah dokumen HTML merupakan urutan karakter Unicode. Lebih khusus, dokumen HTML 4.0 diwajibkan untuk terdiri dari karakter dalam set karakter dokumen HTML: repertoar karakter di mana setiap karakter diberi titik, integer non-negatif unik kode. set ini didefinisikan dalam HTML 4.0 DTD, yang juga menetapkan sintaks (urutan diijinkan karakter) yang dapat menghasilkan dokumen HTML yang valid. Dokumen HTML character set untuk HTML 4.0 terdiri dari sebagian besar, tapi tidak semua, dari karakter bersama didefinisikan oleh Unicode dan ISO / IEC 10646: Universal Character Set (UCS).
Seperti dokumen HTML, dokumen XHTML merupakan urutan karakter Unicode. Namun, dokumen XHTML adalah dokumen XML, yang sementara tidak memiliki "dokumen karakter" eksplisit lapisan abstraksi, namun bergantung pada definisi yang sama karakter diperbolehkan yang meliputi sebagian besar, tapi tidak semua, dari / definisi karakter Unicode UCS. Set yang digunakan oleh HTML dan XHTML / XML sedikit berbeda, namun perbedaan ini memiliki sedikit efek pada dokumen penulis rata-rata.
Terlepas dari apakah dokumen HTML atau XHTML, ketika disimpan pada sistem file atau dikirim melalui jaringan, karakter dokumen dikodekan sebagai urutan bit octets (bytes) sesuai dengan karakter pengkodean tertentu. pengkodean ini dapat berupa Unicode Transformation Format, seperti UTF-8, yang secara langsung dapat mengkodekan setiap karakter Unicode, atau pengkodean warisan, seperti Windows-1252, yang tidak bisa. Namun, bahkan ketika menggunakan pengkodean yang tidak mendukung semua karakter Unicode, dokumen dikodekan dapat menggunakan referensi karakter numerik. Misalnya ☺ (☺) digunakan untuk menunjukkan karakter wajah tersenyum di set karakter Unicode.
Dalam rangka mendukung Unicode, halaman web harus memiliki pengkodean yang mendukung Unicode. Yang paling populer adalah UTF-8, di mana karakter ASCII, seperti huruf Inggris, angka, dan beberapa karakter umum lainnya yang diawetkan tidak berubah terhadap ASCII. Hal ini membuat kode HTML (seperti
dan ) tidak berubah dibandingkan dengan ASCII. Karakter di luar jangkauan ASCII disimpan dalam 2-4 byte. Hal ini juga memungkinkan untuk menggunakan UTF-16 di mana karakter kebanyakan disimpan sebagai dua byte dengan endianness bervariasi, yang didukung oleh browser modern tetapi kurang umum digunakan. Hal ini juga memungkinkan untuk menggunakan pengkodean satu-byte-per-karakter dan menggunakan referensi karakter numerik (lihat di bawah) tetapi hal ini jarang terjadi.
[Sunting] referensi Numeric karakter
Artikel utama: Numeric referensi karakter
Untuk bekerja di sekitar keterbatasan pengkodean warisan, HTML dirancang sedemikian rupa sehingga memungkinkan untuk mewakili karakter dari seluruh Unicode dalam sebuah dokumen HTML dengan menggunakan acuan karakter numerik: urutan karakter yang secara eksplisit menguraikan titik kode Unicode dari karakter yang diwakili. Referensi karakter mengambil bentuk & # N;, dimana N merupakan angka desimal baik untuk jalur kode Unicode, atau nomor heksadesimal, dalam hal ini harus diawali oleh x. Karakter yang membentuk acuan karakter numerik yang universal representable di setiap pengkodean disetujui untuk digunakan di Internet.
Sebagai contoh, kode Unicode titik seperti U 53 F6, yang sesuai dengan karakter Cina tertentu, harus diubah menjadi angka desimal, diawali dengan & # dan diikuti oleh;, seperti ini: 叶, yang menghasilkan ini: 叶 (jika tidak terlihat seperti karakter Cina, lihat karakter khusus catatan di bawah artikel).
Dukungan untuk heksadesimal dalam konteks ini adalah lebih baru, browser jadi lebih tua mungkin memiliki masalah menampilkan karakter yang direferensikan dengan angka heksadesimal-tapi mereka mungkin akan punya masalah menampilkan karakter Unicode di atas titik kode 255 saja. Untuk memastikan kompatibilitas yang lebih baik dengan browser lama, masih merupakan praktek umum untuk mengubah titik kode heksadesimal ke nilai desimal (misalnya untuk 叶 bukan 叶).
[Sunting] Named entitas karakter
Artikel utama: karakter referensi entitas
Dalam HTML ada seperangkat standar 252 entitas karakter bernama untuk karakter - beberapa umum, beberapa jelas - yang baik tidak ditemukan dalam pengkodean karakter tertentu atau markup sensitif dalam beberapa konteks (untuk contoh kurung sudut dan tanda kutip). Meskipun setiap karakter Unicode bisa direferensikan oleh titik kode angka nya, beberapa penulis dokumen HTML lebih suka menggunakan entitas bernama sebaliknya, di mana mungkin, karena mereka kurang samar dan lebih baik didukung oleh browser awal.
Karakter entitas dapat dimasukkan dalam sebuah dokumen HTML melalui penggunaan referensi entitas, yang mengambil bentuk &EntityName;, dimana EntityName adalah nama entitas. Misalnya, -, mirip - atau -, merupakan U 2014: karakter em dash - seperti ini - bahkan jika pengkodean karakter yang digunakan tidak mengandung karakter.
Dalam rangka proses benar HTML, web browser harus memastikan karakter Unicode yang diwakili oleh bentuk dikodekan dari sebuah dokumen HTML. Untuk melakukan hal ini, web browser harus tahu apa encoding yang digunakan. Jika dokumen yang dikirim melalui pesan MIME atau transportasi yang menggunakan jenis MIME konten seperti respon HTTP, pesan mungkin pengkodean sinyal melalui sebuah header Content-Type, seperti Content-Type: text / html; charset = ISO- 8859-1. berarti eksternal lain menyatakan pengkodean yang diijinkan tetapi jarang digunakan. pengkodean ini juga dapat dinyatakan dalam dokumen itu sendiri, dalam bentuk elemen META, seperti http-equiv="content-type" . Ini membutuhkan perpanjangan ASCII yang akan digunakan, seperti UTF-8. Ketika tidak ada deklarasi pengkodean, default bervariasi tergantung pada lokalisasi browser.
Untuk sistem mengatur terutama untuk bahasa Eropa Barat, umumnya akan ISO-8859-1 atau yang dekat hubungan Windows-1252. Untuk browser dari lokasi dimana pengkodean karakter multibyte adalah norma, beberapa bentuk autodetection kemungkinan untuk diterapkan.
Karena warisan representasi teks 8-bit dalam bahasa pemrograman dan sistem operasi dan keinginan untuk menghindari membebani pengguna dengan kebutuhan untuk memahami nuansa pengkodean, editor teks yang digunakan oleh penulis HTML tidak mampu atau tidak mau memberikan pilihan pengkodean saat menyimpan file ke disk dan sering tidak memungkinkan masukan karakter di luar rentang yang sangat terbatas. Akibatnya banyak HTML penulis tidak menyadari masalah pengkodean dan mungkin tidak tahu apa pengkodean dokumen mereka benar-benar digunakan. Ini juga merupakan umum kesalahpahaman bahwa efek deklarasi pengkodean perubahan dalam pengkodean yang sebenarnya - bahwa itu sebenarnya hanya sebuah label yang bisa tidak akurat.
Banyak dokumen HTML dilayani dengan deklarasi pengkodean yang tidak akurat, atau tidak ada deklarasi sama sekali. Dalam rangka untuk menentukan encoding dalam kasus seperti itu, banyak browser memungkinkan pengguna untuk secara manual memilih satu dari daftar. Mereka juga dapat menggunakan algoritma encoding autodetection yang bekerja di konser dengan manual override. Menimpa manual mungkin berlaku untuk semua dokumen, atau hanya mereka yang pengkodean tidak dapat dipastikan dengan melihat pernyataan dan / atau pola byte. Fakta bahwa manual override hadir dan banyak digunakan menghambat adopsi deklarasi pengkodean yang akurat di Web, sehingga masalah tersebut mungkin untuk bertahan. Ini telah diatasi agak oleh XHTML, dimana, XML, mensyaratkan bahwa deklarasi pengkodean akurat dan bahwa tidak ada workarounds digunakan ketika mereka ditemukan tidak akurat. Meskipun XML tidak mengizinkan protokol yang lebih tinggi untuk mengesampingkan pengkodean atau informasi handoff pengkodean dokumen tanpa deklarasi pengkodean, HTTP hanya melakukannya untuk sumber daya dengan konten-type "text / *". Oleh karena itu untuk dokumen XML dan dokumen XHTML yang disampaikan sebagai konten-type "application / xhtml + xml" tidak ada bahaya yang tidak akurat informasi header HTTP akan menimpa XML benar menyatakan (dan XHTML) dokumen.
Untuk kedua serializations dari HTML (content-type "text / html" dan isi / ketik "application / xhtml + xml") menggunakan UTF-16 (atau UTF-32) juga menyediakan cara yang efektif untuk mengirimkan informasi encoding dalam dokumen HTML. Karena pengkodean UTF membutuhkan karakter byte-order awal Mark (U + FEFF), pengkodean secara otomatis menyatakan dirinya ke aplikasi pengolahan. Pengolahan aplikasi hanya perlu melihat untuk 0x0000FEFF awal atau 0xFEFF dalam uap byte untuk mengidentifikasi dokumen sebagai UTF-32 atau UTF-16 encoded masing-masing. Tidak ada mekanisme metadata tambahan yang dibutuhkan untuk pengkodean sejak tanda byte-order mencakup semua informasi yang diperlukan untuk memproses permohonan. Dalam keadaan paling byte karakter tanda-order ditangani oleh aplikasi editing terpisah dari karakter lain sehingga ada sedikit risiko seorang penulis menghapus atau mengubah tanda perintah byte untuk menunjukkan pengkodean yang salah (seperti dapat terjadi ketika pengkodean ini dideklarasikan pada Inggris / Latin script). Jika dokumen tidak memiliki tanda byte-order, fakta bahwa karakter dicetak pertama non-kosong dalam dokumen HTML seharusnya <(U 003 C) dapat digunakan untuk menentukan sebuah UTF-8/UTF-16/UTF- 32 encoding.
Seperti dokumen HTML, dokumen XHTML merupakan urutan karakter Unicode. Namun, dokumen XHTML adalah dokumen XML, yang sementara tidak memiliki "dokumen karakter" eksplisit lapisan abstraksi, namun bergantung pada definisi yang sama karakter diperbolehkan yang meliputi sebagian besar, tapi tidak semua, dari / definisi karakter Unicode UCS. Set yang digunakan oleh HTML dan XHTML / XML sedikit berbeda, namun perbedaan ini memiliki sedikit efek pada dokumen penulis rata-rata.
Terlepas dari apakah dokumen HTML atau XHTML, ketika disimpan pada sistem file atau dikirim melalui jaringan, karakter dokumen dikodekan sebagai urutan bit octets (bytes) sesuai dengan karakter pengkodean tertentu. pengkodean ini dapat berupa Unicode Transformation Format, seperti UTF-8, yang secara langsung dapat mengkodekan setiap karakter Unicode, atau pengkodean warisan, seperti Windows-1252, yang tidak bisa. Namun, bahkan ketika menggunakan pengkodean yang tidak mendukung semua karakter Unicode, dokumen dikodekan dapat menggunakan referensi karakter numerik. Misalnya ☺ (☺) digunakan untuk menunjukkan karakter wajah tersenyum di set karakter Unicode.
Dalam rangka mendukung Unicode, halaman web harus memiliki pengkodean yang mendukung Unicode. Yang paling populer adalah UTF-8, di mana karakter ASCII, seperti huruf Inggris, angka, dan beberapa karakter umum lainnya yang diawetkan tidak berubah terhadap ASCII. Hal ini membuat kode HTML (seperti
dan ) tidak berubah dibandingkan dengan ASCII. Karakter di luar jangkauan ASCII disimpan dalam 2-4 byte. Hal ini juga memungkinkan untuk menggunakan UTF-16 di mana karakter kebanyakan disimpan sebagai dua byte dengan endianness bervariasi, yang didukung oleh browser modern tetapi kurang umum digunakan. Hal ini juga memungkinkan untuk menggunakan pengkodean satu-byte-per-karakter dan menggunakan referensi karakter numerik (lihat di bawah) tetapi hal ini jarang terjadi.
[Sunting] referensi Numeric karakter
Artikel utama: Numeric referensi karakter
Untuk bekerja di sekitar keterbatasan pengkodean warisan, HTML dirancang sedemikian rupa sehingga memungkinkan untuk mewakili karakter dari seluruh Unicode dalam sebuah dokumen HTML dengan menggunakan acuan karakter numerik: urutan karakter yang secara eksplisit menguraikan titik kode Unicode dari karakter yang diwakili. Referensi karakter mengambil bentuk & # N;, dimana N merupakan angka desimal baik untuk jalur kode Unicode, atau nomor heksadesimal, dalam hal ini harus diawali oleh x. Karakter yang membentuk acuan karakter numerik yang universal representable di setiap pengkodean disetujui untuk digunakan di Internet.
Sebagai contoh, kode Unicode titik seperti U 53 F6, yang sesuai dengan karakter Cina tertentu, harus diubah menjadi angka desimal, diawali dengan & # dan diikuti oleh;, seperti ini: 叶, yang menghasilkan ini: 叶 (jika tidak terlihat seperti karakter Cina, lihat karakter khusus catatan di bawah artikel).
Dukungan untuk heksadesimal dalam konteks ini adalah lebih baru, browser jadi lebih tua mungkin memiliki masalah menampilkan karakter yang direferensikan dengan angka heksadesimal-tapi mereka mungkin akan punya masalah menampilkan karakter Unicode di atas titik kode 255 saja. Untuk memastikan kompatibilitas yang lebih baik dengan browser lama, masih merupakan praktek umum untuk mengubah titik kode heksadesimal ke nilai desimal (misalnya untuk 叶 bukan 叶).
[Sunting] Named entitas karakter
Artikel utama: karakter referensi entitas
Dalam HTML ada seperangkat standar 252 entitas karakter bernama untuk karakter - beberapa umum, beberapa jelas - yang baik tidak ditemukan dalam pengkodean karakter tertentu atau markup sensitif dalam beberapa konteks (untuk contoh kurung sudut dan tanda kutip). Meskipun setiap karakter Unicode bisa direferensikan oleh titik kode angka nya, beberapa penulis dokumen HTML lebih suka menggunakan entitas bernama sebaliknya, di mana mungkin, karena mereka kurang samar dan lebih baik didukung oleh browser awal.
Karakter entitas dapat dimasukkan dalam sebuah dokumen HTML melalui penggunaan referensi entitas, yang mengambil bentuk &EntityName;, dimana EntityName adalah nama entitas. Misalnya, -, mirip - atau -, merupakan U 2014: karakter em dash - seperti ini - bahkan jika pengkodean karakter yang digunakan tidak mengandung karakter.
Dalam rangka proses benar HTML, web browser harus memastikan karakter Unicode yang diwakili oleh bentuk dikodekan dari sebuah dokumen HTML. Untuk melakukan hal ini, web browser harus tahu apa encoding yang digunakan. Jika dokumen yang dikirim melalui pesan MIME atau transportasi yang menggunakan jenis MIME konten seperti respon HTTP, pesan mungkin pengkodean sinyal melalui sebuah header Content-Type, seperti Content-Type: text / html; charset = ISO- 8859-1. berarti eksternal lain menyatakan pengkodean yang diijinkan tetapi jarang digunakan. pengkodean ini juga dapat dinyatakan dalam dokumen itu sendiri, dalam bentuk elemen META, seperti http-equiv="content-type" . Ini membutuhkan perpanjangan ASCII yang akan digunakan, seperti UTF-8. Ketika tidak ada deklarasi pengkodean, default bervariasi tergantung pada lokalisasi browser.
Untuk sistem mengatur terutama untuk bahasa Eropa Barat, umumnya akan ISO-8859-1 atau yang dekat hubungan Windows-1252. Untuk browser dari lokasi dimana pengkodean karakter multibyte adalah norma, beberapa bentuk autodetection kemungkinan untuk diterapkan.
Karena warisan representasi teks 8-bit dalam bahasa pemrograman dan sistem operasi dan keinginan untuk menghindari membebani pengguna dengan kebutuhan untuk memahami nuansa pengkodean, editor teks yang digunakan oleh penulis HTML tidak mampu atau tidak mau memberikan pilihan pengkodean saat menyimpan file ke disk dan sering tidak memungkinkan masukan karakter di luar rentang yang sangat terbatas. Akibatnya banyak HTML penulis tidak menyadari masalah pengkodean dan mungkin tidak tahu apa pengkodean dokumen mereka benar-benar digunakan. Ini juga merupakan umum kesalahpahaman bahwa efek deklarasi pengkodean perubahan dalam pengkodean yang sebenarnya - bahwa itu sebenarnya hanya sebuah label yang bisa tidak akurat.
Banyak dokumen HTML dilayani dengan deklarasi pengkodean yang tidak akurat, atau tidak ada deklarasi sama sekali. Dalam rangka untuk menentukan encoding dalam kasus seperti itu, banyak browser memungkinkan pengguna untuk secara manual memilih satu dari daftar. Mereka juga dapat menggunakan algoritma encoding autodetection yang bekerja di konser dengan manual override. Menimpa manual mungkin berlaku untuk semua dokumen, atau hanya mereka yang pengkodean tidak dapat dipastikan dengan melihat pernyataan dan / atau pola byte. Fakta bahwa manual override hadir dan banyak digunakan menghambat adopsi deklarasi pengkodean yang akurat di Web, sehingga masalah tersebut mungkin untuk bertahan. Ini telah diatasi agak oleh XHTML, dimana, XML, mensyaratkan bahwa deklarasi pengkodean akurat dan bahwa tidak ada workarounds digunakan ketika mereka ditemukan tidak akurat. Meskipun XML tidak mengizinkan protokol yang lebih tinggi untuk mengesampingkan pengkodean atau informasi handoff pengkodean dokumen tanpa deklarasi pengkodean, HTTP hanya melakukannya untuk sumber daya dengan konten-type "text / *". Oleh karena itu untuk dokumen XML dan dokumen XHTML yang disampaikan sebagai konten-type "application / xhtml + xml" tidak ada bahaya yang tidak akurat informasi header HTTP akan menimpa XML benar menyatakan (dan XHTML) dokumen.
Untuk kedua serializations dari HTML (content-type "text / html" dan isi / ketik "application / xhtml + xml") menggunakan UTF-16 (atau UTF-32) juga menyediakan cara yang efektif untuk mengirimkan informasi encoding dalam dokumen HTML. Karena pengkodean UTF membutuhkan karakter byte-order awal Mark (U + FEFF), pengkodean secara otomatis menyatakan dirinya ke aplikasi pengolahan. Pengolahan aplikasi hanya perlu melihat untuk 0x0000FEFF awal atau 0xFEFF dalam uap byte untuk mengidentifikasi dokumen sebagai UTF-32 atau UTF-16 encoded masing-masing. Tidak ada mekanisme metadata tambahan yang dibutuhkan untuk pengkodean sejak tanda byte-order mencakup semua informasi yang diperlukan untuk memproses permohonan. Dalam keadaan paling byte karakter tanda-order ditangani oleh aplikasi editing terpisah dari karakter lain sehingga ada sedikit risiko seorang penulis menghapus atau mengubah tanda perintah byte untuk menunjukkan pengkodean yang salah (seperti dapat terjadi ketika pengkodean ini dideklarasikan pada Inggris / Latin script). Jika dokumen tidak memiliki tanda byte-order, fakta bahwa karakter dicetak pertama non-kosong dalam dokumen HTML seharusnya <(U 003 C) dapat digunakan untuk menentukan sebuah UTF-8/UTF-16/UTF- 32 encoding.
(Bersambung……………)
mohon bantuannya niehhh ... supaya bisa menuasainya, kapannn???
BalasHapuslieur oge, tapi mana jilid selanjutnya nih!?
BalasHapuskumaha atuh nya kumahaaaaaaaaaaa ... apanan laptopna can aya bulutut na aya ge Pa Lutut he he he .... mana euyy lanjutanna
BalasHapusLanjutkan Kang!!! mana jilid II na?
BalasHapusunicvode? bahasa mana
BalasHapusya??
bagian 2 nu Fungsi Unicode tos di rilis ?
BalasHapusdi tunggu bagian 2 na
BalasHapus