Konverter Base32, Base58, dan Ascii85
Enkode teks atau byte mentah sebagai Base32, Base58, Ascii85, atau Z85, atau dekode salah satunya kembali, dengan alfabet dan aturan padding masing-masing. Tabel proses menunjukkan bagaimana byte pertama berubah menjadi karakter. Base64 dibahas di Enkoder & Dekoder Teks. Berjalan di peramban Anda; tidak ada yang diunggah.
Huruf A–Z dan angka 2–7, lima bit per karakter, diberi padding dengan = hingga kelipatan delapan karakter. Huruf besar-kecil tidak berpengaruh saat mendekode.
Cara penghitungannya
Byte ditulis sebagai bit dan dipotong menjadi kelompok lima. Setiap kelompok adalah bilangan dari 0 sampai 31 dan memilih satu karakter.
| Bit | Nilai | Karakter |
|---|---|---|
| 01001 | 9 | J |
| 00001 | 1 | B |
| 10010 | 18 | S |
| 10110 | 22 | W |
| 11000 | 24 | Y |
| 11011 | 27 | 3 |
| 00011 | 3 | D |
| 01111 | 15 | P |
| 00101 | 5 | F |
| 10000 | 16 | Q |
| 10000 | 16 | Q |
| 00101 | 5 | F |
| 01110 | 14 | O |
| 11011 | 27 | 3 |
| 11011 | 27 | 3 |
| 10010 | 18 | S |
Menampilkan 16 baris pertama.
Cara Menggunakan Konverter Encoding Base
- 1. Pilih encoding. Base32, Base32 dengan alfabet hex yang diperluas, Base58 dengan alfabet Bitcoin, Ascii85 seperti yang dipakai Adobe, atau Z85. Catatan di bawah menu menjelaskan encoding yang Anda pilih.
- 2. Tentukan jenis data. Teks dibaca sebagai byte UTF-8. Byte hex memungkinkan Anda mengenkode data biner sembarang, seperti kunci, dengan mengetiknya sebagai pasangan seperti
86 4f d2 6f. - 3. Enkode atau dekode. Pengenkodean menghasilkan teks yang terdiri dari alfabet encoding tersebut. Pendekodean mengembalikannya menjadi byte, ditampilkan sebagai teks atau hex. Spasi dan pemisah baris dalam masukan diabaikan.
- 4. Periksa opsinya. Base32 dapat ditulis dengan atau tanpa padding
=. Ascii85 dapat dibungkus dengan<~dan~>dan dapat menuliskan empat byte nol sebagaiz.
Untuk Apa Encoding Ini
Tidak satu pun dari ini merupakan enkripsi. Masing-masing mengubah byte, yang mungkin tidak dapat dicetak, menjadi teks yang dapat ditempel ke surel, URL, kode QR, atau berkas konfigurasi, dan masing-masing dapat dibalik oleh siapa pun yang mengetahui nama encoding-nya. Mereka berbeda dalam alfabet yang dipakai dan dalam seberapa panjang teksnya dibandingkan data.
| Encoding | Karakter | Panjang dibanding byte | Hello, World menjadi |
|---|---|---|---|
| Base32 (RFC 4648) | 32 | 8 ÷ 5 kali lebih panjang | JBSWY3DPFQQFO33SNRSA==== |
| Base32 hex yang diperluas | 32 | 8 ÷ 5 kali lebih panjang | 91IMOR3F5GG5ERRIDHI0==== |
| Base58 (Bitcoin) | 58 | sekitar 1,37 kali lebih panjang | 2NEpo7TZsLBYdvo5V |
| Ascii85 (Adobe) | 85 | 5 ÷ 4 kali lebih panjang | <~87cURD_*#4DfTZ)~> |
| Z85 (ZeroMQ) | 85 | 5 ÷ 4 kali lebih panjang | nm=QNz.92jz/PV8 |
Base32
Base32 memotong byte menjadi kelompok 5-bit dan menuliskan setiap kelompok sebagai salah satu dari 32 karakter, A–Z dan 2–7. Ia hanya memakai angka 2 sampai 7, dengan meninggalkan 0, 1, dan 8 yang menyerupai O, I, dan B, serta tidak membedakan huruf besar-kecil, sehingga orang dapat membacakannya atau mengetikkannya. Tanda = sebagai padding membulatkan panjang ke kelipatan delapan. RFC 4648 memberikan vektor uji seperti foobar → MZXW6YTBOI======. Kunci rahasia aplikasi autentikator dan alamat onion Tor menggunakan Base32.
Base58
Base58 memperlakukan seluruh masukan sebagai satu bilangan besar dan menuliskannya dalam basis 58, dengan meninggalkan 0, O, I, dan l, serta simbol + dan /, sehingga hasilnya dapat disalin dengan klik ganda dan sulit salah baca. Setiap byte nol di depan dituliskan sebagai karakter pertama, 1. Alfabet Bitcoin hanyalah salah satu alfabet Base58; yang dipakai Ripple dan Flickr mengurutkan karakternya secara berbeda, jadi periksa alfabet mana yang dipakai data Anda. Alamat Bitcoin menambahkan checksum dan byte versi di atasnya, skema yang disebut Base58Check, yang tidak dihitung oleh alat ini.
Ascii85 dan Z85
Keduanya membaca empat byte sebagai bilangan 32-bit dan menuliskannya sebagai lima digit dalam basis 85, sehingga hanya sekitar 25 persen lebih panjang daripada datanya. Ascii85 Adobe, yang dipakai dalam PostScript dan PDF, memakai karakter dari ! sampai u, menyingkat empat byte nol sebagai z, dan biasanya membungkus data dengan <~ dan ~>. Kelompok akhir berisi satu sampai tiga byte menghasilkan satu karakter lebih banyak daripada jumlah byte-nya. Z85, yang didefinisikan dalam RFC 32 ZeroMQ, memakai alfabet 85 karakter yang berbeda yang dipilih untuk menghindari tanda kutip dan garis miring terbalik dalam kode sumber, tidak memiliki singkatan z, dan tidak memiliki kelompok akhir pendek, sehingga masukannya harus kelipatan empat byte. Contoh spesifikasinya adalah delapan byte 86 4f d2 6f b5 59 f7 5b, yang dienkode menjadi HelloWorld. Ada alfabet base-85 lain, seperti yang ada di RFC 1924 yang dipakai Git, jadi sesuaikan alfabetnya dengan sumbernya.
Pertanyaan yang Sering Diajukan
- Apakah Base32 atau Base58 itu enkripsi?
- Tidak. Keduanya adalah encoding: siapa pun dapat membaliknya, karena alfabet dan aturannya bersifat publik. Keduanya membuat data dapat dicetak dan lebih mudah disalin, bukan rahasia.
- Mengapa Base58 meninggalkan beberapa karakter?
- Untuk menghindari karakter yang mirip dan simbol. Ia menghilangkan 0 (nol), O (o kapital), I (i kapital), dan l (L kecil), yang mudah tertukar di banyak fon, serta + dan /, yang merusak pemilihan dengan klik ganda. Itu menyisakan 58 karakter.
- Bagaimana cara mendekode string Base32?
- Pilih Base32, beralih ke Dekode, dan tempel string-nya. Huruf besar-kecil tidak masalah, dan tanda = di akhir boleh dihilangkan. Jika muncul galat yang menyebut karakter tertentu, string itu kemungkinan Base32 hex yang diperluas, Base64, atau encoding lain.
- Apa perbedaan antara Ascii85 dan Z85?
- Keduanya memakai lima karakter untuk empat byte, tetapi alfabetnya berbeda. Ascii85 memakai karakter dari ! sampai u, memiliki singkatan z untuk nol, dan mungkin diberi <~ dan ~>. Z85 memakai alfabet yang aman untuk kode sumber dan tidak memiliki singkatan.
- Mengapa Z85 mengatakan saya memerlukan kelipatan empat byte?
- Spesifikasi Z85 tidak mendefinisikan padding. Datanya harus berupa kelompok 4-byte yang utuh, dan teksnya harus kelipatan lima karakter. Tambahkan byte sendiri, atau gunakan Ascii85, yang menangani kelompok akhir yang pendek.
- Bagaimana cara mengenkode string Base64?
- Halaman ini tidak mengerjakan Base64. Enkoder & Dekoder Teks mengubah teks menjadi Base64, URL, dan entitas HTML serta sebaliknya, dan halaman XOR Cipher dapat menampilkan byte hex sebagai Base64.