Snabbreferens för Base64-kodning och avkodning: Kommandexempel för Windows, Linux och Mac

Kodning och avkodning av filer till Base64 på Windows, Linux och Mac.

Sidinnehåll

Denna fusklista visar hur du kodar och avkodar filer och strängar till Base64 från kommandoraden på Windows, Linux och macOS — utan att behöva några extra verktyg.

skäggig man som kodar avancerat på natten

Denna guide är en del av Verktyg för utvecklare: Den kompletta guiden till moderna utvecklingsflöden.

Base64 konverterar binärdata till ASCII-text med hjälp av 64 tecken (A–Z, a–z, 0–9, +, /). Det används ofta för att koda inloggningsuppgifter i HTTP Basic Auth, JWT-payloads (se Avkoda och skriva ut JWT-token), Kubernetes-hemligheter, data-URI:er i HTML/CSS och för att bädda in binärdata i JSON eller miljövariabler. Att använda kommandoraden håller känslig data lokalt och är skriptbart i CI/CD-pipelines.

Base64-kodning och avkodning på Windows

Windows har inte ett dedikerat base64-kommando, men du kan använda inbyggda verktyg.

Använd Command Prompt med Certutil

  1. Öppna Command Prompt.

  2. Koda en fil till Base64:

    certutil -encode input.bin output.b64
    

    Ersätt input.bin med din filväg och output.b64 med önskat filnamn för output.

  3. För att skriva ut Base64 till konsolen utan att spara en temporär fil:

    certutil -encode input.bin tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64
    

    findstr /v /c:- tar bort raderna -----BEGIN CERTIFICATE----- och -----END CERTIFICATE----- som certutil lägger till.

Avkoda Base64 på Windows (Certutil)

certutil -decode encoded.b64 decoded.bin

Använd PowerShell för att koda och avkoda

Koda en fil:

[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("C:\path\to\file.bin"))

Koda en sträng (UTF-8):

[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("Hello, World!"))
# Output: SGVsbG8sIFdvcmxkIQ==

Avkoda Base64 till sträng:

[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8sIFdvcmxkIQ=="))
# Output: Hello, World!

Avkoda Base64 till fil:

[System.IO.File]::WriteAllBytes("decoded.bin", [Convert]::FromBase64String((Get-Content encoded.b64 -Raw)))

Dessa metoder fungerar utan att installera extra mjukvara. För mer skalautomatisering, se PowerShell-fusklistan.

Base64-kodning och avkodning på Linux

Kommandot base64 är förinstallerat på de flesta Linux-distributioner (GNU coreutils).

Grundläggande syntax

base64 [ALTERNATIV] [FIL]

Utan fil eller när filen är -, läser det från standardinput.

Koda en fil till Base64

base64 input_file > output_file

Exempel:

base64 myfile.txt > encoded.txt

För att skriva ut kodad innehåll till terminalen:

base64 myfile.txt

Koda en sträng till Base64

echo -n "Hello, World!" | base64
# Output: SGVsbG8sIFdvcmxkIQ==

Använd -n med echo för att undvika en slutande ny rad. För att avkoda strängar i JWT, se Avkoda och skriva ut JWT-token.

Inaktivera radinbrytning (-w 0)

Som standard wrapar base64 output vid 76 tecken. För JSON, miljövariabler, URL:er eller användning av Terraform base64encode, inaktivera inbrytning:

base64 -w 0 input_file > output_file

Avkoda Base64 på Linux

base64 -d encoded_file > decoded_file
# eller
base64 --decode encoded_file > decoded_file

Exempel:

echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# Output: Hello, World!

Alternativ: OpenSSL

echo -n "data" | openssl base64 -e
echo "ZGF0YQ==" | openssl base64 -d

För mer kommandoradsflöden täcker Bash-fusklistan pipning och skriptning.

Base64-kodning och avkodning på macOS

macOS inkluderar ett base64-kommando liknande Linux, men det kräver flaggan -i för filinput.

Koda en fil till Base64

base64 -i input_file > output_file

Exempel:

base64 -i myfile.txt > encoded.txt

För att skriva ut till terminalen:

base64 -i myfile.txt

Koda och kopiera till urklipp

base64 -i input_file | pbcopy

Avkoda Base64 på Mac

base64 -D -i encoded_file > decoded_file

Flaggan -D aktiverar avkodningsläge; -i anger inputfilen. Dessa kommandon fungerar på alla moderna macOS-versioner från 10.7 och framåt.

Referens för Linux-kommandot base64

Hjälpoutput för GNU base64-verktyget:

$ base64 --help

Användning: base64 [ALTERNATIV]... [FIL]
Base64-koda eller avkoda FIL, eller standardinput, till standardoutput.

Utan FIL, eller när FIL är -, läs standardinput.

Obligatoriska argument till långa alternativ är obligatoriska för korta alternativ också.
  -d, --decode          avkoda data
  -i, --ignore-garbage  vid avkodning, ignorerar icke-alfabetiska tecken
  -w, --wrap=KOLMNER    wrapa kodade rader efter KOLMNER karaktärer (standard 76).
                          Använd 0 för att inaktivera radinbrytning
      --help        visa denna hjälp och avsluta
      --version     skriv ut versionsinformation och avsluta

Data koden enligt beskrivningen för Base64-alfabetet i RFC 4648.
Vid avkodning kan input innehålla nya rader utöver byte från det formella base64-alfabetet. Använd --ignore-garbage för att försöka återhämta sig från andra icke-alfabetiska byte i den koderade strömmen.
...

Vanliga användningsfall

Användningsfall Kommando / metod
JWT-header/payload Avkoda med base64 -d eller jq — se Avkoda och skriva ut JWT-token
HTTP Basic Auth echo -n "user:pass" | base64 -w 0 för Authorization: Basic <result>
Kubernetes-hemlighet kubectl create secret generic mysecret --from-literal=key=$(base64 -w 0 file.bin)
cURL med Basic Auth Använd -u user:pass eller -H "Authorization: Basic $(echo -n user:pass | base64 -w 0)" — se cURL-fusklista
Data-URI i HTML data:image/png;base64,$(base64 -w 0 image.png)

Användbara länkar