OpenSSLは改行を含まないbase64データをデコードできますか?
bash変数にbase64データの2つのチャンクがあります。base64データ内の通常の改行はスペースに置き換えられ、変数は基本的に1つの非常に長い1行の文字列です。 変数に含まれているbase64データの2つのチャンクをデコードできますが、それを実行しようとするといくつかのニュアンスが発生しました。私がこれに正しく取り組んでいるかどうか、または改行を含まないbase64データをデコードするより良い方法があるかどうかを知りたいのですが。ここに私が持っているものがあります: 最初のチャンクは350文字で、次のように正常にデコードできます。 echo ${DATA::350} | openssl base64 -d | wc -c 256 2番目のチャンクは5745文字ですが、上記のコマンドでは期待される結果が生成されません。つまり: $ echo {DATA:350} | openssl base64 -d | wc -c 432 ただし、改行を戻すと機能します。 $ echo ${DATA:350} | tr ' ' "\n" | openssl base64 -d | wc -c 4240 私は最初のチャンクがないようにするには十分に小さいであることを、いくつかの行の長さに問題があると期待し、それが使用されているデコーダBASE64の特徴であると思われる(2つの通常のもの、だろうbase64とopenssl base64、動作が異なります)。 base64(代わりのデコーダはopenssl base64)最初の無効な文字(空白)で停止し、したがってだけOpenSSLの出力432文字(9「行」)に対し、最初の「行」(出力データの48バイト)をデコードします。base64コマンドは無視するオプションがあるごみを、ので、この作品を: $ echo ${DATA:350} | …