Base58 pengkodean dan penguraian kode

Teks biasa pertama-tama akan diubah menjadi byte menurut UTF-8, dan kemudian dikodekan menjadi Base58 atau Base58Check.

0 Masukkan karakter

Selesaikan pengkodean dan penguraian Base58 dan Base58Check di browser, mendukung tampilan teks, file, tabel karakter khusus, dan hasil heksadesimal.

Rekomendasi Terkait

Apa itu Base58 dan Base58Check?

Base58 adalah pengkodean teks yang ditujukan untuk dibaca dan disalin oleh manusia. Ini akan menghapus karakter yang mudah salah dibaca seperti 0, O, I, dan l, sehingga sering digunakan dalam skenario seperti logo pendek, kode undangan, alamat dompet, dan kode berbagi offline.

Tabel karakter standar Bitcoin Base58 adalah `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Halaman ini mendukung versi alfabet Flickr dan alfabet 58 karakter yang Anda tentukan sendiri.

Base58Check adalah solusi yang menambahkan checksum 4 byte setelah byte asli, dan kemudian mengkodekannya menjadi Base58 secara keseluruhan. Ini sering digunakan untuk alamat Bitcoin lama, ekspor kunci pribadi WIF, kode undangan, atau string yang perlu ditranskripsi secara manual. Tujuannya untuk mendeteksi kesalahan ketik, kata-kata yang hilang atau rusak tadi.

Jika Anda mendapatkan payload biner, payload alamat, atau fragmen hash, konten yang didekodekan belum tentu berupa teks yang dapat dibaca. Saat ini, lebih cocok beralih ke heksadesimal untuk melihat, daripada salah menilai karakter kacau sebagai kegagalan decoding.

IPFS CIDv0 menggunakan standar Base58btc alih-alih Base58Check; `bc1...` Jenis alamat Bitcoin ini milik Bech32 dan tidak termasuk dalam cakupan halaman ini Base58.

Kasus penggunaan

  • Verifikasi apakah alamat Bitcoin lama, string ekspor kunci pribadi WIF, atau kode berbagi Base58Check khusus yang dimasukkan salah.
  • Enkode file kecil, fragmen biner, atau muatan uji ke Base58 untuk memudahkan pengiriman dalam log, obrolan, atau tiket.
  • Dekode string Base58 menjadi heksadesimal lalu analisis untuk byte versi, hash, atau payload mentah.
  • Bandingkan keluaran antara Bitcoin Base58 dan Flickr Base58 untuk mencari tahu mengapa kumpulan byte yang sama memiliki hasil berbeda di sistem berbeda.
  • Rancang tabel karakter 58 karakter Anda sendiri untuk kode undangan internal, logo pendek, atau token offline, dan verifikasi bahwa kedua ujungnya konsisten.

Cara Penggunaan

  1. Pilih mode penyandian atau penguraian kode; jika Anda perlu menangani string rawan kesalahan yang dimasukkan manusia, aktifkan opsi Base58Check.
  2. Pilih Bitcoin, Flickr atau tabel karakter khusus; jika itu adalah protokol pribadi, pertama-tama pastikan bahwa kedua belah pihak menggunakan rangkaian 58 karakter yang sama.
  3. Masukkan teks atau unggah file saat pengkodean; rekatkan string Base58 saat mendekode, beralih ke hasil heksadesimal untuk melihat byte mentah jika perlu.
  4. Salin atau unduh langsung setelah melihat hasilnya; jika Base58Check, halaman akan secara bersamaan menanyakan apakah verifikasi telah lulus.

Fitur

  • Mode ganda standar Base58 dan Base58Check: pengkodean normal dapat dilakukan secara langsung, atau checksum 4-byte dapat ditambahkan atau diverifikasi secara otomatis.
  • Baik teks maupun file dapat dikodekan: teks biasa akan diproses menurut UTF-8, dan file akan dikodekan menurut byte mentah, yang cocok untuk pengiriman konten biner secara offline.
  • Hasil decoding dapat dialihkan antara teks atau heksadesimal: jangan terjebak dengan omong kosong ketika menemukan payload alamat, fragmen hash, atau data non-UTF-8.
  • Mendukung Bitcoin, Flickr dan tabel karakter 58 karakter khusus: cocok untuk kompatibilitas dengan sistem yang ada atau men-debug solusi kode pendek pribadi.
  • Pemrosesan lokal browser dan pengunduhan hasil: pengkodean, penguraian kode, dan verifikasi semuanya diselesaikan secara lokal, dan hasilnya dapat disalin atau diunduh secara langsung.

Bagaimana cara memilih Base58, Base58Check, Base64?

Keduanya dapat mengubah byte menjadi teks yang lumayan, tetapi fokusnya sangat berbeda. Kuncinya bukanlah "mana yang lebih canggih", tetapi apakah Anda lebih menghargai transkripsi manual dan pencegahan kesalahan, atau apakah Anda lebih menghargai kekompakan dan kompatibilitas universal.

Rencanalebih cocokKeuntunganCatatan
Base64 pengkodeanBase64 URL Aman
Base32 pengkodean

Best Practices

Prioritas akan diberikan kepada Base58Check ketika ditranskripsikan secara manual atau disampaikan oleh layanan pelanggan

Selama string akan didiktekan, di-screenshot, diteruskan dalam obrolan, atau dimasukkan kembali secara manual, checksum hampir selalu layak untuk dibuka. Ini tidak akan mencegah semua kesalahan, namun akan secara signifikan mengurangi situasi "sepertinya benar, namun sebenarnya ada karakter yang hilang".

Jika hasil dekodenya bukan teks, lihat dulu heksadesimalnya

Konten seperti payload alamat, hash, header gambar, dan fragmen terkompresi tidak dijamin UTF-8. Pertama-tama beralihlah ke heksadesimal untuk mengonfirmasi byte asli, lalu putuskan apakah akan mengonversi file, melanjutkan hashing, atau menyerahkannya ke alat lain untuk diproses.

Alat heksa

Jangan gunakan Base58 sebagai format penyimpanan jangka panjang untuk file besar

Base58 lebih cocok untuk string pendek dan muatan kecil hingga menengah. Semakin besar file, semakin panjang keluarannya, kurang nyaman untuk disalin, dan kemungkinan besar terpotong dalam teks kaya, alat obrolan, atau log.

Saat menyesuaikan tabel karakter, tabel tersebut harus disinkronkan ke semua terminal produksi.

Selama satu server, skrip, atau klien menggunakan urutan yang berbeda, hasil pengkodean dan penguraian kode semuanya akan tidak selaras. Perbaiki urutan 58 karakter terlebih dahulu, lalu tulis ke dalam protokol atau sampel pengujian.

Prioritaskan perbandingan Base64URL bila diperlukan transmisi antarmuka yang lebih pendek dan lebih umum.

Keunggulan Base58 adalah mudah dibaca dan mencegah kebingungan, namun ukurannya bukan yang terkecil. Jika string terutama diteruskan antar program dan tidak akan ditranskripsi oleh manusia, Base64URL umumnya lebih ringkas dan umum.

Base64 URL Aman

Pertanyaan Umum

Yang mana yang harus saya pilih antara Base58 dan Base64?

Jika string ingin dibaca, disalin, atau dimasukkan ke orang lain, Base58 lebih disukai; jika sebagian besar ditransmisikan dalam program, antarmuka, parameter JSON atau URL, biasanya Base64 atau Base64URL lebih kompak. Fokus dari Base58 adalah keterbacaan dan anti-kebingungan, bukan keluaran terpendek.

Base58Check Masalah apa yang dipecahkannya?

Ini menambahkan checksum 4-byte ke payload asli, dan kemudian mengkodekan seluruh payload dengan Base58. Dengan cara ini, ketika pengguna melewatkan satu kata, salah ketik, atau menulis dalam urutan yang salah, alat akan lebih mudah melaporkan kesalahan pada waktunya, daripada secara diam-diam mendapatkan serangkaian hasil yang tidak berarti.

Bisakah halaman ini memverifikasi alamat Bitcoin?

Dapat diverifikasi bahwa lapisan Base58Check sudah benar, sehingga cocok untuk memeriksa apakah ada kesalahan input yang jelas pada alamat Base58 versi lama atau string ekspor WIF. Namun, ini tidak akan menentukan lebih lanjut penggunaan alamat, jenis jaringan, dan jenis skrip, juga tidak mendukung alamat Bech32 seperti `bc1...`.

Mengapa kode setelah decoding kacau, atau perintahnya bukan UTF-8?

Karena Base58 mendekode byte mentah, belum tentu teks dapat dibaca. Hal ini dapat terjadi dengan muatan alamat, hash, header gambar, atau data biner sembarang. Beralih ke heksadesimal untuk melihat byte mentah, dan Anda biasanya dapat melanjutkan analisis.

Apakah penyandian dan penguraian file Base58 didukung?

Dukungan. Anda dapat mengunggah file selama pengkodean, dan halaman tersebut akan diubah menjadi Base58 sesuai dengan byte aslinya; Anda juga dapat mengunduh kembali hasil aslinya setelah decoding. Semakin besar file, semakin panjang string outputnya, sehingga lebih cocok untuk beban kerja kecil hingga menengah atau skenario debugging.

Tabel karakter apa yang didukung?

Saat ini mendukung standar Bitcoin Base58, Flickr Base58, dan tabel karakter 58 karakter yang Anda sesuaikan. Selama akhir pengkodean dan akhir pengkodean menggunakan urutan karakter yang sama persis, mereka dapat berkomunikasi satu sama lain.

Bisakah ia menangani IPFS CID atau string on-chain lainnya?

CIDv0 String Base58btc standar tersebut dapat langsung dikodekan atau didekodekan; tetapi halaman tersebut tidak akan terus mengurai semantik on-chain multibase, multicodec, atau konkrit. Bech32 string seperti `bc1...` tidak termasuk dalam cakupan Base58.

Apakah konten yang diunggah akan dikirim ke server?

Tidak. Teks, file, dan hasil checksum Base58Check semuanya diproses secara lokal di browser, yang cocok untuk men-debug beban sensitif, data pengujian offline, atau fragmen file yang tidak nyaman untuk diunggah.

Pemecahan Masalah

Tip berisi karakter Base58 ilegal

Tabel karakter saat ini tidak menerima karakter yang dikecualikan seperti 0, O, I, dan l. Mungkin juga Anda salah memotong tabel karakter Bitcoin / Flickr / khusus. Pertama konfirmasikan sumber string, lalu periksa apakah tabel karakter konsisten dengan pihak lain.

Verifikasi Base58Check gagal

Hal ini biasanya berarti bahwa string tersebut kurang disalin, karakternya salah ditulis, atau bukan Base58Check itu sendiri. Konfirmasikan terlebih dahulu apakah Anda benar-benar perlu membuka Base58Check, lalu kembali dan periksa apakah konten aslinya sudah lengkap.

Tabel karakter khusus tidak dapat disimpan

Tabel karakter khusus harus terdiri dari 58 karakter, dan setiap karakter hanya boleh muncul satu kali. Disarankan untuk memodifikasi tabel karakter standar Bitcoin terlebih dahulu untuk menghindari karakter hilang atau karakter berulang.

Hasil yang didekodekan bukanlah teks

Ini belum tentu merupakan bug. Banyak string Base58 yang awalnya membawa muatan biner. Beralih ke heksadesimal untuk melihat, atau unduh hasil decoding sebagai file, lalu putuskan langkah berikutnya.

Glosarium

Base58
Pengkodean teks 58-bit yang menghilangkan karakter yang mudah membingungkan seperti 0, O, I, l, dll., cocok untuk input manual dan berbagi salinan.
Base58Check
Checksum 4-byte ditambahkan setelah payload asli, dan kemudian seluruh pengkodean Base58 digunakan untuk mendeteksi kesalahan input sebelumnya.
Muatan
Lakukan Base58 atau Base58Check konten byte mentah sebelum pengkodean, yang dapat berupa teks, byte file, payload alamat, atau data biner arbitrer.
Jumlah pemeriksaan
Sidik jari pendek untuk pemeriksaan kesalahan cepat. Base58Check akan menggandakan SHA-256 pada payload dan mengambil 4 byte pertama sebagai checksum.
Bitcoin Base58 Tabel karakter
Tabel karakter Base58 yang paling umum: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Flickr Base58
Flickr adalah kumpulan pengurutan lain yang digunakan oleh Base58, urutan kasusnya berbeda dengan versi Bitcoin, sehingga byte yang sama akan mendapatkan keluaran yang berbeda.

Tabel karakter didukung oleh halaman saat ini

Untuk kumpulan byte yang sama, selama urutan tabel karakter berbeda, keluaran Base58 akhir akan berbeda.

tabel karakterKegunaan umumDeskripsi

Kapan sebaiknya Anda beralih ke tampilan heksadesimal?

Base58 Hasil yang didekode tidak selalu dapat dibaca langsung menjadi teks.

Konten ditemuiCara yang lebih baik untuk melihatAlasan

Authoritative References