Enkode/Dekode Base58 (Biner)

Pemrosesan 100% sisi klien (tanpa unggah server). Enkode file biner ke teks Base58 atau dekode Base58 kembali ke byte mentah. Termasuk pemilihan alfabet (Bitcoin/Flickr/Ripple), opsi pembungkusan baris saat enkode, serta penanganan validasi ketat dan pemisah saat dekode.

Loading…

Tentang Enkode/Dekode Base58 (Biner)

Alat ini mendukung berbagai aksi untuk bekerja dengan data Base58 dan biner: enkode file (byte) menjadi teks Base58, atau dekode teks Base58 kembali menjadi file (byte). Pilih aksi, pilih varian alfabet (Bitcoin, Flickr, atau Ripple/XRP), lalu jalankan untuk mendapatkan keluaran yang dapat diprediksi dengan kesalahan yang jelas jika ada yang tidak valid.

Fitur

  • Enkode file biner (byte) ke teks Base58
  • Dekode teks Base58 kembali ke byte mentah (keluaran file yang dapat diunduh)
  • Pemilihan alfabet: Bitcoin (bawaan), Flickr, Ripple / XRP
  • Pemformatan enkode: opsi pembungkusan baris (0–120) dan opsi baris baru akhir
  • Pilih pemisah baris keluaran: LF ( ) atau CRLF ( )
  • Bantuan dekode: terima data:*;base58, awalan dan abaikan pemisah/spasi (opsional)
  • Opsi validasi ketat untuk menolak karakter di luar alfabet yang dipilih
  • Zona seret multi-file dengan panel batch untuk konversi cepat
  • Pemrosesan 100% sisi klien (tanpa unggah server).

Cara penggunaan for base58-binary-encoder

1

Tempel atau jatuhkan konten

Untuk mengkode: jatuhkan/unggah file biner di zona seret. Untuk mendekode: tempel teks Base58 ke area masukan (atau buka file teks yang berisi Base58).

2

Pilih aksi dan jalankan

Pilih Aksi: "Enkode file β†’ Base58" atau "Dekode Base58 β†’ file". Pilih Alfabet (Bitcoin/Flickr/Ripple). Lalu klik "Enkode" atau "Dekode" untuk menjalankan.

3

Salin atau unduh

Jika Anda mengkode: salin teks keluaran Base58. Jika Anda mendekode: unduh byte yang dihasilkan sebagai file (penamaan file mengikuti aturan alat, misalnya, menghapus .b58 dan kembali ke .bin).

Spesifikasi teknis

Model Eksekusi

Pengungkapan runtime dan batasan untuk kedua aksi (enkode + dekode).

AspekDetail
RuntimePemrosesan 100% sisi klien (tanpa unggah server).
Cakupan aksiEnkode + dekode (halaman ini)
Masukan enkodeBiner (File/Blob/Uint8Array/ArrayBuffer/TypedArray)
Encode outputTeks Base58 (opsional dibungkus, dengan perilaku baris baru yang dapat dikonfigurasi)
Decode inputString teks Base58 (opsional menerima data:*;base58, awalan)
Decode outputByte mentah (secara default diunduh sebagai .bin)
AlfabetBitcoin (default), Flickr, Ripple / XRP
Batas~1–2MB karakter; ~25000 ms batas waktu
RetensiSemua pemrosesan terjadi secara lokal di browser Anda (tidak ada unggahan)
Bahkan dengan pemrosesan lokal, hindari menangani data yang sangat sensitif pada perangkat bersama atau tidak tepercaya. Untuk rahasia, lebih baik gunakan peralatan luring.

Contoh Mini

Ilustrasi minimal tentang apa yang dilakukan oleh dua tindakan tersebut (output tergantung pada opsi dan alfabet).

TindakanContoh inputContoh output
EncodeByte biner (file yang diunggah)Teks Base58 (tergantung alfabet)
DecodeTeks Base58Byte biner (file yang dapat diunduh)
Alat ini berfokus pada biner: dalam mode encode, ia mengharapkan byte (bukan string teks biasa). Dalam mode decode, ia mengharapkan string Base58.

Kesalahan & Kasus Tepi

Mode kegagalan umum dan cara memperbaikinya.

GejalaKemungkinan penyebabYang harus diperiksa
Alat ini mengencode data biner... bukan string teksAnda mencoba mengencode string alih-alih mengunggah byteGunakan dropzone / unggah file, atau lewati byte (Uint8Array/ArrayBuffer) dalam integrasi
Jenis input biner tidak didukungInput bukan File/Blob/Uint8Array/ArrayBuffer/TypedArrayKonversi ke Uint8Array atau unggah file
Input terlalu besar (maks 2MB)Input melebihi batas ukuran (encode byte atau decode teks)Pisahkan file/string atau proses dalam potongan
Panggilan adapter habis waktuOperasi melebihi ~25000 msKurangi ukuran; hindari pemrosesan batch file besar; matikan pratinjau langsung untuk input besar
Karakter tidak valid / kesalahan validasiString Base58 mengandung karakter yang tidak ada dalam alfabet yang dipilihVerifikasi pemilihan Alfabet; aktifkan/nonaktifkan validasi Ketat sesuai kebutuhan
Dekode gagal pada string berformat yang ditempelPemisah/spasi atau awalan URI data adaAktifkan Izinkan pemisah/spasi dan Terima data:*;base58, awalan

Alternatif baris perintah

Untuk otomatisasi, CI, atau data sensitif, gunakan alat lokal. Base58 tidak distandarisasi dalam utilitas inti OS umum, jadi gunakan pustaka terkenal untuk alfabet persis yang Anda butuhkan (Bitcoin/Flickr/Ripple).

Semua platform (Python)

Enkode file biner ke Base58 (berbasis pustaka)

python -c "import sys; print('Gunakan pustaka Python Base58 terpercaya dan pilih alfabet yang benar (Bitcoin/Flickr/Ripple).')"

Pustaka standar Python tidak menyertakan Base58. Gunakan pustaka yang dipelihara dan kunci versinya untuk keluaran yang dapat direproduksi.

Node.js

Enkode/dekode Base58 menggunakan pustaka yang dipelihara

node -e "console.error('Gunakan pustaka Base58 terkenal dan pilih alfabet yang benar (Bitcoin/Flickr/Ripple).')"

Node tidak menyertakan codec Base58 di intinya. Utamakan pustaka terpercaya dan dokumentasikan pilihan alfabet untuk menghindari ketidakcocokan.

Kasus penggunaan

Konversi biner-ke-teks cepat untuk pengiriman

  • Enkode blob biner kecil ke Base58 untuk sistem yang tidak menyukai karakter ambigu
  • Konversi file menjadi string Base58 untuk alur kerja salin/tempel

Pemeriksaan interoperabilitas antar alfabet Base58

  • Validasi alfabet mana (Bitcoin/Flickr/Ripple) yang diharapkan sistem mitra
  • Standarisasi pilihan alfabet dalam dokumentasi dan vektor uji

Pemeriksaan kewarasan CI untuk input Base58

  • Tolak string Base58 yang tidak sesuai menggunakan validasi Ketat dalam pipeline yang dapat direproduksi
  • Pastikan fixture Anda didekode kembali ke byte yang diharapkan

Penanganan dan validasi aman untuk string Base58 yang ditempel

  • Hindari kebingungan karakter tidak sengaja dengan mengaktifkan validasi Ketat
  • Hapus awalan URI data dan abaikan pemisah saat menerima Base58 dari email atau log

❓ Frequently Asked Questions

Apakah ada API publik untuk alat ini?

Tidak. Alat ini ditujukan untuk penggunaan browser interaktif dan tidak mengekspos endpoint API publik.

Apakah pemrosesan bersifat lokal atau jarak jauh?

100% pemrosesan di sisi klien (tidak ada unggahan server). Pengkodean/dekode berjalan di peramban Anda; file dan string tidak diunggah.

Haruskah saya memproses rahasia di sini?

Hindari memproses rahasia yang sangat sensitif di peramban kecuali Anda sepenuhnya mempercayai perangkat dan lingkungannya. Lebih baik gunakan skrip/CLI lokal untuk data sensitif.

Mengapa dekode gagal dengan "karakter tidak valid"?

Base58 bergantung pada alfabet. Jika input berisi karakter di luar alfabet yang dipilih (Bitcoin/Flickr/Ripple), dekode dapat gagalβ€”terutama jika validasi Ketat diaktifkan. Pilih Alfabet yang benar dan pertimbangkan untuk mengaktifkan Izinkan pemisah/spasi jika string berisi karakter pemformatan.

Mengapa saya mendapat kesalahan "Input harus berupa string untuk dekode" atau "unggah file"?

Alat ini sensitif terhadap mode: encode mengharapkan byte (unggah file atau berikan array byte), sedangkan decode mengharapkan string teks Base58. Ganti Tindakan atau ubah jenis input sesuai kebutuhan.

Pro Tips

Best Practice

Selalu dokumentasikan dan bagikan alfabet yang Anda gunakan (Bitcoin vs Flickr vs Ripple); output Base58 tidak dapat dipertukarkan antar alfabet.

Best Practice

Saat mendekode string yang ditempel dari email/log, aktifkan "Izinkan pemisah/spasi" dan "Terima data:*;base58, awalan" untuk mengurangi kegagalan salin/tempel.

Best Practice

Aktifkan "Validasi ketat" ketika Anda ingin mendeteksi alfabet yang salah atau Base58 yang rusak lebih awal.

Best Practice

Untuk file besar, hindari menjalankan banyak item sekaligus dan matikan pratinjau langsung; alat ini memberlakukan batas ukuran/waktu (~2MB dan ~25000 ms).

CI Tip

Di CI, gunakan implementasi pustaka yang dipasang dan komit vektor uji (byte input + Base58 yang diharapkan) untuk setiap alfabet yang Anda dukung.

Additional Resources

Other Tools