Base64-koodaus ja -dekoodaus: Täydellinen opas

Mikä on Base64?

Base64 on binääri-tekstikoodausmenetelmä, joka esittää binääridatan ASCII-merkkijonona. Sitä käytetään laajasti eri tietokonesovelluksissa, erityisesti kun binääridataa täytyy koodata, tallentaa ja siirtää tekstipohjaisissa medioissa.

Miksi käyttää Base64:ää?

Base64:ää käytetään yleisesti seuraavista syistä:

Miten Base64 toimii

Base64-koodaus toimii muuntamalla jokaisen kolmen tavun syötetiedon neljäksi ASCII-merkiksi. Tässä yksinkertaistettu selitys prosessista:

  1. Ota 3 tavua binääridataa (yhteensä 24 bittiä)
  2. Jaa nämä 24 bittiä neljään 6 bitin osaan
  3. Muunna jokainen 6 bitin osa vastaavaksi Base64-merkiksi

Base64-aakkosto koostuu 64 merkistä: A-Z, a-z, 0-9, + ja /. =-merkkiä käytetään täytteenä, kun syötetiedon pituus ei ole jaollinen kolmella.

Base64-koodaustaulukko

Arvo Koodaus  Arvo Koodaus  Arvo Koodaus  Arvo Koodaus
    0 A            17 R            34 i            51 z
    1 B            18 S            35 j            52 0
    2 C            19 T            36 k            53 1
    3 D            20 U            37 l            54 2
    4 E            21 V            38 m            55 3
    5 F            22 W            39 n            56 4
    6 G            23 X            40 o            57 5
    7 H            24 Y            41 p            58 6
    8 I            25 Z            42 q            59 7
    9 J            26 a            43 r            60 8
   10 K            27 b            44 s            61 9
   11 L            28 c            45 t            62 +
   12 M            29 d            46 u            63 /
   13 N            30 e            47 v
   14 O            31 f            48 w         (täyte) =
   15 P            32 g            49 x
   16 Q            33 h            50 y

Base64 ohjelmointikielissä

Base64 Pythonissa


import base64

# Koodaus
text = "Hei, maailma!"
encoded = base64.b64encode(text.encode('utf-8')).decode('utf-8')
print(f"Koodattu: {encoded}")

# Dekoodaus
decoded = base64.b64decode(encoded).decode('utf-8')
print(f"Dekoodattu: {decoded}")
            

Base64 JavaScriptissä


// Koodaus
let text = "Hei, maailma!";
let encoded = btoa(text);
console.log(`Koodattu: ${encoded}`);

// Dekoodaus
let decoded = atob(encoded);
console.log(`Dekoodattu: ${decoded}`);
            

Base64 PHP:ssä


<?php
// Koodaus
$text = "Hei, maailma!";
$encoded = base64_encode($text);
echo "Koodattu: " . $encoded . "\n";

// Dekoodaus
$decoded = base64_decode($encoded);
echo "Dekoodattu: " . $decoded . "\n";
?>
            

Base64 ja tietoturva

Varoitus: Base64 on koodausmenetelmä, ei salausmenetelmä. Se ei tarjoa minkäänlaista tietoturvaa tai tietosuojaa. Älä koskaan käytä Base64:ää arkaluonteisten tietojen tallentamiseen tai siirtämiseen ilman asianmukaista salausta.

Edut ja haitat

Edut:

Haitat:

Usein kysytyt kysymykset

Onko Base64 salausta?

Ei, Base64 ei ole salausta. Se on koodausmenetelmä, joka esittää binääridatan ASCII-merkkijonona. Se ei tarjoa tietoturvaa.

Miksi Base64-koodaus kasvattaa tiedostokokoa?

Base64-koodaus kasvattaa tiedostokokoa, koska se esittää 3 tavua dataa 4 merkillä. Tämä johtaa noin 33% koon kasvuun.

Voiko Base64-koodattua dataa pakata?

Kyllä, Base64-koodattua dataa voi pakata, mutta on yleensä tehokkaampaa pakata data ennen Base64-koodausta.