Kodowanie Base64 służy do konwersji bajtów zawierających dane binarne lub tekstowe na znaki ASCII. Kodowanie zapobiega uszkodzeniu danych podczas ich przesyłania lub przetwarzania w systemie tekstowym. W tym artykule omówimy kodowanie i dekodowanie Base64 oraz jego zastosowania do kodowania i dekodowania danych binarnych i tekstowych.
Kodowanie Base64:
Jest to rodzaj konwersji bajtów na znaki ASCII. lista dostępnych znaków Base64 znajduje się poniżej:
do metody string Java
- 26 wielkich liter
- 26 małych liter
- 10 liczb
- + i / dla nowych linii
Każdy znak Base64 reprezentuje 6 bitów danych. należy również zauważyć, że z oczywistych powodów nie jest on przeznaczony do szyfrowania.
Aby przekonwertować ciąg znaków na znak Base64 należy wykonać następujące kroki:
- Pobierz wartość ASCII każdego znaku w ciągu.
- Oblicz 8-bitowy binarny odpowiednik wartości ASCII
- Konwertuj 8-bitowy fragment znaków na fragmenty 6-bitowe, ponownie grupując cyfry
- Konwertuj 6-bitowe grupy binarne na odpowiadające im wartości dziesiętne.
- Użyj tabeli kodowania Base64, aby wyrównać odpowiednie wartości Base64 dla każdej wartości dziesiętnej.
Poniższy obraz przedstawia tabelę kodowania Base64.

Źródło obrazu: Wikipedia
Używanie Pythona do kodowania ciągów znaków:W Pythonie moduł base64 służy do kodowania i dekodowania danych. Najpierw ciągi znaków są konwertowane na obiekty przypominające bajty, a następnie kodowane przy użyciu modułu base64. Poniższy przykład pokazuje, że implementacja ciągów kodujących nie składa się ze znaków Base64.
Przykład:
import> base64> > sample_string>=> 'GeeksForGeeks is the best'> sample_string_bytes>=> sample_string.encode(>'ascii'>)> > base64_bytes>=> base64.b64encode(sample_string_bytes)> base64_string>=> base64_bytes.decode(>'ascii'>)> > print>(f>'Encoded string: {base64_string}'>)> |
>
>
Wyjście:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==>
Używanie Pythona do dekodowania ciągów znaków:
Dekodowanie ciągu Base64 jest dokładnie odwrotne do kodowania. Najpierw konwertujemy ciągi Base64 na niezakodowane bajty danych, a następnie konwertujemy obiekt podobny do bajtu na ciąg znaków. Poniższy przykład przedstawia dekodowanie powyższego przykładowego wyniku ciągu kodowania.
Przykład:
import> base64> > > base64_string>=>' R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA =='> base64_bytes>=> base64_string.encode(>'ascii'>)> > sample_string_bytes>=> base64.b64decode(base64_bytes)> sample_string>=> sample_string_bytes.decode(>'ascii'>)> > print>(f>'Decoded string: {sample_string}'>)> |
>
algorytm dla rsa
>
Wyjście:
Decoded string: GeeksForGeeks is the best>