Sesuatu yang telah lama membingungkan saya adalah bahwa begitu banyak perangkat lunak menggunakan istilah "charset" dan "encoding" sebagai sinonim.
Ketika orang merujuk ke "encoding" unicode, mereka selalu berarti seperangkat aturan untuk mewakili karakter unicode sebagai urutan byte - seperti ASCII, atau UTF-8. Ini tampaknya masuk akal dan intuitif; idenya adalah Anda "menyandikan" karakter-karakter itu sebagai byte menggunakan set aturan yang ditentukan.
Karena aturan tersebut terkadang hanya memberikan kemampuan untuk "menyandikan" beberapa subset dari semua karakter unicode, Anda mungkin membayangkan bahwa "charset" - kependekan dari 'set karakter' - hanya akan berarti serangkaian karakter unicode - tanpa memperhatikan bagaimana karakter-karakter tersebut dikodekan. Pengkodean dengan demikian akan menyiratkan charset (pengkodean seperti ASCII, yang hanya memiliki aturan untuk pengkodean 128 karakter, akan dikaitkan dengan charset dari 128 karakter tersebut) tetapi charset tidak perlu menyiratkan pengkodean (misalnya, UTF-8, UTF -16 dan UTF-32 semuanya merupakan penyandian yang berbeda tetapi dapat menyandikan serangkaian karakter yang sama).
Namun - dan inilah inti dari pertanyaan saya - penggunaan kata "charset" di dunia nyata tidak sesuai dengan apa yang disiratkan oleh konstruksi kata itu. Itu hampir selalu digunakan untuk berarti "encoding".
Sebagai contoh:
- The
charset
atribut dalam HTML digunakan untuk menentukan encoding Charset
s di Java adalah penyandiancharset
dancharacter sets
di MySQL, sekali lagi, penyandian
Berapa umur penggunaan bahasa yang aneh ini, dan bagaimana definisi 'charset' yang kontra-intuitif ini muncul? Apakah itu mungkin berasal dari masa ketika benar - benar ada , dalam praktiknya, pemetaan satu-ke-satu antara pengkodean yang digunakan dan serangkaian karakter yang mereka dukung? Atau adakah beberapa standar atau spesifikasi yang berpengaruh yang menentukan definisi kata ini?
charset
mendahului standar Unicode, jadi sementara itu mungkin bukan "pemetaan satu-ke-satu", karakter yang diperlukan untuk dokumen cenderung memaksa pilihan pengkodean. Tapi saya tidak punya waktu untuk meneliti sejarah sebenarnya dari kata itu ...