Base64-kodning

Med Base64-kodningsverktyget kan du kryptera texten du anger med Base64-metoden. Om du vill kan du avkoda den krypterade Base64-koden med verktyget Base64 Decode.

Vad är Base64-kodning?

Base64 Encoding är ett kodningsschema som gör att binär data kan transporteras i miljöer som bara använder vissa begränsade teckenkodningar (miljöer där inte alla teckenkoder kan användas, såsom xml, html, skript, snabbmeddelandeapplikationer). Antalet tecken i detta schema är 64, och talet 64 i ordet Base64 kommer härifrån.

Varför använda Base64-kodning?

Behovet av Base64-kodning härrör från problem som uppstår när media överförs i rått binärt format till textbaserade system. Eftersom textbaserade system (som t.ex. e-post) tolkar binär data som ett brett spektrum av tecken, inklusive speciella kommandotecken, misstolkas de flesta binära data som sänds till överföringsmediet av dessa system och går förlorade eller skadas i överföringen bearbeta.

En metod för att koda sådana binära data på ett sätt som undviker sådana överföringsproblem är att skicka dem som vanlig ASCII-text i Base64-kodat format. Detta är en av teknikerna som används av MIME-standarden för att skicka andra data än vanlig text. Många programmeringsspråk, som PHP och Javascript, inkluderar Base64-kodnings- och avkodningsfunktioner för att tolka data som överförs med Base64-kodning.

Base64 kodningslogik

I Base64-kodning är 3 * 8 bitar = 24 bitar data bestående av 3 byte indelade i 4 grupper om 6 bitar. Tecknen som motsvarar decimalvärdena mellan [0-64] av dessa 4 6-bitars grupper matchas från Base64-tabellen för att koda. Antalet tecken som erhålls som ett resultat av Base64-kodning måste vara en multipel av 4. Kodad data som inte är en multipel av 4 är inte giltig Base64-data. Vid kodning med Base64-algoritmen, när kodningen är klar, om längden på data inte är en multipel av 4, läggs "=" (lika) tecknet till i slutet av kodningen tills det är en multipel av 4. Till exempel, om vi har 10 tecken Base64-kodad data som ett resultat av kodningen, ska två "==" läggas till i slutet.

Base64-kodningsexempel

Ta till exempel de tre ASCII-talen 155, 162 och 233. Dessa tre tal bildar en binär ström av 100110111010001011101001. En binär fil som en bild innehåller en binär ström som fungerar för tiotals eller hundratusentals nollor och ettor. En Base64-kodare börjar med att dela upp den binära strömmen i grupper om sex tecken: 100110 111010 001011 101001. Var och en av dessa grupperingar översätts till nummer 38, 58, 11 och 41. En sex-teckens binär ström konverteras mellan binär (eller grundläggande). 2) till decimala tecken (bas-10) genom att kvadrera varje värde som representeras av 1 i den binära matrisen med positionskvadraten. Börjar från höger och flyttar till vänster och börjar på noll representerar värdena i den binära strömmen 2^0, sedan 2^1, sedan 2^2, sedan 2^3, sedan 2^4, sedan 2^ 5.

Här är ett annat sätt att se på det. Från vänster är varje position värd 1, 2, 4, 8, 16 och 32. Om luckan har ett binärt nummer 1, lägger du till det värdet; om luckan har 0 saknas du. Binär array 100110 blir 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimaler + 4 + 0 + 0 + 32. Base64-kodning tar denna binära sträng och delar upp den i 6-bitars värden 38, 58, 11 och 41. Slutligen konverteras dessa siffror till ASCII-tecken med hjälp av Base64-kodningstabellen.