Dan Mail Format Site:

Set Karakter: tubuh

Jika Anda perlu menggunakan huruf beraksen atau simbol matematika dalam pesan Anda, atau Anda bertanya-tanya apakah ada cara untuk menyisipkan "tanda euro", atau Anda mengamati bahwa pesan orang lain berisi sampah di mana karakter khusus harus, artikel ini akan membantu Anda memahami isu-isu yang terlibat.

Catatan: Beberapa orang berkelok-kelok di halaman ini ketika mereka mencari string: The message contains Unicode characters and has been sent as a binary attachment. Mereka mungkin menerima pesan e-mail dengan teks ini. Ini adalah virus ; tidak membuka lampiran. Pesan Unicode nyata (yang dijelaskan di bawah) tidak perlu lampiran biner.

Cast Karakter Komputer Anda

Komputer adalah perangkat yang sangat kuat. Namun, mereka memiliki keterbatasan yang sangat signifikan: semua mereka benar-benar mampu menghadapi nomor yaitu. Apa pun - kata, gambar, suara, klip video - perlu diubah menjadi urutan angka agar komputer untuk menghadapinya. Itulah pekerjaan standar format data, untuk memastikan bahwa komputer yang berbeda dan program setuju dengan satu sama lain tentang apa data yang diwakili oleh sekelompok tertentu angka. Dalam usia ini "point-and-klik" perangkat lunak, pengguna sudah terbiasa untuk dapat menyeret, drop, cut, paste, upload, dan download apapun multimedia. Mereka jarang berhenti untuk berpikir tentang apa yang sebenarnya terjadi "di bawah tenda" dari komputer mereka, kecuali ketika sesuatu berjalan salah dan file data keluar sebagai massa sampah di layar komputer; pada saat itu, mengetahui bagaimana data dikodekan adalah penting untuk mencari tahu apa yang gagal dan bagaimana memperbaikinya.

Artikel ini menyangkut diri dengan bagaimana toko komputer dan mengirimkan teks . (Jenis lain dari data yang dibahas dalam lampiran file halaman.) Text adalah salah satu jenis yang paling awal dari data yang orang ingin menyimpan di komputer, sehingga para pengembang telah datang dengan skema untuk mewakili teks sebagai nomor untuk setengah abad terakhir. Setelah beberapa sistem pengkodean proprietary yang dirancang oleh produsen komputer, keinginan untuk karakter yang universal pengkodean standar untuk digunakan secara konsisten oleh semua orang menyebabkan Memikirkan ASCII (American Standard Kode untuk Informasi Interchange) di awal 1960-an. Untuk sementara, ASCII berjuang "VHS vs Beta" pertempuran -gaya dengan pengkodean bersaing karakter lain seperti EBCDIC dan Baudot, tapi menang pada akhirnya. (Namun, seperti format video berbasis Beta masih ditemukan di penggunaan profesional khusus, pengkodean karakter lain masih memiliki ceruk mereka, ada IBM mainframe yang menggunakan EBCDIC, dan perangkat telekomunikasi untuk tuna rungu menggunakan Baudot Siapa saja perlu untuk mentransfer data dari. ini untuk hal lain, bagaimanapun, perlu untuk mengubahnya menjadi ASCII.) Setelah beberapa revisi selama bertahun-tahun, bentuk ASCII dikenal sebagai US-ASCII sekarang "common denominator" set karakter yang dipahami oleh hampir semua sistem komputer saat ini digunakan.

Di set karakter ASCII, setiap huruf, angka, dan tanda baca dalam sepotong teks diwakili oleh nomor dari 0 sampai 127. (dalam kode biner yang digunakan oleh komputer, ini membutuhkan waktu 7 bit , atau digit biner, ke toko. ) Sebagai contoh, huruf kapital A diwakili dengan jumlah 65. Anda bisa melihat pentingnya standar set karakter yang konsisten; jika komputer lain menggunakan pengkodean karakter yang mewakili huruf Z dengan jumlah 65, maka siapa pun mencoba untuk membaca dokumen ditransfer ke komputer ini dari salah satu yang menggunakan ASCII akan melihat Z di mana-mana A dimaksudkan oleh penulis. Aristoteles dan Ayn Rand membuat kesepakatan besar tentang bagaimana "A adalah A", tetapi jika set karakter Anda tidak cocok, A mungkin Z!

Meskipun ada 128 karakter dalam ASCII set, beberapa dari mereka adalah karakter kontrol seperti tab dan linefeeds (dan hal-hal yang lebih eksotis seperti Satuan Separator dan Device Control 2 yang jarang digunakan hari ini). Karakter biasa termasuk alfabet 26 huruf dalam kasus atas dan bawah, yang 10 digit, dan berbagai tanda baca umum seperti periode dan titik koma. teks bahasa Inggris-bahasa yang normal dapat ditulis dengan sangat baik di "polos" ASCII (meskipun Anda harus menggunakan hanya "lurus" kutipan dan apostrof, bukan jenis keriting, yang saya akan bahas nanti).

 

US-ASCII Characters
0 NUL   16 DLE   32 SP   48 0   64 @   80 P   96 `   112 p
1 SOH   17 DC1   33 !   49 1   65 A   81 Q   97 a   113 q
2 STX   18 DC2   34 "   50 2   66 B   82 R   98 b   114 r
3 ETX   19 DC3   35 #   51 3   67 C   83 S   99 c   115 s
4 EOT   20 DC4   36 $   52 4   68 D   84 T   100 d   116 t
5 ENQ   21 NAK   37 %   53 5   69 E   85 U   101 e   117 u
6 ACK   22 SYN   38 &   54 6   70 F   86 V   102 f   118 v
7 BEL   23 ETB   39 '   55 7   71 G   87 W   103 g   119 w
8 BS   24 CAN   40 (   56 8   72 H   88 X   104 h   120 x
9 HT   25 EM   41 )   57 9   73 I   89 Y   105 i   121 y
10 LF   26 SUB   42 *   58 :   74 J   90 Z   106 j   122 z
11 VT   27 ESC   43 +   59 ;   75 K   91 [   107 k   123 {
12 FF   28 FS   44 ,   60 <   76 L   92 \   108 l   124 |
13 CR   29 GS   45 -   61 =   77 M   93 ]   109 m   125 }
14 SO   30 RS   46 .   62 >   78 N   94 ^   110 n   126 ~
15 SI   31 US   47 /   63 ?   79 O   95 _   111 o   127 DEL

 

Untungnya, ASCII diadopsi dengan cara yang cukup universal yang dapat Anda hampir yakin bahwa apa pun yang ditulis menggunakan karakter dalam set ini (selain karakter kontrol, anyway) akan muncul dengan cara yang sama itu ditulis, tidak peduli apa sistem dan program itu dikirim melalui. Untuk pengguna e-mail (ya, saya lakukan berencana untuk mendapatkan kembali di-topik untuk situs ini akhirnya!), Ini berarti bahwa karakter ASCII adalah karakter yang sangat aman untuk digunakan. Jika pesan Anda seluruhnya terdiri dari huruf, angka, dan tanda baca dalam ASCII set, Anda tidak akan memiliki masalah dengan mudah dibaca mereka. (Bahkan, itu bahkan hukum di bawah standar format e-mail untuk menyertakan karakter kontrol dalam pesan, dengan kondisi khusus yang carriage return dan linefeeds hanya dapat terjadi bersama-sama untuk membuat satu baris, tidak secara terpisah. Namun, selain dari jeda baris dan tab, ada benar-benar ada gunanya untuk termasuk kontrol karakter dalam e-mail, dan tidak ada interpretasi yang konsisten terbuat dari mereka oleh program di ujung penerima. The FormFeed karakter, # 12, namun, memiliki beberapa penggunaan tradisional di newsgroup untuk menandai " spoiler "dalam diskusi tentang buku, film, dan sejenisnya;. beberapa pembaca berita jeda untuk tombol ditekan sebelum melanjutkan dari titik itu, atau tidak jelas apa yang berikut karakter sampai Anda siap untuk melihatnya fitur ini kurang umum di-arus hari mail atau berita pembaca, namun.)

Satu hal yang perlu diperhatikan tentang karakter kontrol adalah bahwa ada beberapa perbedaan platform dalam bagaimana satu baris diwakili; dengan standar tradisional, dua karakter CR (# 13) dan LF (# 10) pergi bersama-sama untuk mengakhiri garis. sistem Windows melakukannya dengan cara ini (sehingga Microsoft benar-benar mengikuti standar tradisional di sini untuk perubahan!), sementara Unix, Linux dan sistem serupa hanya menggunakan karakter LF, dan MacOS tradisional hanya digunakan karakter CR. (Namun, versi MacOS terbaru adalah Unix berbasis dan telah beralih menggunakan karakter LF.) Ini kadang-kadang dapat menyebabkan kerepotan ketika file teks yang ditransfer antara sistem, tapi saya tidak melihat ada masalah e-mail; baik semua klien mail dan server mengikuti standar benar sejalan encoding break terlepas dari platform, atau mereka cukup kuat untuk mengenali istirahat varian sistem lain dan bekerja transparan dengan mereka.

Tab (# 9) juga dapat menjadi masalah, karena program mungkin berbeda dalam berapa banyak ruang yang mereka buat antara berhenti tab.

Di luar ASCII

Sisa dunia tidak semua berbicara bahasa Inggris, meskipun, dan ada di mana ASCII menjadi bermasalah. Anda tidak perlu menjadi aneh PC kiri untuk menemukan ada menjadi beberapa bias budaya untuk memberikan komputer "standar" set karakter yang mewakili Inggris dengan baik, tapi menghilangkan huruf dengan aksen, umlauts, dan tanda diakritik lainnya, digunakan dalam banyak bahasa lainnya. Juga hilang adalah huruf lain seperti Yunani dan Cyrillic, simbol mata uang selain tanda dolar, dan simbol-simbol khusus yang diperlukan untuk aplikasi canggih seperti matematika yang lebih tinggi. Untuk komputer untuk dapat digunakan di seluruh dunia, perlu untuk melampaui ASCII.

Karena standar byte (unit penyimpanan data) pada komputer pribadi adalah 8 bit, dan ASCII hanya menggunakan 7 bit, hal yang jelas untuk lakukan adalah untuk menempatkan bit kedelapan mulai digunakan, menggandakan jumlah karakter yang dapat direpresentasikan. Ini bisa menjadi masalah dengan perangkat lunak yang lebih tua yang digunakan bit kedelapan sebagai checksum atau mode bendera, namun pada akhirnya menjadi biasa untuk komputer menggunakan semua delapan bit untuk penyimpanan karakter. Sayangnya, butuh beberapa saat untuk standar muncul mengenai hanya apa karakter berada di mereka 128 posisi lain (mewakili nomor dari 128 ke 255). Platform yang berbeda digunakan kombinasi yang berbeda dari huruf beraksen, simbol, karakter kotak-gambar, dan hal-hal lain. Mode text IBM PC memiliki satu set, Macintosh digunakan lagi, dan ketika Windows datang itu belum yang berbeda. Versi sistem komputer yang ditujukan untuk pasar negara-negara yang berbeda juga akan berbeda-beda sehingga karakter tertentu yang diperlukan untuk bahasa lokal akan didukung. Ini bukan situasi yang sangat baik untuk pertukaran data antara sistem yang berbeda.

Untungnya, Organisasi Internasional untuk Standardisasi (yang, untuk beberapa alasan, disingkat ISO bukan IOS, sebenarnya, menurut situs mereka , itu tidak benar-benar dimaksudkan untuk berdiri selama inisial mereka yang sebenarnya, agar tidak menyinggung berbagai negara yang akan menyingkat secara berbeda dalam berbagai bahasa; jenis pemasaran hari ini tampaknya seperti initialisms dan akronim yang tidak berdiri untuk apa pun, anyway) keluar dengan sekelompok set karakter standar. Mereka tidak bisa hanya keluar dengan satu set karakter bersatu, karena bahasa yang berbeda dari dunia memiliki lebih banyak karakter antara mereka daripada akan cocok dalam kelompok 8-bit tunggal karakter. Sebaliknya, mereka keluar dengan berbagai set karakter (yang ditunjuk sebagai seri ISO 8859) yang dirancang untuk berbagai kelompok bahasa. Salah satu yang paling umum digunakan adalah ISO-8859-1 , juga dikenal sebagai "Latin-1", yang berisi karakter berguna untuk bahasa-bahasa Eropa Barat. Set ini karakter (atau, lebih baik, "karakter encoding"; puritan akan menunjukkan bahwa "set", atau "repertoar", adalah kelompok karakter yang tersedia, tetapi "encoding" menentukan apa yang nomor sesuai karakter yang) adalah sebenarnya sama dengan milik "Windows-1252" encoding, dengan pengecualian bahwa kelompok karakter pada posisi # 128 melalui # 159, dimana Windows menempatkan beberapa karakter termasuk tanda merek dagang (™) dan "keriting" kutipan, malah dilindungi untuk karakter kontrol dalam ISO-8859-1. Standar ISO lain, ISO 6429, benar-benar memberikan nama culun dan singkatan untuk karakter kontrol ini, seperti dari "Reverse Line Feed" dan "Control Urutan Introducer". Aku tidak tahu apa yang sebenarnya program menggunakan karakter kontrol ini, tapi saya tidak berpikir itu masuk akal untuk menggunakannya dalam pesan e-mail. (Bahkan jika itu terjadi, itu tidak akan aman, karena program-program, pada Windows setidaknya, cenderung menganggap bahwa posisi karakter yang ditempati oleh karakter Microsoftism proprietary dari set karakter Windows, daripada karakter kontrol standar benar-benar mengatakan berada di posisi mereka.) Namun, untuk kelengkapan, saya termasuk mereka di sini di grafik karakter # 128 melalui # 255 dari encoding ISO-8859-1 (karakter # 0- # 127 adalah sama seperti di US-ASCII ).

 

ISO-8859-1 characters (with ISO 6429 controls)
128 XXX   144 DCS   160 NBSP   176 °   192 À   208 Ð   224 à   240 ð
129 XXX   145 PU1   161 ¡   177 ±   193 Á   209 Ñ   225 á   241 ñ
130 BPH   146 PU2   162 ¢   178 ²   194 Â   210 Ò   226 â   242 ò
131 NBH   147 STS   163 £   179 ³   195 Ã   211 Ó   227 ã   243 ó
132 IND   148 CCH   164 ¤   180 ´   196 Ä   212 Ô   228 ä   244 ô
133 NEL   149 MW   165 ¥   181 µ   197 Å   213 Õ   229 å   245 õ
134 SSA   150 SPA   166 ¦   182   198 Æ   214 Ö   230 æ   246 ö
135 ESA   151 EPA   167 §   183 ·   199 Ç   215 ×   231 ç   247 ÷
136 HTS   152 SOS   168 ¨   184 ¸   200 È   216 Ø   232 è   248 ø
137 HTJ   153 XXX   169 ©   185 ¹   201 É   217 Ù   233 é   249 ù
138 VTS   154 SCI   170 ª   186 º   202 Ê   218 Ú   234 ê   250 ú
139 PLD   155 CSI   171 «   187 »   203 Ë   219 Û   235 ë   251 û
140 PLU   156 ST   172 ¬   188 ¼   204 Ì   220 Ü   236 ì   252 ü
141 RI   157 OSC   173 SHY   189 ½   205 Í   221 Ý   237 í   253 ý
142 SS2   158 PM   174 ®   190 ¾   206 Î   222 Þ   238 î   254 þ
143 SS3   159 APC   175 ¯   191 ¿   207 Ï   223 ß   239 ï   255 ÿ

 

The "XXX" karakter control, kebetulan, tidak digunakan oleh industri pornografi; mereka hanya meninggalkan terdefinisi dengan standar. Lagi pula, karena ISO-8859-1 adalah salah satu dari beberapa pengkodean karakter bahasa tertentu, perlu untuk setiap protokol yang mengirim dan menerima teks untuk memiliki beberapa cara yang menunjukkan encoding yang digunakan. Salah satu kemungkinan adalah untuk menyatakan dengan fiat yang satu encoding adalah standar; ISO-8859-1 (Latin-1) adalah de-facto standar hari ini dalam banyak kasus di mana tidak menunjukkan hal yang sebaliknya; karakter di set ini, di samping yang US-ASCII, yang "paling aman" yang digunakan dalam teks, karena kebanyakan sistem komputer dapat memahami mereka. Namun, ini daun keluar bahasa lain diwakili oleh pengkodean yang berbeda. Untungnya, sebagian besar protokol, termasuk untuk Web dan e-mail, menyediakan indikasi eksplisit dari pengkodean karakter. Untuk e-mail, hal itu dilakukan di Content-Typeheader dengan penambahan charsetparameter. Jadi, untuk menunjukkan pesan teks biasa dalam encoding ISO-8859-1, ini muncul di header:

Content-Type: text/plain; charset=iso-8859-1

Dikutip cetak

Hanya ada satu masalah lagi; yang standar format surat (RFC 2822) melarang penggunaan karakter dari jangkauan ASCII 7-bit. Alasan untuk ini adalah bahwa karakter 8-bit mungkin memiliki efek tak terduga pada program dan jaringan yang tidak terpakai kepada mereka. Ini mungkin lebih dari sebuah keprihatinan akademik abstrak saat ini, tapi di masa lalu tidak begitu jauh banyak e-mail yang sedang ditransfer melalui jaringan yang digunakan bit kedelapan sebagai bendera atau checksum. Untuk menghindari menyebabkan masalah dalam situasi seperti itu, dicetak dikutip dan base64 sistem pengkodean yang dirancang untuk memungkinkan apapun data yang akan dikirim murni dalam karakter ASCII yang aman. Base64 dirancang untuk transmisi data biner, dan akan dibahas lebih dalam berkas lampiran artikel. (Beberapa spammer yang menyandikan teks tubuh utama mereka di base64 sebagai teknik mengaburkan!) Dikutip dicetak dirancang untuk pesan teks biasa yang mungkin mengandung beberapa karakter non-ASCII. Bagian dari pesan yang terdiri dari ASCII biasa karakter yang dapat dicetak disimpan tidak berubah, sementara "khusus" karakter (termasuk karakter kontrol, dan apa pun di atas karakter # 127) dikodekan sebagai urutan yang terdiri dari tanda sama dengan (=) diikuti oleh dua heksadesimal (basis 16) digit (ini terdiri dari angka 0 sampai 9 dan A sampai F huruf). Penggunaan tanda sama sebagai karakter khusus berarti bahwa itu juga, harus dikodekan (sebagai " =3D"). Beberapa lebih aturan yang digunakan untuk menangani jeda baris dan spasi.

Jika program email penerima mengerti dikutip encoding printable (karena hampir semua lakukan hari ini), pengkodean ini dibatalkan pada akhir penerimaan, sehingga karakter keluar dengan cara yang sama mereka datang. Jika penerima tidak memahami pengkodean (atau adalah melihat pesan dalam bentuk source-code mentah), pesan sebagian besar akan terlihat seperti biasa, mudah dibaca, teks, tetapi akan memiliki beberapa keanehan seperti tanda-tanda yang sama dan angka hex diselingi di dalamnya, dan juga mungkin memiliki aneh jeda baris (dikutip printable encoding menambahkan line break untuk membawa garis panjang dalam spesifikasi, tapi ini dibatalkan pada akhir penerimaan ketika karakter terakhir dari setiap baris adalah tanda = untuk menunjukkan itu adalah "lembut garis istirahat").

Baris header ini ditambahkan untuk menunjukkan bahwa dikutip pengkodean dicetak di gunakan:

Content-Transfer-Encoding: quoted-printable

Onward ke Unicode

Standarisasi set pengkodean karakter ISO membantu membawa untuk kekacauan milik set karakter khusus vendor, tetapi beberapa orang masih memiliki mimpi untuk menciptakan satu, bersatu set karakter yang mencakup karakter yang dibutuhkan oleh semua bahasa. Hal ini jelas akan mengambil lebih dari 8 bit untuk mewakili; Cina, sendiri, memiliki karakter lebih daripada yang bisa muat dalam satu set 256 karakter. Jadi, ketika standar karakter yang akan dikenal sebagai Unicode pertama mengambil formulir, itu adalah encoding 16-bit, mengambil dua byte per karakter (dua kali lebih banyak sebagai pengkodean 8-bit), dan mampu merepresentasikan 65.536 karakter yang berbeda. (Seperti yang akan kita lihat nanti, mereka akhirnya diperluas ke berbagai bahkan lebih luas dari ini.) Karakter ini memiliki nomor (atau "posisi kode") mulai dari 0 sampai 65.535, tetapi lebih sering diberikan dalam heksadesimal 0000 melalui FFFF. ISO-8859-1 (Latin-1) adalah bagian dari Unicode, yang 256 posisi pertama sesuai dengan standar yang lebih tua ini. Karena ini pada gilirannya meliputi US-ASCII di 128 posisi pertama, itu juga tercakup dalam Unicode. Posisi yang tersisa, # 256 dan seterusnya, termasuk segala sesuatu dari Yunani ke Ibrani ke Cina untuk simbol matematika untuk buah catur ... dan juga tanda Euro (€), penting untuk Eropa sekarang untuk melambangkan mata uang terpadu mereka, tetapi yang tidak ada pada saat standar set karakter sebelumnya yang dirancang.

Karena sebagian besar teks online dalam bahasa-bahasa Eropa Inggris atau Barat, di mana sebagian besar karakter di US-ASCII set, membutuhkan dua byte per karakter dianggap boros karena menggandakan ukuran dokumen teks. Oleh karena itu, beberapa pengkodean lebih efisien yang dirancang, paling populer makhluk UTF-8. encoding ini turun konsep bahwa semua karakter mengambil jumlah yang sama dari bit, dan mewakili karakter sebagai urutan variabel-panjang. Terutama, 128 karakter US-ASCII dikodekan sebagai satu byte, identik dengan perwakilan mereka di US-ASCII dan ISO-8859-1, sehingga dokumen UTF-8 yang terdiri sepenuhnya dari karakter-karakter tidak dapat dibedakan dari dokumen ASCII polos, yang baik untuk maju dan kompatibilitas mundur. Di luar ini, berbagai kombinasi byte dengan bit set tinggi digunakan untuk mewakili karakter lain Unicode. Secara khusus, perlu dicatat bahwa Latin-1 karakter dari # 128 ke # 255 tidak dapat dimasukkan sebagai "mentah" byte tunggal dalam UTF-8, karena byte ini digunakan sebagai bagian dari urutan multi-byte; karakter-karakter harus dikodekan sebagai lebih dari satu byte, tidak seperti karakter US-ASCII. Ini kadang-kadang dapat menyebabkan masalah ketika Latin-1 karakter yang disisipkan ke dalam dokumen UTF-8 dan perangkat lunak yang terlibat tidak melakukan konversi yang sesuai. Namun, sebagai penulis software mendapatkan lebih global sadar (sebagai pasar komputer menyebar ke negara-negara di mana karakter non-ASCII yang penting), hal ini menjadi lebih umum untuk software untuk benar menangani segala macam karakter tanpa pengguna harus berpikir terlalu banyak tentang hal itu ... kecuali pada kesempatan di mana sesuatu sekrup up!

Setelah UTF-8 didirikan (dan digunakan jauh lebih umum daripada mentah 16-bit encoding), Unicode itu sendiri menjatuhkan konsep bahwa semua karakter yang terdapat jumlah yang sama dari bit, dan direvisi standar untuk mengizinkan lebih karakter yang akan ditugaskan pada posisi bahkan lebih tinggi dari # 65535. Karakter ini memakan waktu hingga enam byte untuk mengkodekan dalam UTF-8, tapi memungkinkan untuk penambahan karakter terlalu jelas untuk membuatnya sebelumnya. (Sejauh ini, bagaimanapun, upaya untuk mendapatkan Klingon ditambahkan ke set Unicode telah ditolak, namun mereka telah melihat cocok untuk menambahkan karakter yang berguna seperti "Tumpukan Poo", kode hex U + 1F4A9.) Unicode karakter set memiliki juga telah diadopsi sebagai standar oleh ISO, yang telah ditunjuk sebagai ISO 10646.

UTF-8 coding sangat efisien untuk dokumen yang berisi sebagian besar karakter ASCII hanya dengan beberapa orang lain. Ini juga merupakan cara terbaik untuk mengkodekan dokumen yang berisi teks dari beberapa bahasa, di mana sebagian besar pengkodean lainnya tidak akan mampu untuk mewakili semua karakter yang dibutuhkan sekaligus. Namun, jika ada sesuatu yang seluruhnya ditulis dalam bahasa tunggal yang terdiri dari karakter non-ASCII, pengkodean yang berbeda, khusus untuk set karakter yang bahasa ini, lebih efisien. Oleh karena itu, UTF-8 tidak akan mendesak keluar semua pengkodean lainnya; Namun, yang mendasari standar Unicode adalah "kesamaan" dengan mana karakter dalam semua encoding dapat dibandingkan dan diubah, sebuah "lingua franca" untuk set karakter.

Sebuah dokumen UTF-8-encoded memiliki garis header ini untuk menunjukkan encoding nya:

Content-Type: text/plain; charset=utf-8

Dalam pesan e-mail, harus lebih Transfer-dikodekan sebagai dikutip dicetak , seperti dijelaskan di atas, sehingga byte-urutan yang menunjukkan karakter non-ASCII terwakili dalam ASCII (hex-digit) bentuk.

Quotes keriting, Em-Tanda minus, dan Tanda Merek

Sebelumnya, saya menyebutkan bahwa beberapa karakter dalam set karakter Windows, termasuk "keriting" tanda kutip dan tanda ™, yang bukan bagian dari ISO-8859-1. Meskipun demikian, banyak program (terutama yang dari Microsoft) ingin memasukkan mereka ke dalam dokumen dan pesan e-mail. Fitur yang disebut "kutipan pintar", ditemukan di sejumlah program, menyebabkan kutipan ASCII normal dan apostrof, "dan", yang akan dikonversi ke "keriting" berbagai, "" ''. Bahkan jika e-mail Anda Program tidak melakukan hal ini, Anda mungkin masih memperkenalkan karakter ini ketika Anda menyisipkan teks dari tempat lain, seperti pengolah kata atau halaman web. puritan tipografi mengatakan bahwa ini adalah lebih benar, meskipun computerists tua-waktu (dan orang-orang yang akrab dengan mesin ketik sebelum itu) digunakan untuk "lurus" berbagai kutipan. Ada beberapa cara yang "keriting kutipan", dan karakter lain dalam kelompok yang ada di Windows set tapi tidak Latin-1, dapat direpresentasikan dalam sebuah e-mail pesan, dan mereka berkisar dari menjadi benar-benar salah (oleh standar) untuk menjadi benar tetapi bermasalah (Bahkan di halaman Web mereka dapat menjadi masalah;. jika browser Anda menunjukkan tanda tanya atau kode baku seperti di atas di mana contoh kutipan keriting harus, yang berarti tidak mendukung entitas karakter ini.)

  1. Beberapa program hanya celepuk karakter tersebut ke dalam dokumen atau pesan sebagai karakter 8-bit, langsung dari Windows. Jika header pesan menunjukkan bahwa dalam us-asciiiso-8859-1atau utf-8, maka ini adalah sekadar salah. Karakter tersebut tidak terdefinisi dalam ASCII, karakter kontrol dalam ISO-8859-1, dan merupakan bagian dari urutan multi-byte dalam UTF-8; mereka tidak berdiri untuk apa berpikir Windows yang mereka lakukan. Namun, jika header pesan menunjukkan pengkodean adalah windows-1252, maka karakter ini secara teknis yang tepat, meskipun penggunaan proprietary, encoding platform-khusus adalah bukan ide yang baik (sistem non-Windows mungkin tidak tahu apa yang membuat itu). Untuk itu, beberapa sistem non-Windows (terutama MacOS) kadang-kadang celepuk mereka proprietarily-encoded "kutipan pintar", dengan karakter yang berbeda dari berbagai Windows, ke dalam dokumen dan pesan, sehingga apostrof akhirnya tampak di ujung lain seperti sejumlah superscripted 1.

  2. Kadang-kadang karakter ini direpresentasikan sebagai referensi numerik dalam HTML (atau SGML atau XML) sintaks. Ini tidak masuk akal untuk pesan teks biasa (di mana tidak ada sintaks markup-bahasa memiliki bisnis yang digunakan), tetapi tidak selalu berhenti program dari melakukannya pula. Dalam HTML e-mail , itu tidak masuk akal seperti di halaman Web. Namun, referensi numerik kadang-kadang digunakan adalah yang palsu seperti , sesuai dengan posisi karakter yang diinginkan dalam pengkodean Windows. Referensi karakter numerik di HTML selalu sehubungan dengan posisi Unicode karakter, dan karakter kontrol di # 147 di Unicode adalah dalam kisaran khusus dianulir di HTML. Karakter yang dimaksud adalah dalam Unicode, bagaimanapun, posisi yang jauh lebih tinggi bernomor; dengan demikian, adalah referensi numerik yang valid untuk kutipan keriting kiri.

  3. Akhirnya, jika UTF-8 encoding digunakan, karakter ini dapat dimasukkan sebagai urutan multi-byte bawah pengkodean. Ini adalah benar sesuai standar, dan bekerja untuk plain-teks serta HTML e-mail. Sayangnya, tidak semua e-mail program dukungan UTF-8; inilah yang merupakan upaya untuk menggunakannya mungkin terlihat seperti (diambil dari screenshot yang sebenarnya dari pesan masuk seperti yang ditampilkan dalam program mail):

UTF-8 karakter juga telah dikenal untuk mendapatkan sama hancur ketika pesan yang berisi mereka dikutip, diteruskan, disalin dan disisipkan, atau dimanipulasi; atau ketika sekelompok pesan yang berbeda disatukan dalam sebuah digest tunggal atau file arsip (yang hanya dapat memiliki satu "charset" header, jika ini adalah sesuatu selain UTF-8, bahkan program yang biasanya akan memahami karakter dikodekan akan melihat sampah sebagai gantinya).

Karena masalah dan gangguan yang terlibat, yang terbaik untuk tetap "aman" karakter US-ASCII, termasuk "kutipan langsung", daripada mencoba untuk menjadi "mewah" dengan apa yang disebut "kutipan pintar" sebagai gantinya. Jika Anda benar-benar membutuhkan karakter non-ASCII dari repertoar Unicode, seperti dalam pesan multibahasa, kemudian pergi ke depan dan menggunakan pengkodean yang tepat (dan setiap pengguna dengan nonsupporting program pembaca akan beruntung), tetapi jika itu hanya "sesuatu yg tak berharga "seperti kutipan keriting, lebih baik untuk Keep It Simple, Stupid. Pokoknya, sebuah apostrof keriting dikodekan dalam UTF-8 dan mentransfer-dikodekan dalam dikutip dicetak keluar sebagai =E2=80=99, yang mengambil kekalahan sembilan byte ... pemborosan bandwidth dan ruang disk bahkan jika ditampilkan dengan benar. Referensi HTML mengambil tujuh bytes. Sebuah ASCII tanda kutip normal ( ') mengambil satu byte.

Orang yang mencoba untuk meniru tanda kutip keriting kadang-kadang "disesuaikan" ASCII lain dan Latin-1 karakter, dengan hasil yang saya anggap sebagai lebih canggung daripada hanya menggunakan tanda kutip lurus. Kuburan aksen ( `), yang dalam ASCII, dan aksen akut ( '), yang dalam bahasa Latin-1, kadang-kadang ditekan menjadi layanan sebagai tanda kutip tunggal atau apostrof; Namun, mereka tidak dimaksudkan untuk menjadi apapun quote. Mereka bersandar terlalu jauh untuk terlihat baik sebagai kutipan, dan tambahan beberapa perangkat lunak memperlakukan tombol untuk mereka sebagai Nonspasi karakter kombinasi digunakan dalam mengetik huruf beraksen - aksen dikombinasikan dengan huruf diketik tepat sebelum (atau mungkin setelah?). Dengan demikian, orang-orang yang mendapatkan dalam kebiasaan menggunakan mereka sebagai tanda kutip menemukan bahwa mereka kadang-kadang tidak bekerja dengan baik. Keyboard US memiliki kunci hanya untuk aksen, bagaimanapun, tidak satu akut (meskipun keyboard di negara-negara lain sering memiliki keduanya). Saya juga melihat orang menggunakan aksen kuburan sebagai tanda kutip (how`s itu?), Meskipun bersandar di sepenuhnya ke arah yang salah. Lalu, ada apa yang saya sebut "Unix Geek Mengutip" (juga umum di layanan kawat berita) yang menggunakan aksen sebagai pembukaan tunggal kutipan dan kutipan tunggal lurus yang normal untuk menutupnya, seperti `ini '. Hal ini didorong oleh versi kuno dari standar ASCII, diimplementasikan dalam font dari beberapa sistem komputer lama, yang disebut untuk ASCII apostrof normal "bersandar". Sejak era 80-an setidaknya, standar telah menyerukan apostrof ASCII menjadi lurus, dan paling font saat mengikuti ini, sehingga kedua belah pihak dari kutipan dilakukan dengan cara ini tidak datang dekat dengan pencocokan. Orang-orang yang menggunakan gaya mengutip ini sering membuka tanda kutip ganda dengan dua aksen kuburan, sehingga lebih `` rusak "ketika cocok dengan karakter tunggal quote ganda di ujung lain.

Selain kutipan dan tanda merek dagang, yang umum digunakan dan disalahgunakan karakter luar jendela Latin-1 termasuk "em dash" (-) dan elipsis (...). "Plain-ASCII" pengganti dua strip (-) dan tiga titik (...) masing-masing.

ROT13

ROT13 adalah tidak benar-benar set karakter, tetapi itu adalah bentuk pengkodean Anda kadang-kadang mungkin Anda alami, terutama pada newsgroup. Ini bukan bagian dari pejabat, standar didokumentasikan (sejauh yang saya tahu), dan tidak memiliki garis sundulan untuk menunjukkan kehadirannya; bukan, itu biasanya hanya tertanam di tengah pesan teks biasa. Tiba-tiba (dengan atau tanpa peringatan), Anda memukul bagian teks omong kosong, meskipun itu terdiri dari huruf normal (tidak ada kontrol karakter lucu atau digit heksadesimal). Jika itu pada newsgroup atau mailing list culun, Anda mungkin mengalami ROT13. Apa itu adalah sepele "enkripsi" skema, dirancang untuk tidak menyimpan rahasia pesan (karena itu mudah untuk memecahkan kode setelah Anda tahu bagaimana) tetapi untuk memberikan tingkat kecil dari perlindungan terhadap itu tanpa sengaja terlihat ketika seharusnya tidak. Ini digunakan untuk hal-hal seperti spoiler petak dalam diskusi buku dan film, lelucon kotor yang mungkin menyinggung perasaan orang, atau menyebutkan nama-nama orang dan perusahaan dalam rangka rants panas tentang politik kantor bahwa Ranters akan lebih suka tidak diindeks oleh Google di mana bos mereka mungkin membacanya.

Di ROT13 encoding, 26 huruf dari abjad Inggris standar dialihkan 13 posisi pergi, dengan alfabet dianggap membungkus dari Z kembali ke A dalam lingkaran tak berujung. Semua karakter lain (angka, tanda baca, dan beraksen surat, misalnya) yang tersisa sendirian "apa". (Ini mungkin membuat ROT13 memadai untuk menyembunyikan teks dalam bahasa non-Inggris yang memiliki proporsi yang tinggi dari karakter lain selain alfabet ASCII.) Sejak 13 adalah persis setengah dari 26, operasi yang sama persis berfungsi baik untuk encode dan decode pesan.

Secara tradisional, pembaca berita berbasis Unix memiliki built-in ROT13 fungsi encoding / decoding sehingga mudah untuk membaca pesan dikodekan tersebut, atau membuat sendiri. Jendela program mail / berita tidak selalu memiliki fungsi ini, tetapi situs Web yang ada untuk melakukannya untuk Anda.