Semua Pengodean Sekaligus

Ketik atau tempel teks sekali dan lihat hasilnya dalam biner, hex, keluarga Base32, Base58, Base64, keluarga Base85, Base91, dan lainnya secara berdampingan, masing-masing dengan tombol Salin sendiri.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah.

Cara menggunakan

  1. Ketik atau tempel teks ke kolom masukan.
  2. Setiap pengodean diperbarui saat Anda mengetik: biner, oktal, desimal, hex, varian Base32, Base36 hingga Base91, uuencode, dan xxencode.
  3. Bandingkan keluarannya untuk melihat mana yang paling pendek atau yang hanya memakai karakter yang dapat Anda terima.
  4. Klik Salin di samping hasil yang Anda perlukan.

Semua pengodean dari satu masukan

Setiap pengodean di halaman ini mengubah byte yang sama menjadi rangkaian karakter yang berbeda. Melihatnya secara berdampingan adalah cara tercepat untuk memilih pengodean bagi sebuah proyek, mengenali string yang Anda temukan di log atau file konfigurasi, atau mempelajari perbedaan antarformat. Teks Anda dienkode sebagai byte UTF-8, sehingga satu huruf beraksen dihitung dua byte dan satu karakter Tionghoa tiga byte. Semuanya berjalan di browser Anda.

  • Angka per byte. Biner, oktal, dan desimal menulis setiap byte secara terpisah. Mudah dibaca, tetapi panjang.
  • Kelompok bit. Hex, Base32 (beserta Base32hex, Crockford, dan z-base-32), Base64, dan Base64URL memberi setiap karakter jumlah bit yang tetap, sehingga panjang keluaran hanya bergantung pada panjang masukan.
  • Bilangan besar. Base36, Base58, dan Base62 memperlakukan seluruh masukan sebagai satu bilangan bulat besar. Panjangnya bisa berselisih satu karakter tergantung nilainya, dan byte nol di awal dipertahankan sebagai karakter di awal.
  • Blok. Base45 mengubah 2 byte menjadi 3 karakter, Ascii85, Z85, dan Base85 mengubah 4 byte menjadi 5, sedangkan Base91 memadatkan 13 atau 14 bit ke dalam setiap pasang karakter.
  • Baris. uuencode dan xxencode adalah format lama untuk email dan Usenet yang menulis data per baris, masing-masing diawali karakter penanda panjang.

Perbandingan ukuran keluaran

Berapa karakter yang diperlukan setiap pengodean per byte masukan, dan berapa panjang nilai 32 byte, seperti hash SHA-256 atau kunci publik Ed25519, setelah dienkode:

PengodeanKarakter per byte32 byte menjadi
Base16 (hex)2,064
Base321,656 (52 tanpa padding)
Base36sekitar 1,5549 atau 50
Base451,548
Base58sekitar 1,3743 atau 44
Base62sekitar 1,3442 atau 43
Base64sekitar 1,3344 (43 tanpa padding)
Base851,2540
Base91sekitar 1,2339 atau 40

Beralih dari hex ke Base64 menghemat sepertiga panjangnya. Melangkah lebih jauh, dari Base64 ke Base91, hanya menghemat sekitar 8% lagi.

Memilih pengodean yang tepat

Keluaran terpendek belum tentu yang terbaik. Ascii85 dapat berisi tanda kutip dan garis miring terbalik, dan Base91 dapat berisi tanda kutip ganda, sehingga keduanya mungkin perlu di-escape di JSON, HTML, atau perintah shell. Pikirkan di mana string itu akan dipakai:

  • URL dan nama file: Base64URL, Base58, atau Base62.
  • Dibacakan atau diketik manual: Crockford Base32 atau Base58, yang tidak memakai karakter yang mirip satu sama lain.
  • Sistem yang tidak peka huruf besar-kecil: hex, Base32, atau Base36.
  • Kode QR: Base45, yang hanya memakai karakter dari mode alfanumerik QR.
  • Teks ringkas di PDF, Git, atau ZeroMQ: Ascii85, Base85, atau Z85.
  • Kompatibilitas maksimal: Base64, yang didukung hampir semua bahasa pemrograman dan platform.

Pertanyaan yang sering diajukan

Pengodean mana yang menghasilkan keluaran terpendek?

Di antara pengodean di halaman ini, Base91 adalah yang paling ringkas dengan sekitar 1,23 karakter per byte, disusul Ascii85, Z85, dan Base85 dengan 1,25. Base64 memerlukan sekitar 1,33, tetapi dukungannya jauh lebih luas, itulah sebabnya Base64 biasanya menjadi pilihan default.

Mengapa panjang hasil Base58 dan Base62 berbeda-beda untuk masukan berukuran sama?

Keduanya mengonversi seluruh masukan sebagai satu bilangan besar, sehingga panjangnya bergantung pada nilainya, tidak hanya pada ukurannya. Setiap byte nol di awal juga menambah satu karakter di awal. Hex, Base32, dan Base64 selalu menghasilkan panjang yang sama untuk jumlah byte yang sama.

Bisakah saya mendekode string di halaman ini?
Halaman ini hanya mengenkode. Untuk mengetahui jenis string yang tidak dikenal, tempelkan ke pendeteksi pengodean. Untuk mengubah string dari satu pengodean ke pengodean lain, gunakan konverter base.
Mengapa keluaran biner begitu panjang?

Biner menulis 8 digit untuk setiap byte, ditambah pemisah, sehingga panjangnya setidaknya empat kali hex. Biner dimaksudkan untuk melihat bit satu per satu, bukan untuk menyimpan atau mengirim data.

Apakah teks saya dikirim ke server?

Tidak. Semua pengodean dihitung oleh JavaScript di browser Anda, dan teks tidak pernah meninggalkan perangkat Anda.