2013-05-15 79 views
1

我用base64解碼編碼文件有一些麻煩。通過Base64使用解碼錯誤

我使用這個命令編碼腳本中的XML文件:

base64 $file_path | perl -pe 's/\n/\\n/g' 

,它工作正常。

但是當我嘗試將其與這個命令解碼:

base64 -d "encodedfile" > "decodedfile" 

我得到一個錯誤。它只是解碼到一個特定的點,然後中斷解碼過程。似乎我在編碼文件中有非法字符,但我不能解釋爲什麼。

有人有你的想法嗎?

問候

+0

嘗試'--noerrcheck'選項。 – devnull

+0

感謝您的建議。似乎邏輯,但-n或--noerrcheck是未知的選項。我想知道爲什麼。 – Sentient6

+0

你怎麼能說,當你以後不能解碼的東西時,編碼工作正常?你爲什麼在'base64'的輸出上運行正則表達式? – innaM

回答

1

如果您編碼後做時髦的東西到你的base64,你應該解碼之前做反向時髦的東西:

perl -pe 's/\\n/\n/g' "encodedfile" | base64 -d