Base64-codering

Met de Base64-coderingstool kunt u de tekst die u invoert coderen met de Base64-methode. Als u wilt, kunt u de gecodeerde Base64-code decoderen met de Base64 Decode-tool.

Wat is Base64-codering?

Base64-codering is een coderingsschema waarmee binaire gegevens kunnen worden getransporteerd naar omgevingen die slechts enkele beperkte tekencoderingen gebruiken (omgevingen waar niet alle tekencodes kunnen worden gebruikt, zoals xml, html, script, instant messaging-toepassingen). Het aantal karakters in dit schema is 64, en het getal 64 in het woord Base64 komt hier vandaan.

Waarom Base64-codering gebruiken?

De behoefte aan Base64-codering komt voort uit problemen die optreden wanneer media in onbewerkte binaire indeling naar op tekst gebaseerde systemen worden verzonden. Omdat op tekst gebaseerde systemen (zoals e-mail) binaire gegevens interpreteren als een breed scala aan tekens, inclusief speciale opdrachttekens, worden de meeste binaire gegevens die naar het overdrachtsmedium worden verzonden, verkeerd geïnterpreteerd door deze systemen en gaan verloren of beschadigd bij de verzending werkwijze.

Een methode om dergelijke binaire gegevens zodanig te coderen dat dergelijke transmissieproblemen worden vermeden, is door ze als platte ASCII-tekst in Base64-gecodeerd formaat te verzenden. Dit is een van de technieken die door de MIME-standaard worden gebruikt om andere gegevens dan platte tekst te verzenden. Veel programmeertalen, zoals PHP en Javascript, bevatten Base64-coderings- en decoderingsfuncties om gegevens te interpreteren die worden verzonden met behulp van Base64-codering.

Base64-coderingslogica

Bij Base64-codering worden 3 * 8 bits = 24 bits aan gegevens bestaande uit 3 bytes verdeeld in 4 groepen van 6 bits. De tekens die overeenkomen met de decimale waarden tussen [0-64] van deze 4 6-bits groepen worden gematcht uit de Base64-tabel om te coderen. Het aantal tekens dat wordt verkregen als resultaat van Base64-codering moet een veelvoud van 4 zijn. Gecodeerde gegevens die geen veelvoud van 4 zijn, zijn geen geldige Base64-gegevens. Bij het coderen met het Base64-algoritme, wanneer de codering voltooid is en de lengte van de gegevens geen veelvoud van 4 is, wordt het "=" (gelijke) teken toegevoegd aan het einde van de codering totdat het een veelvoud van 4 is. Als we bijvoorbeeld Base64-gecodeerde gegevens van 10 tekens hebben als resultaat van de codering, moeten twee "==" aan het einde worden toegevoegd.

Base64-coderingsvoorbeeld

Neem bijvoorbeeld de drie ASCII-nummers 155, 162 en 233. Deze drie getallen vormen een binaire stroom van 100110111010001011101001. Een binair bestand zoals een afbeelding bevat een binaire stroom die werkt voor tien- of honderdduizenden nullen en enen. Een Base64-encoder begint met het splitsen van de binaire stroom in groepen van zes tekens: 100110 111010 001011 101001. Elk van deze groepen wordt vertaald in de nummers 38, 58, 11 en 41. Een binaire stroom van zes tekens wordt omgezet tussen binair (of basis). 2) tot decimale (grondtal-10) tekens door elke waarde die wordt vertegenwoordigd door 1 in de binaire array te kwadrateren door het positionele vierkant. Beginnend van rechts en naar links bewegend en beginnend bij nul, vertegenwoordigen de waarden in de binaire stroom 2^0, dan 2^1, dan 2^2, dan 2^3, dan 2^4, dan 2^ 5.

Hier is een andere manier om ernaar te kijken. Vanaf links is elke positie 1, 2, 4, 8, 16 en 32 waard. Als het slot een binair getal 1 heeft, tel je die waarde op; als de sleuf 0 heeft, ontbreekt u. Binaire array 100110 wordt 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimaal + 4 + 0 + 0 + 32. Base64-codering neemt deze binaire reeks en verdeelt deze in 6-bits waarden 38, 58, 11 en 41. Ten slotte worden deze nummers geconverteerd naar ASCII-tekens met behulp van de Base64-coderingstabel.