Base58 coderen en decoderen

Gewone tekst wordt eerst omgezet naar UTF-8-bytes en daarna gecodeerd als Base58 of Base58Check.

0 invoertekens

Codeer en decodeer Base58 of Base58Check in de browser, met ondersteuning voor tekst, bestanden, aangepaste alfabetten en hex-uitvoer.

Gerelateerde aanbevelingen

Wat zijn Base58 en Base58Check?

Base58 is een tekstcodering bedoeld voor menselijk lezen en kopiëren en plakken. Het verwijdert gemakkelijk verkeerd leesbare tekens zoals 0, O, I en l, dus wordt het vaak gebruikt in scenario's zoals korte logo's, uitnodigingscodes, portemonnee-adressen en codes voor offline delen.

De standaardtekentabel Bitcoin Base58 is `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Deze pagina ondersteunt zowel de Flickr versie van het alfabet als uw eigen gedefinieerde alfabet van 58 tekens.

Base58Check is een oplossing die een controlesom van 4 bytes toevoegt na de originele bytes en deze vervolgens codeert in Base58 als geheel. Het wordt vaak gebruikt voor oude Bitcoin-adressen, WIF export van privésleutels, uitnodigingscodes of strings die handmatig moeten worden getranscribeerd. Het doel is om typefouten, ontbrekende woorden of fouten eerder op te sporen.

Als u een binaire payload, adrespayload of hashfragment ontvangt, is de gedecodeerde inhoud niet noodzakelijkerwijs leesbare tekst. Op dit moment is het geschikter om over te schakelen naar hexadecimaal om te bekijken, in plaats van verminkte tekens verkeerd te beoordelen als een decoderingsfout.

IPFS CIDv0 gebruikt de standaard Base58btc in plaats van Base58Check; `bc1...` Dit type Bitcoin-adres behoort tot Bech32 en valt niet binnen het bereik van deze pagina Base58.

Toepassingsgevallen

  • Controleer of het oude Bitcoin-adres, de WIF-exportreeks voor de privésleutel of de aangepaste Base58Check-deelcode onjuist zijn ingevoerd.
  • Codeer kleine bestanden, binaire fragmenten of testpayloads in Base58 voor eenvoudige levering in logs, chats of tickets.
  • Decodeer de tekenreeks Base58 in hexadecimaal en analyseer deze vervolgens op versiebytes, hash of onbewerkte payload.
  • Vergelijk de uitvoer tussen Bitcoin Base58 en Flickr Base58 om erachter te komen waarom dezelfde set bytes verschillende resultaten heeft in verschillende systemen.
  • Ontwerp uw eigen tekentabel van 58 tekens voor interne uitnodigingscodes, korte logo's of offline tokens, en controleer of beide uiteinden consistent zijn.

Hoe te gebruiken

  1. Selecteer de coderings- of decoderingsmodus; als u door mensen ingevoerde, foutgevoelige tekenreeksen moet verwerken, schakelt u de optie Base58Check in.
  2. Selecteer Bitcoin, Flickr of een aangepaste tekentabel; als het een privéprotocol is, zorg er dan eerst voor dat beide partijen dezelfde set van 58 tekenreeksen gebruiken.
  3. Voer tekst in of upload een bestand tijdens het coderen; plak de tekenreeks Base58 tijdens het decoderen en schakel indien nodig over naar het hexadecimale resultaat om de onbewerkte bytes te zien.
  4. Kopieer of download direct na het bekijken van de uitvoer; als het Base58Check is, zal de pagina synchroon vragen of de verificatie is geslaagd.

Functies

  • Standaard Base58 en Base58Check dubbele modi: normale codering kan rechtstreeks worden uitgevoerd, of een controlesom van 4 bytes kan automatisch worden toegevoegd of geverifieerd.
  • Zowel tekst als bestanden kunnen worden gecodeerd: gewone tekst wordt verwerkt volgens UTF-8, en bestanden worden gecodeerd volgens onbewerkte bytes, wat geschikt is voor offline levering van binaire inhoud.
  • De decoderingsresultaten kunnen worden omgeschakeld tussen tekst of hexadecimaal: blijf niet hangen in wartaal als u adrespayloads, hashfragmenten of niet-UTF-8 gegevens tegenkomt.
  • Ondersteunt Bitcoin, Flickr en een aangepaste tekentabel van 58 tekens: geschikt voor compatibiliteit met bestaande systemen of voor het debuggen van privé-shortcode-oplossingen.
  • Lokale browserverwerking en downloaden van resultaten: codering, decodering en verificatie worden allemaal lokaal voltooid en de uitvoer kan rechtstreeks worden gekopieerd of gedownload.

Hoe kies je Base58, Base58Check, Base64?

Ze kunnen allebei bytes omzetten in begaanbare tekst, maar de focus is compleet anders. De sleutel is niet "wat geavanceerder is", maar of u meer waarde hecht aan handmatige transcriptie en foutpreventie, of dat u compactheid en universele compatibiliteit waardeert.

PlannengeschikterVoordelenLet op
Base64 coderingBase64 URL Veilig
Base32 codering

Best Practices

Er wordt prioriteit gegeven aan Base58Check wanneer deze handmatig wordt getranscribeerd of doorgestuurd door de klantenservice

Zolang de string wordt gedicteerd, er een screenshot van wordt gemaakt, doorgestuurd in de chat of handmatig opnieuw wordt ingevoerd, is een checksum bijna altijd de moeite waard om te openen. Het zal niet alle fouten voorkomen, maar het zal de situaties waarin het lijkt alsof het klopt, maar er ontbreekt feitelijk een karakter, aanzienlijk verminderen.

Als het gedecodeerde resultaat geen tekst is, kijk dan eerst naar het hexadecimaal

Het is niet gegarandeerd dat inhoud zoals adrespayloads, hashes, afbeeldingskoppen en gecomprimeerde fragmenten UTF-8 is. Schakel eerst over naar hexadecimaal om de originele bytes te bevestigen en beslis vervolgens of u het bestand wilt converteren, door wilt gaan met hashen of het ter verwerking aan andere tools wilt overdragen.

Hex-gereedschap

Gebruik Base58 niet als opslagformaat voor de lange termijn voor grote bestanden

Base58 is meer geschikt voor korte reeksen en kleine tot middelgrote ladingen. Hoe groter het bestand, hoe langer de uitvoer, hoe minder handig het is om te kopiëren en hoe waarschijnlijker het is dat het wordt afgekapt in rich text, chattools of logbestanden.

Bij het aanpassen van de tekentabel moet deze worden gesynchroniseerd met alle productieterminals.

Zolang één server, script of client een andere volgorde gebruikt, zullen de coderings- en decoderingsresultaten allemaal verkeerd uitgelijnd zijn. Corrigeer eerst de reeks van 58 tekens en schrijf deze vervolgens in het protocol of testvoorbeeld.

Geef prioriteit aan vergelijking Base64URL wanneer kortere, meer algemene interfacetransmissie vereist is.

Het voordeel van Base58 is dat het gemakkelijk te lezen is en verwarring voorkomt, maar het is niet het kleinste formaat. Als strings voornamelijk tussen programma's worden doorgegeven en niet door mensen worden getranscribeerd, is Base64URL over het algemeen compacter en gangbaarder.

Base64 URL Veilig

Veelgestelde vragen

Welke moet ik kiezen tussen Base58 en Base64?

Als de string moet worden gelezen, gekopieerd of ingevoerd voor anderen, heeft Base58 de voorkeur; als het voornamelijk wordt verzonden in programma's, interfaces, JSON of URL parameters, is Base64 of Base64URL meestal compacter. De focus van Base58 ligt op leesbaarheid en anti-verduistering, niet op de kortste uitvoer.

Base58Check Welk probleem wordt hiermee opgelost?

Het voegt een controlesom van 4 bytes toe aan de oorspronkelijke payload en codeert vervolgens de volledige payload met Base58. Op deze manier zal de tool, wanneer de gebruiker een woord mist, een typefout maakt of in de verkeerde volgorde schrijft, gemakkelijker op tijd een fout rapporteren, in plaats van stilletjes een reeks betekenisloze resultaten te krijgen.

Kan deze pagina Bitcoin-adressen verifiëren?

Er kan worden geverifieerd dat de laag Base58Check correct is, dus het is geschikt om te controleren of er duidelijke invoerfouten voorkomen in de oude versie van het adres Base58 of de exportreeks WIF. Het zal echter niet verder het adresgebruik, het netwerktype en het scripttype bepalen, en het ondersteunt ook geen Bech32 adressen zoals `bc1...`.

Waarom is de code na het decoderen onleesbaar of is de prompt niet UTF-8?

Omdat Base58 onbewerkte bytes decodeert, niet noodzakelijkerwijs leesbare tekst. Dit kan gebeuren met adrespayloads, hashes, afbeeldingskoppen of willekeurige binaire gegevens. Schakel over naar hexadecimaal om de onbewerkte bytes te bekijken, en u kunt meestal doorgaan met de analyse.

Wordt het coderen en decoderen van bestanden Base58 ondersteund?

Ondersteuning. U kunt bestanden uploaden tijdens het coderen, en de pagina zal worden geconverteerd naar Base58 volgens de originele bytes; je kunt het originele resultaat ook na het decoderen terug downloaden. Hoe groter het bestand, hoe langer de uitvoerreeks, waardoor deze geschikter is voor kleine tot middelgrote werkbelastingen of foutopsporingsscenario's.

Welke karaktertabellen worden ondersteund?

Ondersteunt momenteel de standaarden Bitcoin Base58, Flickr Base58 en uw aangepaste tekentabel van 58 tekens. Zolang het coderings- en decoderingseinde exact dezelfde tekenreeks gebruiken, kunnen ze met elkaar communiceren.

Kan het IPFS CID of andere on-chain strings verwerken?

CIDv0 Dergelijke standaard Base58btc-reeksen kunnen direct worden gecodeerd of gedecodeerd; maar de pagina zal niet doorgaan met het ontleden van multibase, multicodec of concrete on-chain semantiek. Bech32 tekenreeksen zoals `bc1...` vallen niet binnen het bereik van Base58.

Wordt de geüploade inhoud naar de server verzonden?

Nee. Tekst, bestanden en Base58Check checksum-resultaten worden allemaal lokaal in de browser verwerkt, wat geschikt is voor het debuggen van gevoelige ladingen, offline testgegevens of bestandsfragmenten die lastig te uploaden zijn.

Probleemoplossing

Tip bevat illegale Base58 tekens

De huidige tekentabel accepteert geen uitgesloten tekens zoals 0, O, I en l. Het kan ook zijn dat u de verkeerde Bitcoin / Flickr / aangepaste tekentabel hebt geknipt. Bevestig eerst de bron van de string en controleer vervolgens of de karaktertabel consistent is met de andere partij.

Base58Check verificatie mislukt

Dit betekent meestal dat de tekenreeks te weinig is gekopieerd, dat de tekens onjuist zijn geschreven of dat deze niet Base58Check zelf is. Bevestig eerst of je Base58Check echt moet openen en ga dan terug en controleer of de originele inhoud compleet is.

Aangepaste tekentabel kan niet worden opgeslagen

De aangepaste tekentabel moet exact 58 tekens lang zijn en elk teken mag slechts één keer voorkomen. Het wordt aanbevolen om eerst de standaardtekentabel Bitcoin aan te passen om ontbrekende tekens of herhaalde tekens te voorkomen.

Het gedecodeerde resultaat is geen tekst

Dit is niet noodzakelijkerwijs een bug. Veel Base58 strings bevatten oorspronkelijk binaire payloads. Schakel over naar hexadecimaal om de decoderingsresultaten als bestand te bekijken of te downloaden, en beslis vervolgens over de volgende stap.

Woordenlijst

Base58
58-bits tekstcodering die gemakkelijk verwarde tekens zoals 0, O, I, l, enz. verwijdert, geschikt voor handmatige invoer en het delen van kopieën.
Base58Check
Er wordt een controlesom van 4 bytes toegevoegd na de oorspronkelijke payload, en vervolgens wordt de volledige Base58-codering gebruikt om invoerfouten eerder te detecteren.
Laadvermogen
Voer Base58 of Base58Check onbewerkte byte-inhoud uit vóór het coderen, wat tekst, bestandsbytes, adrespayload of willekeurige binaire gegevens kan zijn.
Controlesom
Korte vingerafdrukken voor snelle foutcontrole. Base58Check verdubbelt SHA-256 op de payload en neemt de eerste 4 bytes als controlesom.
Bitcoin Base58 Tekentabel
De meest voorkomende Base58 tekentabel: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Flickr Base58
Flickr is een andere sorteerset die wordt gebruikt door Base58. De volgorde van de cases is anders dan die van de Bitcoin-versie, dus dezelfde bytes krijgen een andere uitvoer.

Tekentabel ondersteund door de huidige pagina

Voor dezelfde set bytes zal de uiteindelijke uitvoer van Base58 anders zijn, zolang de tekentabelvolgorde anders is.

karakter tafelVeel voorkomende toepassingenBeschrijving

Wanneer moet u overstappen op hexadecimale weergave?

Base58 Het gedecodeerde resultaat kan niet altijd rechtstreeks in tekst worden gelezen.

Inhoud aangetroffenEen betere manier om te bekijkenReden

Authoritative References