Base64 Encoder Decoder - Gratis Online Base64 Konverteringsværktøj
Gratis base64 encoder decoder-værktøj. Konverter tekst til Base64 eller dekoder Base64-strenge øjeblikkeligt. Understøtter standard og URL-sikker kodning. Ingen login påkrævet.
Base64 Kodning/Afkodning
Konverter tekst til og fra Base64-kodning
Dokumentation
Hvad er Base64-kodning?
Base64 er en måde at omdanne alle slags data, herunder binære data som billeder, til almindelig tekst, der kun består af bogstaver, cifre og nogle få symboler. En Base64-encoder omdanner data til denne tekstform. En Base64-decoder omdanner den tilbage til de oprindelige data. Programmer bruger Base64 til at overføre binære data sikkert gennem systemer som e-mail eller JSON, der forventer almindelig tekst.
Base64 bruger et alfabet med 64 tegn:
- Store bogstaver A–Z (26 tegn)
- Små bogstaver a–z (26 tegn)
- Cifre 0–9 (10 tegn)
- To symboler, normalt
+og/(2 tegn)
Nogle systemer bruger også et lighedstegn (=) i slutningen af outputtet som udfyldning. Udfyldningen er ikke en del af alfabetet med 64 tegn; den udfylder blot længden.
Hvorfor Base64 findes
Mange ældre tekstprotokoller, herunder e-mail (SMTP) og visse dele af HTTP, blev bygget til at transportere 7-bit ASCII-tekst. De kan ødelægge rå binære bytes, f.eks. bytes i et JPEG-billede. Base64 undgår dette ved at repræsentere hver byte med kun sikre, udskrivbare tegn. Derfor går vedhæftede filer i e-mails, billeder indlejret i websider og binære felter i JSON almindeligvis gennem Base64 først.
Base64 er hverken komprimering eller kryptering. Det kodede resultat er altid større end inputtet, og alle kan afkode det uden en adgangskode eller nøgle.
Sådan bruger du dette værktøj
- Skriv eller indsæt tekst i inputfeltet.
- Vælg "Encode to Base64" for at konvertere tekst til Base64, eller "Decode from Base64" for at konvertere en Base64-streng tilbage til tekst.
- Slå livekonvertering til for automatisk at opdatere outputtet, mens der skrives.
- Kopiér resultatet med kopiknappen.
Værktøjet læser og skriver standardiseret Unicode-tekst, så bogstaver med accenter, symboler og emoji kodes og afkodes korrekt, ikke kun almindelige engelske bogstaver.
Sådan fungerer Base64-kodning
Base64 omdanner hver gruppe på 3 bytes inputdata (24 bits) til 4 outputtegn (der hver indeholder 6 bits), fordi 24 divideret med 6 er lig med 4.
- Tag inputbytene, og skriv dem som binærtal.
- Gruppér bittene i blokke på 24 bits (3 bytes).
- Opdel hver blok på 24 bits i fire stykker på 6 bits.
- Slå hvert tal på 6 bits (fra 0 til 63) op i Base64-alfabetet, og skriv det tilsvarende tegn.
Hvis inputlængden ikke er et multiplum af 3, er den sidste blok kort. Koderen udfylder den med nulbits og tilføjer derefter =-tegn til outputtet, så resultatet stadig kommer ud i grupper på 4:
- Én resterende byte giver 2 Base64-tegn plus
==. - To resterende bytes giver 3 Base64-tegn plus ét
=.
Eksempel på Base64-kodning
Kodning af ordet "Hello":
- ASCII-værdier: 72, 101, 108, 108, 111
- Binært:
01001000 01100101 01101100 01101100 01101111 - De første 3 bytes (24 bits) opdeles i fire grupper på 6 bits:
010010 000110 010101 101100, som er tallene 18, 6, 21, 44 → tegneneS,G,V,s. - De resterende 2 bytes (16 bits) opdeles i tre grupper på 6 bits, hvor 2 nulbits tilføjes til sidst:
011011 000110 111100, som er tallene 27, 6, 60 → tegneneb,G,8. - Da der var 2 bytes til overs, tilføjes ét
=til sidst. - Resultat:
SGVsbG8=
Afkodning vender disse trin om: hvert tegn knyttes tilbage til sit tal på 6 bits, bittene samles i en strøm, og strømmen læses igen som bytes på 8 bits.
Formel for længden af Base64-kodning
For et input på n bytes er den kodede længde i tegn:
encoded_length = 4 × ⌈n / 3⌉
hvor ⌈x⌉ betyder, at der rundes op til nærmeste hele tal. Formlen viser, hvorfor Base64-output altid er omkring en tredjedel større end inputtet: 4 outputtegn for hver 3 inputbytes er en stigning på 33 %.
Hvor Base64 bruges
- Vedhæftede filer i e-mails (MIME). E-mail blev udviklet til tekst, så vedhæftede filer konverteres til Base64 før afsendelse, hvilket gør den vedhæftede fil omkring 33 % større end originalen.
- Data-URI'er. Små billeder kan indlejres direkte i HTML eller CSS som tekst, f.eks.
data:image/png;base64,iVBORw0KGgo..., så en separat filanmodning undgås. Det fungerer bedst for små filer, da store filer gør siden unødigt stor og ikke kan caches separat. - API'er og JSON. JSON har ingen indbygget måde at indeholde rå binære data på, så binære filer, der sendes gennem en JSON-API, ofte først Base64-kodes.
- HTTP Basic Authentication. Headeren
Authorizationkoder et brugernavn og en adgangskode som Base64, f.eks.Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Dette er ikke sikkert i sig selv; legitimationsoplysningerne kan læses af alle, der opsnapper dem, så Basic Authentication bør kun bruges over HTTPS. - JSON Web Tokens (JWT). Hver af en JWT's tre dele kodes med Base64URL, en variant, der er sikker at placere i en URL.
- Lagring af binære data som tekst. Databaser eller konfigurationsfiler, der kun accepterer tekst, indeholder nogle gange binære data som en Base64-streng.
Base64 sammenlignet med andre kodninger
URL-sikker Base64 erstatter standardtegnene + og / med - og _, fordi + og / har en særlig betydning i en URL. Den bruges til JWT'er, URL-forespørgselsparametre og filnavne. Dette værktøj producerer standard-Base64-output; konvertering til den URL-sikre form kræver kun, at disse to tegn byttes ud.
Base32 bruger et alfabet med 32 tegn, så hvert tegn indeholder 5 bits i stedet for 6. Det konverterer hver 5 bytes til 8 tegn, med en overhead på 60 % (8 ÷ 5 = 1,6), sammenlignet med 33 % for Base64. Base32 vælges, når outputtet skal indtastes manuelt eller læses op over telefonen, fordi det undgår blandede store og små bogstaver samt tegn, der let forveksles.
Hexadecimal bruger 16 tegn (0–9, A–F) og kræver 2 tegn pr. byte, hvilket fordobler størrelsen (100 % overhead). Det er almindeligt til visning af hashværdier, farver og MAC-adresser, hvor læsbarhed er vigtigere end en kompakt størrelse.
Hvornår Base64 ikke bør bruges
Base64 øger størrelsen og CPU-forbruget, så det egner sig dårligt til store filer, der sendes over et netværk; det er mindre og hurtigere at sende de rå binære data direkte. Det bør aldrig bruges til at skjule følsomme oplysninger som adgangskoder eller API-nøgler, da afkodning ikke kræver nogen hemmelighed. Til lagring af store filer er en databases binære kolonnetype eller en fillagringstjeneste normalt bedre end en lang Base64-streng i et tekstfelt.
Almindelige fejl
- Spring over UTF-8-konvertering. Kodning af tekst med bogstaver med accenter eller emoji uden først at konvertere den til UTF-8-bytes kan ødelægge outputtet.
- Fjernelse af udfyldning. Nogle systemer fjerner de afsluttende
=-tegn. De fleste dekodere kan stadig fungere, hvis strengens længde igen udfyldes til et multiplum af 4, men ikke alle accepterer det, så det er sikrere at beholde udfyldningen. - Resterende linjeskift. Ældre MIME-baserede kodere indsætter et linjeskift for hver 76 tegn; de fleste moderne dekodere forventer én sammenhængende streng uden dem.
- Forveksling af varianter. Standard-Base64 og URL-sikker Base64 bruger forskellige tegn på de samme to pladser i alfabetet; afkodning med den forkerte variant giver nonsens eller en fejl.
Ofte stillede spørgsmål
Er Base64 en form for kryptering? Nej. Det er en reversibel tekstkodning, ikke kryptering. Alle kan afkode en Base64-streng øjeblikkeligt uden en adgangskode. Brug en krypteringsalgoritme som AES, hvis data skal holdes hemmelige.
Hvorfor gør Base64 data større? Fordi den bruger ét helt tegn til kun at indeholde 6 bits, mens en rå byte indeholder 8 bits. Når 3 bytes (24 bits) konverteres til 4 tegn, bliver outputtet 4/3, eller omkring 33 %, større end inputtet.
Kan Base64 kode billeder og andre binære filer? Ja. Alle binære filer, herunder billeder, PDF-filer og lyd, kan Base64-kodes og afkodes igen byte for byte. Det bruges ofte til små billeder, der er indlejret i HTML eller CSS, men er et dårligt valg til store filer.
Hvad er forskellen mellem Base64 og Base64URL?
Base64URL erstatter standardtegnene + og / med - og _, så resultatet kan placeres sikkert i en URL eller et filnavn uden ekstra escaping. JWT'er bruger Base64URL af denne grund.
Hvorfor giver min Base64-streng en "invalid"-fejl ved afkodning?
De mest almindelige årsager er tegn, der ikke hører til i Base64-alfabetet, såsom - og _ fra den URL-sikre variant, eller en streng, hvis længde er én større end et multiplum af 4. Ingen gyldig Base64-streng har den længde. Afkodning mislykkes også, når de afkodede bytes ikke er gyldig UTF-8-tekst. Dette værktøj ignorerer mellemrum og linjeskift i strengen, og det afkoder stadig en streng, hvor den afsluttende =-udfyldning er fjernet.
Hvor stammer Base64 fra? Teknikken går tilbage til tidlige metoder til at sende binære data gennem tekstbaserede postsystemer i 1980'erne og blev formelt standardiseret som en del af MIME i RFC 2045 i 1996. Den aktuelle referencespecifikation for Base64, Base32 og Base16 er RFC 4648.