Jak przekonwertować dane Base64 do plików na Linuksie i Mac OS
Bash jest powłoką i językiem poleceń systemu Unix. Polecenia bash są szeroko stosowane w Mac OS X i systemach operacyjnych podobnych do Unixa do interakcji z systemem za pomocą poleceń. Bash posiada również polecenie Base64, do kodowania i dekodowania danych.
Base64 to schemat kodowania, który przedstawia pliki binarne w formacie tekstowym.
Ten artykuł uczy różnych metod dekodowania danych Base64 do pliku w podobnych do Unixa systemach operacyjnych przy użyciu poleceń i narzędzi online.
Dekodowanie danych Base64 do pliku za pomocą polecenia Base64
Polecenie base64, z flagą --decode
, dekoduje dane base64 na string.
Jest on dostępny od wersji 10.7 Mac OS X oraz wszystkich systemów operacyjnych typu UNIX. Jeśli używasz wersji Mac OS X starszej niż 10.7, sprawdź Base64 w OpenSSL wyjaśniony w następnej części tego artykułu.
Aby dekodować dane base64 do pliku,
- Uruchom polecenie Base64 z parametrem
-d
. Zdekoduje dane zakodowane w base64 - Użyj operatora
here-string
i przekaż dane zakodowane w Base64 - Skieruj wyjście do pliku za pomocą
>
i podaj nazwę pliku z rozszerzeniem. Musisz przekazać prawidłowe rozszerzenie pliku równoważne stringowi Base64. W przeciwnym razie plik wyjściowy będzie uszkodzony z powodu nieprawidłowego rozszerzenia
Ważne: Upewnij się, że masz dostęp do zapisu w bieżącym katalogu roboczym potrzebnym do utworzenia nowego pliku wyjściowego.
Poniższy kod przedstawia tworzenie pliku obrazu z zakodowanego stringu Base64.
base64 -d <<< "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" > image.png
Dekodowanie danych Base64 do pliku za pomocą polecenia Base64 w OpenSSL
OpenSSL to biblioteka umożliwiająca bezpieczne korzystanie z aplikacji do komunikacji sieciowej. Base64 jest często używany jako główne kodowanie podczas przesyłania informacji przez sieć. OpenSSL oferuje narzędzie wiersza poleceń ułatwiające proces kodowania lub dekodowania stringów przy użyciu kodowania Base64.
Wykorzystaj tę metodę, jeśli Twój system nie ma narzędzia wiersza poleceń Base64. Na przykład, wersje systemu Mac OS wcześniejsze niż 10.7.
Aby dekodować string base64 do pliku za pomocą narzędzia wiersza poleceń base64 w OpenSSL,
- Uruchom polecenie openssl base64 z parametrem
-d
- Użyj operatora
here-string
i przekaż dane zakodowane w Base64 - Skieruj wyjście do pliku za pomocą parametru -out i podaj nazwę pliku z rozszerzeniem. Musisz przekazać prawidłowe rozszerzenie pliku równoważne stringowi Base64.
Ważne: Upewnij się, że masz dostęp do zapisu w bieżącym katalogu roboczym potrzebnym do utworzenia nowego pliku wyjściowego.
$ openssl base64 -d <<< "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" -out image.png
Dekodowanie danych Base64 do pliku za pomocą narzędzia online do dekodowania Base64
Możesz użyć narzędzia online do dekodowania Base64 w przeglądarce, aby zdekodować string Base64 do pliku.
Aby zdekodować string Base64 do pliku za pomocą narzędzia,
- Dodaj zakodowany tekst Base64 w pliku .txt i prześlij go do narzędzia dekodowania
- Kliknij Decode, a utworzy on plik wyjściowy na podstawie tekstu wejściowego
Główną zaletą korzystania z narzędzia online dekodowania Base64 jest to, że nie musisz znać rozszerzenia typów plików. Na przykład plik graficzny może być w różnych formatach, takich jak .jpg, .png lub .gif. Narzędzie online wykryje rozszerzenie pliku automatycznie na podstawie stringu wejściowego i utworzy plik równoważny stringowi z właściwym rozszerzeniem pliku.
Podsumujmy
Dowiedziałeś się, jak dekodować string Base64 do pliku za pomocą różnych metod. Każda metoda ma zastosowanie w różnych przypadkach użycia.
Przykładowo, wiersz poleceń będzie bardzo pomocny, gdy chcemy napisać skrypt do wielokrotnego programowego dekodowania stringa Base64 do pliku. W przypadku jednorazowego użycia, można skorzystać z narzędzia online i łatwo pobrać zdekodowany plik. Możesz wybrać metodę dekodowania w oparciu o przypadek użycia aplikacji.
Oryginał artykułu w języku angielskim przeczytasz tutaj