Wskazówki do kodowania i dekodowania Base64: przykłady poleceń dla Windows, Linux i Mac
Koduj i dekoduj pliki do formatu Base64 w systemach Windows, Linux i Mac.
Ten przewodnik pokazuje, jak koduować i dekodować pliki oraz ciągi znaków do formatu Base64 z wiersza polecenia na systemach Windows, Linux i macOS — bez konieczności instalowania dodatkowych narzędzi.

Ten przewodnik jest częścią Narzędzia dla programistów: Kompletny przewodnik po nowoczesnych przepływach pracy.
Base64 konwertuje dane binarne na tekst ASCII używając 64 znaków (A–Z, a–z, 0–9, +, /). Jest szeroko stosowany do kodowania poświadczeń w HTTP Basic Auth, obciążeniach JWT (zobacz Dekodowanie i drukowanie tokena JWT), sekretach Kubernetes, URI danych w HTML/CSS oraz osadzaniu danych binarnych w JSON lub zmiennych środowiskowych. Używanie wiersza polecenia utrzymuje dane poufne lokalnie i umożliwia skryptowanie w potokach CI/CD.
Kodowanie i dekodowanie Base64 w systemie Windows
System Windows nie dostarcza dedykowanego polecenia base64, ale możesz użyć wbudowanych narzędzi.
Używanie wiersza polecenia z Certutil
-
Otwórz Wiersz polecenia.
-
Skoduj plik do formatu Base64:
certutil -encode input.bin output.b64Zastąp
input.binścieżką do swojego pliku, aoutput.b64pożądaną nazwą pliku wyjściowego. -
Aby wydrukować Base64 do konsoli bez zapisywania tymczasowego pliku:
certutil -encode input.bin tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64findstr /v /c:-usuwa linie-----BEGIN CERTIFICATE-----oraz-----END CERTIFICATE-----, które dodaje certutil.
Dekodowanie Base64 w systemie Windows (Certutil)
certutil -decode encoded.b64 decoded.bin
Używanie PowerShell do kodowania i dekodowania
Skoduj plik:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("C:\path\to\file.bin"))
Skoduj ciąg znaków (UTF-8):
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("Hello, World!"))
# Wynik: SGVsbG8sIFdvcmxkIQ==
Dekoduj Base64 do ciągu znaków:
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8sIFdvcmxkIQ=="))
# Wynik: Hello, World!
Dekoduj Base64 do pliku:
[System.IO.File]::WriteAllBytes("decoded.bin", [Convert]::FromBase64String((Get-Content encoded.b64 -Raw)))
Te metody działają bez instalowania dodatkowego oprogramowania. Aby dowiedzieć się więcej o automatyzacji powłoki, zobacz Skroty PowerShell.
Kodowanie i dekodowanie Base64 w systemie Linux
Polecenie base64 jest zainstalowane domyślnie w większości dystrybucji Linux (GNU coreutils).
Podstawowa składnia
base64 [OPCJE] [PLIK]
Bez pliku lub gdy plikiem jest -, odczytuje ze standardowego wejścia.
Skodowanie pliku do Base64
base64 input_file > output_file
Przykład:
base64 myfile.txt > encoded.txt
Aby wydrukować skodowaną zawartość do terminala:
base64 myfile.txt
Skodowanie ciągu znaków do Base64
echo -n "Hello, World!" | base64
# Wynik: SGVsbG8sIFdvcmxkIQ==
Użyj -n z echo, aby uniknąć końcowego znaku nowej linii. Aby dekodować ciągi w JWT, zobacz Dekodowanie i drukowanie tokena JWT.
Wyłączenie zawijania linii (-w 0)
Domyślnie base64 zawija wyjście co 76 znaków. Dla JSON, zmiennych środowiskowych, URL lub użycia Terraform base64encode, wyłącz zawijanie:
base64 -w 0 input_file > output_file
Dekodowanie Base64 w systemie Linux
base64 -d encoded_file > decoded_file
# lub
base64 --decode encoded_file > decoded_file
Przykład:
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# Wynik: Hello, World!
Alternatywa: OpenSSL
echo -n "data" | openssl base64 -e
echo "ZGF0YQ==" | openssl base64 -d
Więcej przepływów pracy w wierszu polecenia znajduje się w Skrotach Bash.
Kodowanie i dekodowanie Base64 w systemie macOS
macOS zawiera polecenie base64 podobne do Linuxa, ale wymaga flagi -i dla wejścia z pliku.
Skodowanie pliku do Base64
base64 -i input_file > output_file
Przykład:
base64 -i myfile.txt > encoded.txt
Aby wydrukować do terminala:
base64 -i myfile.txt
Skodowanie i kopiowanie do schowka
base64 -i input_file | pbcopy
Dekodowanie Base64 na Macu
base64 -D -i encoded_file > decoded_file
Flaga -D aktywuje tryb dekodowania; -i określa plik wejściowy. Te polecenia działają we wszystkich nowoczesnych wersjach macOS począwszy od 10.7.
Referencja polecenia base64 w systemie Linux
Pełna pomoc dla narzędzia GNU base64:
$ base64 --help
Użycie: base64 [OPCJA]... [PLIK]
Skoduj lub dekoduj PLIK, lub standardowe wejście, do standardowego wyjścia.
Bez PLIKU, lub gdy PLIK jest -, odczytaj standardowe wejście.
Argumenty wymagane dla długich opcji są wymagane również dla krótkich opcji.
-d, --decode dekoduj dane
-i, --ignore-garbage podczas dekodowania, ignoruj znaki spoza alfabetu
-w, --wrap=KOLUMNY zawijaj skodowane linie po KOLUMNY znakach (domyślnie 76).
Użyj 0, aby wyłączyć zawijanie linii
--help wyświetl tę pomoc i zakończ
--version wyświetl informacje o wersji i zakończ
Dane są kodowane zgodnie z opisem alfabetu base64 w RFC 4648.
Podczas dekodowania wejście może zawierać znaki nowej linii oprócz bajtów
formalnego alfabetu base64. Użyj --ignore-garbage, aby próbować odzyskać
z innych bajtów spoza alfabetu w strumieniu zakodowanym.
...
Częste przypadki użycia
| Przypadek użycia | Polecenie / podejście |
|---|---|
| Nagłówek/obciążenie JWT | Dekoduj za pomocą base64 -d lub jq — zobacz Dekodowanie i drukowanie tokena JWT |
| HTTP Basic Auth | echo -n "user:pass" | base64 -w 0 dla Authorization: Basic <wynik> |
| Sekret Kubernetes | kubectl create secret generic mysecret --from-literal=key=$(base64 -w 0 file.bin) |
| cURL z Basic Auth | Użyj -u user:pass lub -H "Authorization: Basic $(echo -n user:pass | base64 -w 0)" — zobacz Skroty cURL |
| Data URI w HTML | data:image/png;base64,$(base64 -w 0 image.png) |