Base58 kodowanie i dekodowanie

Zwykły tekst zostanie najpierw przekonwertowany na bajty zgodnie z UTF-8, a następnie zakodowany w Base58 lub Base58Check.

0 Wprowadź znaki

Zakończ kodowanie i dekodowanie Base58 i Base58Check w przeglądarce, obsługując przeglądanie tekstu, plików, niestandardowych tabel znaków i wyników szesnastkowych.

Powiązane Rekomendacje

Co to są Base58 i Base58Check?

Base58 to kodowanie tekstu przeznaczone do czytania przez ludzi i wklejania. Usunie łatwo błędnie odczytane znaki, takie jak 0, O, I i l, dlatego często jest używany w scenariuszach takich jak krótkie logo, kody zaproszeń, adresy portfeli i kody udostępniania offline.

Standardowa tablica znaków Bitcoin Base58 to `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`. Ta strona obsługuje zarówno wersję alfabetu Flickr, jak i Twój własny, zdefiniowany alfabet składający się z 58 znaków.

Base58Check to rozwiązanie, które dodaje 4-bajtową sumę kontrolną po oryginalnych bajtach, a następnie koduje ją w całości w Base58. Jest często używany do starych adresów Bitcoin, eksportu kluczy prywatnych WIF, kodów zaproszeń lub ciągów znaków, które wymagają ręcznej transkrypcji. Celem jest wykrycie literówek, brakujących słów lub wcześniejszej kolejności.

Jeśli otrzymasz ładunek binarny, ładunek adresu lub fragment skrótu, zdekodowana treść niekoniecznie będzie czytelnym tekstem. W tej chwili lepiej jest przełączyć się na tryb szesnastkowy, niż błędnie oceniać zniekształcone znaki jako błąd dekodowania.

IPFS CIDv0 używa standardu Base58btc zamiast Base58Check; `bc1...` Ten typ adresu Bitcoin należy do Bech32 i nie jest objęty zakresem tej strony Base58.

Przypadki użycia

  • Sprawdź, czy stary adres Bitcoin, ciąg eksportu klucza prywatnego WIF lub niestandardowy kod udostępniania Base58Check nie zostały wprowadzone niepoprawnie.
  • Zakoduj małe pliki, fragmenty binarne lub ładunki testowe w Base58, aby łatwo dostarczać je w dziennikach, czatach lub biletach.
  • Zdekoduj ciąg Base58 do postaci szesnastkowej, a następnie przeanalizuj go pod kątem bajtów wersji, skrótu lub nieprzetworzonego ładunku.
  • Porównaj dane wyjściowe między Bitcoin Base58 i Flickr Base58, aby dowiedzieć się, dlaczego ten sam zestaw bajtów daje różne wyniki w różnych systemach.
  • Zaprojektuj własną tabelę znaków o długości 58 znaków dla wewnętrznych kodów zaproszeń, krótkich logo lub tokenów offline i sprawdź, czy oba końce są spójne.

Jak Używać

  1. Wybierz tryb kodowania lub dekodowania; jeśli chcesz obsługiwać ciągi znaków wprowadzane przez człowieka, które są podatne na błędy, włącz opcję Base58Check.
  2. Wybierz Bitcoin, Flickr lub niestandardową tabelę znaków; if it is a private protocol, first ensure that both parties use the same set of 58 character sequences.
  3. Wprowadź tekst lub prześlij plik podczas kodowania; wklej ciąg Base58 podczas dekodowania, przełączając na wynik szesnastkowy, aby w razie potrzeby zobaczyć surowe bajty.
  4. Skopiuj lub pobierz bezpośrednio po obejrzeniu wyników; jeśli jest to Base58Check, strona synchronicznie zapyta, czy weryfikacja przebiegła pomyślnie.

Funkcje

  • Standardowe podwójne tryby Base58 i Base58Check: normalne kodowanie można wykonać bezpośrednio lub można automatycznie dodać lub zweryfikować 4-bajtową sumę kontrolną.
  • Można kodować zarówno tekst, jak i pliki: zwykły tekst będzie przetwarzany zgodnie z UTF-8, a pliki będą kodowane według nieprzetworzonych bajtów, co jest odpowiednie do dostarczania treści binarnych w trybie offline.
  • Wyniki dekodowania można przełączać pomiędzy tekstem lub systemem szesnastkowym: nie daj się zwieść bełkotowi, gdy napotkasz ładunki adresowe, fragmenty skrótu lub dane inne niż UTF-8.
  • Obsługuje Bitcoin, Flickr i niestandardową tablicę znaków o długości 58 znaków: odpowiednia dla zgodności z istniejącymi systemami lub debugowania rozwiązań prywatnego krótkiego kodu.
  • Lokalne przetwarzanie w przeglądarce i pobieranie wyników: kodowanie, dekodowanie i weryfikacja są wykonywane lokalnie, a dane wyjściowe można bezpośrednio skopiować lub pobrać.

Jak wybrać Base58, Base58Check, Base64?

Obydwa mogą konwertować bajty na znośny tekst, ale cel jest zupełnie inny. Kluczem nie jest to, „co jest bardziej zaawansowane”, ale to, czy bardziej cenisz ręczną transkrypcję i zapobieganie błędom, czy też cenisz zwartość i uniwersalną kompatybilność.

Planujbardziej odpowiedniZaletyUwaga
Kodowanie Base64Base64 URL Bezpieczny
Kodowanie Base32

Best Practices

Pierwszeństwo zostanie przyznane Base58Check w przypadku ręcznej transkrypcji lub przekazania przez obsługę klienta

Dopóki ciąg znaków będzie podyktowany, zrzut ekranu, przesłany na czacie lub ponownie wprowadzony ręcznie, prawie zawsze warto otworzyć sumę kontrolną. Nie zapobiegnie to wszystkim błędom, ale znacznie zmniejszy liczbę sytuacji „wygląda na to, że wszystko jest w porządku, ale w rzeczywistości brakuje znaku”.

Jeśli zdekodowany wynik nie jest tekstem, najpierw spójrz na zapis szesnastkowy

Nie gwarantujemy, że zawartość, taka jak ładunki adresów, skróty, nagłówki obrazów i skompresowane fragmenty, będzie UTF-8. Najpierw przejdź do formatu szesnastkowego, aby potwierdzić oryginalne bajty, a następnie zdecyduj, czy przekonwertować plik, kontynuować mieszanie, czy też przekazać go innym narzędziom do przetwarzania.

Narzędzia sześciokątne

Nie używaj Base58 jako formatu długoterminowego przechowywania dużych plików

Base58 jest bardziej odpowiedni dla krótkich ciągów i małych i średnich ładunków. Im większy plik, tym dłuższy plik wyjściowy, mniej wygodne do kopiowania i większe prawdopodobieństwo, że zostanie obcięty w tekście sformatowanym, narzędziach czatu lub dziennikach.

Dostosowując tabelę znaków, należy ją zsynchronizować ze wszystkimi terminalami produkcyjnymi.

Dopóki jeden serwer, skrypt lub klient używa innej kolejności, wyniki kodowania i dekodowania będą rozbieżne. Najpierw popraw sekwencję 58 znaków, a następnie zapisz ją w protokole lub próbce testowej.

Nadaj priorytet porównaniu Base64URL, gdy wymagana jest krótsza, bardziej ogólna transmisja interfejsu.

Zaletą Base58 jest to, że jest łatwy do odczytania i zapobiega pomyłkom, ale nie jest to najmniejszy rozmiar. Jeśli ciągi znaków są głównie przekazywane między programami i nie będą transkrybowane przez ludzi, Base64URL jest ogólnie bardziej zwarty i powszechny.

Base64 URL Bezpieczny

Często Zadawane Pytania

Który powinienem wybrać pomiędzy Base58 i Base64?

Jeśli ciąg ma zostać odczytany, skopiowany lub wprowadzony do innych, preferowany jest Base58; jeśli jest przesyłany głównie w programach, interfejsach, parametrach JSON lub URL, zwykle Base64 lub Base64URL jest bardziej zwarty. Celem Base58 jest czytelność i zapobieganie zaciemnianiu, a nie najkrótszy wynik.

Base58Check Jaki problem rozwiązuje?

Dołącza 4-bajtową sumę kontrolną do oryginalnego ładunku, a następnie koduje cały ładunek za pomocą Base58. W ten sposób, gdy użytkownik pominie słowo, popełni literówkę lub napisze w niewłaściwej kolejności, narzędzie łatwiej zgłosi błąd na czas, zamiast po cichu uzyskać ciąg bezsensownych wyników.

Czy ta strona może zweryfikować adresy Bitcoin?

Można sprawdzić, czy warstwa Base58Check jest poprawna, dlatego warto sprawdzić, czy w starej wersji adresu Base58 lub ciągu eksportu WIF nie występują oczywiste błędy wejściowe. Nie będzie jednak szczegółowo określać użycia adresu, typu sieci ani typu skryptu, ani nie obsługuje adresów Bech32, takich jak `bc1...`.

Dlaczego kod po dekodowaniu jest zniekształcony lub komunikat nie brzmi UTF-8?

Ponieważ Base58 dekoduje surowe bajty, niekoniecznie czytelny tekst. Może się to zdarzyć w przypadku ładunków adresowych, skrótów, nagłówków obrazów lub dowolnych danych binarnych. Aby wyświetlić nieprzetworzone bajty, przejdź do trybu szesnastkowego i zazwyczaj możesz kontynuować analizę.

Czy obsługiwane jest kodowanie i dekodowanie pliku Base58?

Wsparcie. Możesz przesyłać pliki podczas kodowania, a strona zostanie przekonwertowana na Base58 zgodnie z oryginalnymi bajtami; możesz także pobrać oryginalny wynik po dekodowaniu. Im większy plik, tym dłuższy ciąg wyjściowy, dzięki czemu jest bardziej odpowiedni w przypadku małych i średnich obciążeń lub scenariuszy debugowania.

Jakie tablice znaków są obsługiwane?

Obecnie obsługuje standardy Bitcoin Base58, Flickr Base58 i dostosowaną przez Ciebie tabelę znaków o długości 58 znaków. Dopóki koniec kodowania i koniec dekodowania używają dokładnie tej samej sekwencji znaków, mogą się ze sobą komunikować.

Czy może obsłużyć IPFS CID lub inne ciągi w łańcuchu?

CIDv0 Takie standardowe ciągi Base58btc mogą być bezpośrednio kodowane lub dekodowane; ale strona nie będzie kontynuować analizowania semantyki wielobazowej, wielokodowej ani konkretnej semantyki w łańcuchu. Bech32 ciągi znaków takie jak `bc1...` nie wchodzą w zakres Base58.

Czy przesłana zawartość zostanie wysłana na serwer?

Nie. Tekst, pliki i wyniki sumy kontrolnej Base58Check są przetwarzane lokalnie w przeglądarce, co nadaje się do debugowania wrażliwych ładunków, danych testowych offline lub fragmentów plików, których przesyłanie jest niewygodne.

Rozwiązywanie problemów

Wskazówka zawiera niedozwolone znaki Base58

Bieżąca tabela znaków nie akceptuje wykluczonych znaków, takich jak 0, O, I i l. Może się również zdarzyć, że wyciąłeś niewłaściwą Bitcoin / Flickr / niestandardową tabelę znaków. Najpierw potwierdź źródło ciągu, a następnie sprawdź, czy tablica znaków jest zgodna z drugą stroną.

Base58Check weryfikacja nie powiodła się

Zwykle oznacza to, że ciąg znaków został niedopisany, znaki zostały zapisane niepoprawnie lub nie jest to sam Base58Check. Najpierw potwierdź, czy naprawdę musisz otworzyć Base58Check, a następnie wróć i sprawdź, czy oryginalna zawartość jest kompletna.

Nie można zapisać niestandardowej tabeli znaków

Niestandardowa tabela znaków musi mieć dokładnie 58 znaków, a każdy znak może wystąpić tylko raz. Zaleca się najpierw zmodyfikować standardową tabelę znaków Bitcoin, aby uniknąć brakujących znaków lub powtarzających się znaków.

Zdekodowany wynik nie jest tekstem

To niekoniecznie jest błąd. Wiele ciągów Base58 pierwotnie zawiera ładunki binarne. Przełącz na tryb szesnastkowy, aby wyświetlić lub pobrać wyniki dekodowania w postaci pliku, a następnie zdecyduj o następnym kroku.

Słownik

Base58
58-bitowe kodowanie tekstu, które usuwa łatwo pomylone znaki, takie jak 0, O, I, l itp., odpowiednie do ręcznego wprowadzania i udostępniania kopii.
Base58Check
Po oryginalnym ładunku dodawana jest 4-bajtowa suma kontrolna, a następnie całe kodowanie Base58 jest wykorzystywane do wcześniejszego wykrycia błędów wejściowych.
Ładunek
Przed kodowaniem wykonaj Base58 lub Base58Check surową zawartość bajtów, która może być tekstem, bajtami pliku, ładunkiem adresu lub dowolnymi danymi binarnymi.
Suma kontrolna
Krótkie odciski palców do szybkiego sprawdzania błędów. Base58Check podwoi SHA-256 w ładunku i przyjmie pierwsze 4 bajty jako sumę kontrolną.
Bitcoin Base58 Tabela znaków
Najczęstsza tabela znaków Base58: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Flickr Base58
Flickr is another set of sorting used by Base58, the case order is different from the Bitcoin version, so the same bytes will get different output.

Tabela znaków obsługiwana przez bieżącą stronę

Dla tego samego zestawu bajtów, o ile kolejność tablicy znaków jest inna, końcowy wynik Base58 będzie inny.

tabela znakówTypowe zastosowaniaOpis

Kiedy należy przejść na wyświetlanie szesnastkowe?

Base58 Zdekodowanego wyniku nie zawsze można odczytać bezpośrednio w tekście.

Napotkana treśćLepszy sposób oglądaniaPowód

Authoritative References