Cara konversi hex ke teks
- Tempel string hex Anda, mis.
48 65 6C 6C 6F,0x48,0x65, atau\x48\x65. Campuran pemisah apa pun bisa dipakai. - Teks hasil decode langsung muncul. Jika karakternya terlihat aneh, pilih encoding lain: UTF-8, ASCII/Latin-1, atau UTF-16.
- Salin teksnya atau unduh sebagai file. Tekan Tukar untuk mengubah teks kembali menjadi hex.
Cara kerja decode hex ke ASCII
Setiap pasangan digit hex adalah satu byte bernilai 00 sampai FF. Dalam ASCII dan UTF-8, byte 20–7E adalah karakter yang dapat dicetak, sehingga 48 65 6C 6C 6F terbaca sebagai H, e, l, l, o: “Hello”. Karakter di luar ASCII memakan beberapa byte dalam UTF-8.
| Hex | Karakter |
|---|---|
0A | Line feed (baris baru) |
0D | Carriage return |
20 | Spasi |
21 / 2C / 2E | ! / , / . |
30–39 | Angka 0–9 |
41–5A | Huruf kapital A–Z |
61–7A | Huruf kecil a–z |
C3 A9 | é dalam UTF-8 |
E2 82 AC | € dalam UTF-8 |
Memilih encoding yang tepat
- UTF-8 – standar di web serta di sebagian besar file dan API. Teks ASCII biasa juga merupakan UTF-8 yang valid.
- ASCII / Latin-1 (Windows-1252) – satu byte per karakter untuk teks Eropa Barat dari sistem lama. Setiap byte dipetakan ke sebuah karakter, sehingga proses decode tidak pernah gagal.
- UTF-16 LE/BE – dua byte per karakter, dipakai oleh API Windows serta string Java dan JavaScript:
48 00 69 00adalah “Hi” dalam UTF-16 LE.
Jika muncul simbol �, berarti ada byte yang tidak valid dalam encoding yang dipilih – atau hex tersebut berupa data biner seperti gambar, hash, atau data terkompresi, bukan teks.
Konversi hex ke string dalam kode
- Python:
bytes.fromhex('48656c6c6f').decode() - Node.js:
Buffer.from('48656c6c6f', 'hex').toString() - JavaScript di browser:
new TextDecoder().decode(Uint8Array.from('48656c6c6f'.match(/../g), (h) => parseInt(h, 16))) - Linux dan macOS:
echo 48656c6c6f | xxd -r -p
Pertanyaan yang sering diajukan
Apa bedanya hex ke teks dan hex ke ASCII?
ASCII mencakup 128 karakter (byte 00–7F): huruf Latin dasar, angka, dan tanda baca. Hex ke teks juga mencakup karakter dari bahasa lain dan emoji, yang disimpan UTF-8 dalam 2–4 byte. Untuk teks biasa berbahasa Indonesia atau Inggris, keduanya memberi hasil yang sama.
Mengapa muncul error tentang byte yang tidak lengkap?
Setiap byte harus terdiri dari tepat dua digit hex. Jumlah digit yang ganjil biasanya berarti ada nol di depan yang hilang (tulis 0A, bukan A) atau ada karakter yang hilang saat disalin. Pesan error menunjukkan letak masalahnya.
Bisakah saya men-decode hex yang mengandung awalan 0x atau \x?
Bisa. Awalan seperti 0x, \x, dan %, serta spasi, baris baru, koma, titik dua, dan tanda hubung dihapus secara otomatis, sehingga array C, byte string Python, dan hex dump bisa langsung ditempel.
Apakah data saya diunggah ke suatu tempat?
Tidak. Hex di-decode oleh JavaScript di browser Anda dan tidak pernah meninggalkan perangkat Anda.