Codificatore / Decodificatore Base58
Codifica testo in Base58 o decodifica stringhe Base58. Usato negli indirizzi Bitcoin e nei CID IPFS.
Informazioni sullo strumento
Base58 è uno schema di codifica da binario a testo che converte i dati grezzi in una stringa leggibile dall'uomo utilizzando 58 caratteri alfanumerici. A differenza di Base64, che include simboli che possono essere confusi o problematici negli URL e negli indirizzi, Base58 rimuove caratteri come 0 (zero), O (O maiuscolo), I (I maiuscolo) e l (l minuscolo) per evitare l'ambiguità visiva. Questa codifica è ampiamente riconosciuta per la protezione degli indirizzi di criptovaluta—in particolare Bitcoin—e per la codifica degli identificatori di contenuto in IPFS, il Sistema di File Interplanetario.
Per utilizzare questo codificatore, incolla il tuo testo o i dati grezzi nel campo di input e fai clic sul pulsante di codifica per generare una stringa Base58. Per decodificare, incolla semplicemente una stringa Base58 valida e fai clic su decodifica per recuperare i dati originali. Lo strumento funziona completamente nel tuo browser, elaborando tutte le conversioni istantaneamente senza inviare nulla ai server esterni. Questo è particolarmente utile per gli sviluppatori che lavorano con dati blockchain, sistemi indirizzati per contenuto o qualsiasi applicazione che necessiti di verificare indirizzi Bitcoin, hash IPFS o altri identificatori crittografici.
La codifica Base58 è particolarmente preziosa nelle criptovalute e nelle applicazioni decentralizzate perché riduce gli errori di trascrizione quando si condividono gli indirizzi manualmente o tramite portafogli cartacei. La rimozione dei caratteri visivamente simili rende gli indirizzi Base58 molto più facili da leggere e verificare a occhio nudo rispetto a Base64. Che tu sia uno sviluppatore blockchain, un amministratore di sistema che gestisce nodi IPFS, o semplicemente qualcuno curioso di sapere come vengono codificati gli indirizzi Bitcoin, questo strumento rende la codifica e la decodifica Base58 trasparenti e accessibili.
Domande Frequenti
Implementazione del Codice
import base58 # pip install base58
# Encode text to Base58
text = "Hello, World!"
encoded = base58.b58encode(text.encode()).decode()
print(encoded) # JxF12TrwUP45BMd
# Decode Base58 back to text
decoded = base58.b58decode(encoded).decode()
print(decoded) # Hello, World!
# Manual implementation without library
ALPHABET = b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
def encode(data: bytes) -> str:
num = int.from_bytes(data, "big")
result = b""
while num > 0:
num, rem = divmod(num, 58)
result = bytes([ALPHABET[rem]]) + result
pad = len(data) - len(data.lstrip(b"\x00"))
return (b"1" * pad + result).decode()Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.