ツールimage1.jpg
を使用してエンコードできる画像があるとしbase64
ます。
myImgStr=$(base64 image1.jpg)
次のコマンドを使用してデコードしようとしました。
base64 -i -d $myImgStr > image2.jpg
または
echo -n $myImgStr | base64 -d -i > image2.jpg
しかし、どちらの場合も、次のエラーが発生します。
base64: extra operand ‘/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGgcAmcAFHNH’ Try 'base64 --help' for more information.
どんな助けでも大歓迎です。
ユーティリティbase64
は、名前が引数として指定されているファイルから、または標準入力から入力を読み取ります。コマンドライン引数から入力を読み取ることはありません。あなたの場合、変数に格納されている文字列をデコードするには、の標準入力で文字列を指定する必要がありbase64
ます。
Bashを使用している場合は、here-stringを使用できます。
base64 -d <<< "$myImgStr" > image2.jpg
シェルがヒア文字列を受け入れない場合は、いつでも次のものを使用できます。
echo "$myImgStr" | base64 -d > image2.jpg
(周りの二重引用符に注意してください"$myImgStr"
。そうしない正当な理由がない限り、常に変数展開を二重引用符で囲む必要があります。)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加