Konwerter Base64-Hex
Konwerter Base64-Hex online do dwukierunkowej konwersji między ciągami szesnastkowymi a kodowaniem Base64. Obsługuje usuwanie prefiksu 0x, przełączanie wielkości liter, konwersję w czasie rzeczywistym i przetwarzanie lokalne w przeglądarce bez wysyłania danych na serwer.
Powiązane Rekomendacje
Czym jest konwerter Base64-Hex?
Konwerter Base64-Hex to narzędzie do dwukierunkowej konwersji między szesnastkową (Hex) reprezentacją bajtów a kodowaniem Base64. Oba formaty służą do przedstawiania danych binarnych w postaci tekstowej, ale spełniają różne zadania: Hex zapewnia czytelne przedstawienie bajt po bajcie, idealne do debugowania i analizy, a Base64 — zwartą reprezentację do przesyłania przez protokoły tekstowe.
**Hex (Base16)** koduje każdy bajt dwiema cyframi szesnastkowymi (0-9, A-F lub a-f), co daje 100% narzutu (2 znaki na bajt). Format ten dominuje w analizie pakietów (Wireshark, tcpdump), debugerach, edytorach szesnastkowych i na wyjściu funkcji kryptograficznych, ponieważ umożliwia łatwe odczytywanie poszczególnych bajtów.
**Base64** (RFC 4648) koduje co 3 bajty na 4 znaki z alfabetu A-Z, a-z, 0-9, +, / (z dopełnieniem =), zapewniając 33% narzutu. Base64 to standard do osadzania danych binarnych w JSON, poczcie e-mail (MIME), Data URI, JWT i HTTP Basic Auth, gdzie wymagana jest bezpieczna transmisja przez kanały tekstowe.
**Prefiks 0x** jest często używany w językach programowania (C, Python, JavaScript) i logach do oznaczania literałów szesnastkowych (np. 0xDEADBEEF). Narzędzie automatycznie wykrywa i usuwa ten prefiks podczas wprowadzania, dzięki czemu konwersja działa poprawnie bez ręcznego czyszczenia.
**Przełącznik wielkości liter** w Hex jest istotny podczas pracy z różnymi systemami: niektóre protokoły i narzędzia oczekują wielkich liter (np. certyfikaty, niektóre hasze), inne — małych (np. wyjście Wireshark, narzędzia Unix). Narzędzie umożliwia przełączanie wielkości liter jednym kliknięciem.
**Wireshark** i inne analizatory pakietów wyświetlają dane w formacie Hex z separatorami (grupy po 2 znaki oddzielone spacjami). Konwerter automatycznie obsługuje takie separatory, pozwalając bezpośrednio kopiować zrzuty z Wireshark i otrzymywać poprawny Base64 bez ręcznego przetwarzania.
**Konwersja w czasie rzeczywistym** oznacza, że przy każdej zmianie danych wejściowych wynik jest przeliczany automatycznie bez naciskania przycisku. Jest to szczególnie przydatne podczas debugowania protokołów, gdy trzeba szybko sprawdzić wiele wartości pod rząd.
**Przetwarzanie lokalne** gwarantuje, że wszystkie konwersje wykonywane są wyłącznie w Twojej przeglądarce przy użyciu wbudowanych API JavaScript. Dane nie są wysyłane na serwer, co zapewnia poufność podczas pracy z wrażliwymi informacjami — kluczami, tokenami, zawartością pakietów.
Przypadki użycia
- Analiza pakietów Wireshark: konwersja szesnastkowych zrzutów pakietów sieciowych na Base64 do przekazywania w API lub dokumentacji
- Debugowanie protokołów sieciowych: szybka konwersja między Hex a Base64 podczas badania protokołów binarnych
- Badania kryptograficzne: konwersja kluczy, haszy i podpisów między formatem szesnastkowym a Base64
- Tworzenie API: konwersja danych binarnych na Base64 do przekazywania w żądaniach JSON i z powrotem na Hex do debugowania
- Analiza złośliwego oprogramowania: przetwarzanie szesnastkowych zrzutów z deasemblerów i debugerów
- Praca z certyfikatami: konwersja certyfikatów i kluczy PEM/DER między formatami tekstowymi
- Odzyskiwanie danych: konwersja zrzutów Hex uszkodzonych plików na Base64 i z powrotem
- Testowanie webhooków: przygotowywanie binarnych ładunków w formacie Base64 z reprezentacji szesnastkowych
- Porównywanie logów: porównywanie danych w logach zapisanych w różnych formatach kodowania
- Przetwarzanie danych IoT: konwersja binarnych ciał wiadomości MQTT/CoAP między Hex a Base64
- Forensyka: analiza szesnastkowych obrazów pamięci i dysków z wygodnym przełączaniem kodowań
- Nauka technologii sieciowych: obrazowe badanie relacji między bajtowym a zwartym tekstowym przedstawieniem danych
Jak Używać
- Wybierz kierunek konwersji: Hex na Base64 lub Base64 na Hex
- Wklej dane do odpowiedniego pola wejściowego — konwersja uruchomi się automatycznie w czasie rzeczywistym
- W razie potrzeby włącz opcje: usuwanie prefiksu 0x lub przełączanie na wielkie/małe litery Hex
- Sprawdź wynik w polu wyjściowym i upewnij się co do poprawności konwersji na podstawie statystyk
- Skopiuj wynik jednym kliknięciem do dalszego użycia
Funkcje
- Konwersja dwukierunkowa: konwersja Hex na Base64 i Base64 na Hex w jednym narzędziu z natychmiastowym przełączaniem kierunku
- Usuwanie prefiksu 0x: automatyczne wykrywanie i usuwanie prefiksu 0x z ciągów szesnastkowych podczas wprowadzania
- Przełącznik wielkości liter: wybór wyprowadzenia znaków Hex w wersji wielkiej lub małej, zgodnie z wymaganiami danego protokołu
- Konwersja w czasie rzeczywistym: wynik pojawia się natychmiast po wpisaniu, bez naciskania przycisków i opóźnień
- Przetwarzanie lokalne: wszystkie obliczenia wykonywane są w przeglądarce, dane nie opuszczają Twojego urządzenia
- Obsługa separatorów: automatyczne rozpoznawanie spacji, podziałów wierszy i innych separatorów w ciągach Hex
- Tryb Wireshark: bezpośrednia zgodność z zrzutami szesnastkowymi z Wireshark i innych analizatorów pakietów
- Kopiowanie jednym kliknięciem: kopiowanie wyniku do schowka w celu użycia w parametrach API lub dokumentacji
- Sprawdzanie poprawności: wbudowana walidacja danych wejściowych z jasnymi komunikatami o błędach dla nieprawidłowych danych
- Statystyki w czasie rzeczywistym: wyświetlanie liczby bajtów oraz znaków wejściowych i wyjściowych dla celów kontrolnych
- Zgodność z RFC 4648: zgodność ze standardem kodowania Base64 według specyfikacji RFC 4648
- Obsługa kodowań zagnieżdżonych: możliwość wielokrotnej konwersji między formatami bez utraty danych
- Historia sesji: automatyczne zapisywanie ostatnich konwersji dla szybkiego ponownego dostępu
- Interfejs responsywny: wygodna praca zarówno na komputerze, jak i na urządzeniach mobilnych
Przykłady kodu
JavaScript: Hex ↔ Base64 (UTF-8)
// Hex → Base64
function hexToBase64(hex) {
hex = hex.replace(/^0x/i, '').replace(/\s/g, '');
const bytes = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(h => parseInt(h, 16)));
let binary = '';
bytes.forEach(b => binary += String.fromCharCode(b));
return btoa(binary);
}
// Base64 → Hex
function base64ToHex(b64, uppercase = false) {
const binary = atob(b64);
const hex = [...binary].map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join('');
return uppercase ? hex.toUpperCase() : hex;
}
console.log(hexToBase64('48656c6c6f')); // SGVsbG8=
console.log(base64ToHex('SGVsbG8=')); // 48656c6c6fPython: Hex ↔ Base64
import base64
# Hex → Base64
def hex_to_b64(hex_str: str, strip_0x: bool = True) -> str:
if strip_0x and hex_str.startswith('0x'):
hex_str = hex_str[2:]
hex_str = hex_str.replace(' ', '').replace('\n', '')
return base64.b64encode(bytes.fromhex(hex_str)).decode()
# Base64 → Hex
def b64_to_hex(b64_str: str, uppercase: bool = False) -> str:
h = base64.b64decode(b64_str).hex()
return h.upper() if uppercase else h
print(hex_to_b64('48656c6c6f')) # SGVsbG8=
print(b64_to_hex('SGVsbG8=')) # 48656c6c6fJava: Hex ↔ Base64
import java.util.HexFormat;
import java.util.Base64;
public class HexBase64 {
public static String hexToBase64(String hex) {
hex = hex.replaceFirst("^0[xX]", "").replaceAll("\\s+", "");
byte[] bytes = HexFormat.of().parseHex(hex);
return Base64.getEncoder().encodeToString(bytes);
}
public static String base64ToHex(String b64, boolean uppercase) {
byte[] bytes = Base64.getDecoder().decode(b64);
String hex = HexFormat.of().formatHex(bytes);
return uppercase ? hex.toUpperCase() : hex;
}
public static void main(String[] args) {
System.out.println(hexToBase64("48656c6c6f")); // SGVsbG8=
System.out.println(base64ToHex("SGVsbG8=", false)); // 48656c6c6f
}
}Często Zadawane Pytania
Jaka jest różnica między Hex a Base64?
Hex (Base16) używa 2 znaków na bajt (100% narzutu), jest wygodny do analizy bajt po bajcie i debugowania. Base64 używa 4 znaków na 3 bajty (~33% narzutu), lepiej nadaje się do przesyłania danych binarnych przez protokoły tekstowe i osadzania w JSON/HTML.
Po co konwertować Hex na Base64?
Najczęściej jest to potrzebne podczas debugowania API: Wireshark i deasemblery wyświetlają dane w Hex, a do przekazywania w żądaniach JSON wymagany jest Base64. Konwersja Hex→Base64 jest używana także podczas pracy z kluczami kryptograficznymi, haszami i binarnymi ładunkami webhooków.
Po co konwertować Base64 na Hex?
Konwersja Base64→Hex jest niezbędna do wizualnej analizy danych: w postaci Hex wygodnie badać strukturę protokołów binarnych, porównywać bajty ze zrzutami Wireshark, znajdować sygnatury plików i debugować operacje kryptograficzne.
Czy obsługiwane jest usuwanie prefiksu 0x?
Tak. Narzędzie automatycznie wykrywa i usuwa prefiks 0x (w dowolnej wielkości liter) z wejściowych ciągów Hex. Na przykład ciąg 0xDEADBEEF zostanie przetworzony poprawnie, podobnie jak jego wersja bez prefiksu.
Czy można kopiować Hex bezpośrednio z Wireshark?
Tak. Wireshark wyświetla pakiety grupami po 2 cyfry Hex ze spacjami. Narzędzie automatycznie ignoruje spacje i podziały wierszy, więc można po prostu zaznaczyć i skopiować zrzut z Wireshark bez dodatkowego czyszczenia.
Jaka wielkość liter na wyjściu Hex jest używana domyślnie?
Domyślnie używane są małe litery (jak na wyjściu większości narzędzi Unix i Wireshark), ale można przełączyć się na wielkie litery, jeśli wymaga tego protokół, certyfikat lub inne oprogramowanie.
Czym jest dopełnienie (padding) w Base64?
Dopełnienie to znaki = na końcu ciągu Base64, uzupełniające wyjście do wielokrotności 4 znaków. Dopełnienie jest dodawane, gdy liczba bajtów wejściowych nie jest wielokrotnością trzech. Narzędzie zachowuje dopełnienie domyślnie zgodnie z RFC 4648.
Czy wynik można używać w żądaniach API?
Tak. Wyjście Base64 jest gotowe do wklejenia w JSON, formularze i inne tekstowe parametry API. Wyjście Hex jest gotowe do użycia w narzędziach debugowania, testach i dokumentacji.
Czy istnieje ograniczenie rozmiaru danych wejściowych?
Ograniczenie zależy od wydajności Twojej przeglądarki. Typowy scenariusz — praca z danymi do kilku megabajtów (klucze, tokeny, pakiety sieciowe, fragmenty plików) — nie sprawia problemów.
Dlaczego wyjście Hex i Base64 mają różną długość?
Hex używa 2 znaków na każdy bajt, Base64 — 4 znaków na każde 3 bajty. Dlatego dla tych samych danych Base64 jest o około 25% krótszy niż Hex. Statystyki pod polami wejściowymi pokazują rzeczywistą liczbę bajtów.
Czy obsługiwany jest URL-Safe Base64?
W bieżącej wersji używane jest standardowe kodowanie Base64 według RFC 4648 ze znakami + i /. Dla wariantu URL-Safe (z - i _ zamiast + i /) użyj specjalistycznego narzędzia Base64 URL-Safe.
Czy nieprawidłowe dane wejściowe są obsługiwane?
Tak. Przy wprowadzeniu nieprawidłowych znaków Hex lub niepoprawnego ciągu Base64 narzędzie wyświetla jasny komunikat o błędzie, wskazujący pozycję i charakter problemu.
Czy dane są wysyłane na serwer?
Nie. Wszystkie konwersje wykonywane są lokalnie w Twojej przeglądarce przy użyciu natywnych API JavaScript (TextEncoder, atob, btoa z korekcją UTF-8). Dane nie są przesyłane przez sieć.
Czy można konwertować duże pliki?
Narzędzie jest zoptymalizowane do pracy z tekstowymi reprezentacjami danych (pakiety, klucze, tokeny). Do plików użyj specjalistycznych narzędzi File to Base64 i File Hash.
Czym różni się od osobnych narzędzi Hex i Base64?
To narzędzie zostało stworzone specjalnie dla częstego scenariusza przełączania się między dwoma formatami podczas debugowania. Obsługuje funkcje przydatne właśnie podczas analizy pakietów i protokołów: usuwanie 0x, ignorowanie separatorów, przełączanie wielkości liter i dwukierunkowość w jednym interfejsie.
Rozwiązywanie problemów
Błąd «Invalid hex string» podczas wprowadzania danych z Wireshark
Wynik Hex zawiera nieparzystą liczbę znaków
Podczas konwersji Base64 na Hex otrzymywany jest nieprawidłowy wynik
Wynik różni się od oczekiwanego w innym narzędziu
Słownik
- Hex (Base16)
- Kodowanie szesnastkowe, przedstawiające każdy bajt dwoma znakami z zakresu 0-9 i A-F (lub a-f). Używane do przedstawiania danych binarnych bajt po bajcie w debugerach, analizatorach pakietów i kryptografii.
- Base64
- Kodowanie binarne-tekstowe według RFC 4648, używające 64 znaków drukowalnych (A-Z, a-z, 0-9, +, /) i znaku dopełnienia =. Koduje co 3 bajty na 4 znaki, zapewniając narzut około 33%.RFC 4648
- RFC 4648
- Standard IETF definiujący kodowania Base16 (Hex), Base32 i Base64, w tym alfabety znaków, reguły dopełniania i wariant URL-Safe.RFC 4648
- Prefiks 0x
- Powszechnie przyjęte oznaczenie literału szesnastkowego w językach programowania (C, C++, Python, Java, JavaScript, Rust i innych). Ciąg 0xFF oznacza liczbę dziesiętną 255.
- Wireshark
- Popularny analizator protokołów sieciowych, wyświetlający przechwycone pakiety w formacie szesnastkowym ze spacjami między bajtami. Często używany wraz z konwerterem Base64-Hex podczas debugowania interakcji sieciowych.
- Dopełnienie Base64
- Znaki = na końcu ciągu Base64, uzupełniające długość wyjściową do wielokrotności 4. Dodawane, gdy dane wejściowe nie są wielokrotnością 3 bajtów. Na przykład 1 bajt → 2 znaki + ==, 2 bajty → 3 znaki + =.
- Przetwarzanie lokalne
- Model wykonania, w którym wszystkie operacje na danych odbywają się w przeglądarce użytkownika bez wysyłania na zdalny serwer. Zapewnia poufność i brak opóźnienia sieciowego.
- Narzut kodowania
- Zwiększenie rozmiaru danych przy kodowaniu. Hex ma 100% narzutu (podwojenie rozmiaru), Base64 — około 33%. Jest to cena za przedstawianie danych binarnych w postaci tekstowej.
- Konwersja dwukierunkowa
- Możliwość konwertowania danych z formatu A do formatu B i z powrotem bez utraty informacji. Konwerter Base64-Hex obsługuje oba kierunki: Hex→Base64 i Base64→Hex.
- Strumień bajtów
- Sekwencja bajtów stanowiąca dane binarne. Hex przedstawia każdy bajt parą znaków, dzięki czemu strumień bajtów jest czytelny dla człowieka i porównywalny bajt po bajcie.
- URL-Safe Base64
- Wariant Base64 według RFC 4648 §5, w którym znaki + i / są zastąpione przez - i _, a dopełnienie = jest często pomijane. Używany w JWT, OAuth PKCE, URL i nazwach plików.
- atob / btoa
- Wbudowane funkcje przeglądarki do dekodowania i kodowania Base64. Obsługują tylko Latin-1 (1 bajt na znak), dlatego do poprawnej pracy z UTF-8 wymagane jest dodatkowe przetwarzanie przez TextEncoder/TextDecoder.
Porównanie Hex i Base64
| Cecha | Hex (Base16) | Base64 |
|---|---|---|
| Alfabet | 0-9, A-F (16 znaków) | A-Z, a-z, 0-9, +, / (64 znaki) |
| Znaków na bajt | 2 | 4 na 3 bajty (~1.33) |
| Narzut | 100% (podwojenie) | ~33% |
| Standard | RFC 4648 §8 | RFC 4648 §4 |
| Dopełnienie | Nie wymagane | = na końcu |
| Główne zastosowanie | Debugowanie, analiza pakietów, hasze | JSON, MIME, Data URI, JWT |
| Separatory | Często ze spacjami między bajtami | Bez separatorów |
Przykłady konwersji
| Tekst oryginalny | Hex (małe litery) | Base64 |
|---|---|---|
| Hello | 48656c6c6f | SGVsbG8= |
| A | 41 | QQ== |
| AB | 4142 | QUI= |
| ABC | 414243 | QUJD |
| test | 74657374 | dGVzdA== |
Zgodność długości Hex i Base64
| Liczba bajtów | Długość Hex | Długość Base64 (z dopełnieniem) |
|---|---|---|
1 | 2 | 4 (2 znaki + ==) |
2 | 4 | 4 (3 znaki + =) |
3 | 6 | 4 (bez dopełnienia) |
6 | 12 | 8 (bez dopełnienia) |
N | 2×N | ceil(N/3)×4 |
Privacy & Security
Konwerter Base64-Hex działa w całości w Twojej przeglądarce. Wszystkie konwersje — Hex na Base64 i Base64 na Hex, usuwanie prefiksu 0x, przełączanie wielkości liter — wykonywane są lokalnie przy użyciu wbudowanych API JavaScript. Żadne dane nie są wysyłane na serwer, nie są przechowywane ani przekazywane osobom trzecim.
Authoritative References
- Bezpieczne porównanie ciągów znaków
- Konwersja binarna
- Szyfr Cezara
- Kod Morse'a
- Szesnastkowy
- Video do Base64
- Base64 na wideo
- Obraz na Base64
- Base64 na obraz
- Tekst na Base64
- Base64 na tekst
- Weryfikacja haszu pliku
- Plik na Base64
- Base64 na plik
- Audio na Base64
- Base64 na Audio
- Szyfrowanie i deszyfrowanie AES
- Szyfrowanie i deszyfrowanie DES
- Koder Dekoder Base32
- Base58 kodowanie i dekodowanie
- Kodowanie Base64
- Dekodowanie Base64
- Porównanie Base64
- Podział Base64
- Base64 łączenie wielu linii
- Formatowanie Base64
- Sprawdzanie formatu Base64
- Wsadowe kodowanie Base64
- Batchowe dekodowanie Base64
- Czyszczenie Base64
- Narzędzie paddingu Base64
- Statystyki długości Base64
- Base64 na szesnastkowy
- Konwerter Base64 DataURL
- Konwerter Base64-Hex
- Koder/Dekoder Base85
- Generator i weryfikator HMAC
- Derywacja klucza PBKDF2
- Skrót MD5
- Hash SHA-256
- Hash SHA-1
- Hash SHA512
- Narzędzie JWT
- Kodowanie i dekodowanie encji HTML
- Unikod - sekwencje ucieczki
- Kodowanie URL
- Base64 URL Safe
- MIME Base64
- Obfuskacja Java
- Obfuskacja JS
- Obfuskacja PHP
- Obfuskacja Python