2016-05-21 15 views
1

私は出力がそれを確認するにはbashシェルのbase64コマンドでヌル文字「 0」をデコードする方法は?

QQBC 

だった、私はその後、出力された

$ printf 'A\0B' | base64 | base64 -d 
$ printf "\n" 

によって上記のコード化された値をデコード

$ printf 'A\0B' | base64 

、私のテストコードをチェックしたいと思います

AB 

ヌル文字「\ 0」がありません。

この動作は正しいですか?ヌル文字を維持するソリューションはありますか?

ありがとうございました。

+1

'\ 0'が欠けていない、 'printf 'A \ 0B' |ベース64 | base64 -d | wc -c'は期待通りの結果3を得ます。 – sigmalha

+1

'printf 'A \ 0B' |ベース64 | base64 -d | od -c'は正しい結果を表示します – sigmalha

+0

ありがとうsigmalha。私の環境であなたの方法の結果は0000000 A \ 0 Bです。あなたの方法は、解読した後でさえそのまま元の '\ 0'文字を表示します。直感的にコーディング/デコードの有効性を確認する方が簡単です。 – mora

答えて

2

ヌル文字「\ 0」がありません。

それはありますが、見えません。 (\0は入力メカニズムに過ぎませんが、実際にはnull文字とは異なります)。

これを確認するには、コマンドの出力をlessにパイプすることができます。

+0

ruakhさんありがとうございます。私はあなたの解決策を試してみた結果、A^@ Bという結果になった。 – mora

関連する問題