Pengekodan ASCII Dijelaskan: Teks, Perpuluhan, Hex, Perduaan dan Oktal
ASCII memetakan setiap aksara boleh cetak kepada nombor antara 0 dan 127. Memahami nombor tersebut dalam perpuluhan, hex, perduaan dan oktal adalah kemahiran yang kerap diperlukan oleh setiap pembangun.
Apakah ASCII?
ASCII bermaksud American Standard Code for Information Interchange. Diterbitkan pada tahun 1963, ia mentakrifkan pemetaan antara 128 aksara dan integer 0 hingga 127. 128 aksara tersebut merangkumi abjad Inggeris (huruf besar dan kecil), digit 0–9, tanda baca, dan 33 aksara kawalan seperti baris baru, tab, dan kembali carriage.
Setiap aksara yang anda taip dalam program bahasa Inggeris diwakili secara dalaman sebagai nombor ASCII.
Mengapa Pembangun Masih Memerlukan ASCII
- Membaca fail perduaan: Dalam penyunting hex, panel kanan menunjukkan tafsiran ASCII setiap bait. Mengetahui bahawa
0x48 0x54 0x54 0x50mengeja "HTTP" memberikan orientasi segera. - Menyahpepijat protokol rangkaian: Trafik TCP dan HTTP mentah adalah teks ASCII. Tangkapan paket menjadi boleh dibaca apabila anda tahu jadualnya.
- Pengekodan URL: Ruang adalah ASCII 32 (
0x20), itulah sebabnya dalam URL ia menjadi%20. - Jujukan escape:
\nadalah ASCII 10,\tadalah ASCII 9,\radalah ASCII 13. - Sistem lama: Kerangka utama, perisian tegar terbenam dan protokol bersiri direka bentuk sekitar ASCII.
Empat Sistem Nombor, Dengan Satu Contoh
Huruf A adalah contoh paling bersih kerana nilainya mudah diingati merentas keempat-empat sistem.
| Sistem | Nilai untuk "A" | Cara membacanya |
|---|---|---|
| Perpuluhan | 65 | Asas 10, sistem pengiraan biasa |
| Perenambelasan | 0x41 | Asas 16; 4×16 + 1 = 65 |
| Perduaan | 01000001 | Asas 2; bit sebenar yang disimpan dalam ingatan |
| Oktal | 101 | Asas 8; 1×64 + 0×8 + 1 = 65 |
Huruf kecil a adalah perpuluhan 97 (0x61). Perbezaan antara huruf besar dan kecil adalah tepat 32 — nilai yang sama dengan ruang. Ini bukan kebetulan: ia adalah pilihan reka bentuk yang sengaja yang menjadikan penukaran kes satu bit flip sahaja.
Contoh Praktikal
Pengekodan URL
Apabila pelayar mengekod URL, ia mengambil nilai ASCII setiap aksara tidak selamat dan menulisnya sebagai tanda peratus diikuti dua digit hex. Ruang (ASCII 32 = 0x20) menjadi %20. Gunakan Pengekod/Penyahkod URL untuk mengekod atau menyahkod sebarang rentetan URL dengan serta-merta.
Jujukan Escape
\n— ASCII 10, baris baru\r— ASCII 13, kembali carriage (akhir baris Windows:\r\n)\t— ASCII 9, tab mendatar\0— ASCII 0, null (penamat rentetan dalam C)\x41— Escape hex; ASCII 65 = "A"
ASCII Lanjutan dan Unicode
ASCII piawai merangkumi 128 aksara — cukup untuk bahasa Inggeris tetapi tidak untuk bahasa lain. Pelbagai skema "ASCII lanjutan" menggunakan bit ke-8 untuk menambah 128 aksara lagi tetapi tanpa standard tunggal, halaman kod yang berbeza menggunakan julat bait yang sama untuk aksara yang berbeza.
Unicode menyelesaikan ini dengan memberikan nombor unik kepada setiap aksara dalam setiap sistem penulisan. UTF-8 serasi ke belakang dengan ASCII: 128 titik kod Unicode pertama adalah sama dengan ASCII.
Alat Berkaitan
Penukar Perduaan kepada Teks menukar rentetan perduaan mentah kepada teks boleh dibaca. Untuk penukaran antara asas nombor, Penukar Asas Nombor mengendalikan perpuluhan, hex, perduaan dan oktal.
Soalan Lazim
Apakah nilai ASCII ruang?
Ruang adalah ASCII 32 (perpuluhan), 0x20 (hex), 00100000 (perduaan). Ia adalah aksara boleh cetak ASCII yang paling rendah.
Apakah perbezaan antara ASCII dan Unicode?
ASCII mentakrifkan 128 aksara; Unicode mentakrifkan lebih 140,000. 128 titik kod Unicode pertama adalah sama dengan ASCII, jadi teks ASCII yang dikod UTF-8 adalah bait demi bait sama dengan ASCII biasa.
Tukar Sebarang Teks kepada ASCII Sekarang
Tampal sebarang teks dan lihat nilai perpuluhan, hex, perduaan dan oktal untuk setiap aksara dengan serta-merta.