2014-09-25 54 views
0

我最近使用控制檯來娛樂我的自我。因爲我正在使用window.atob()函數,它被用於ENCODE到base64,我注意到它給出了一個特殊字符串sdfsdfsdf的錯誤。
你可以自己試試!另外請注意,這是ENCODING不解碼,因爲在解碼中可能存在一些不相等的字符串。 (我的意見,可能不正確,因爲base64是unicode)
我的問題是:這個問題的情況是怎樣的?javascript atob給出特殊字符串的錯誤

enter image description here

+0

您需要使用btoa(),而不是atob()。 atob用於將base64數據解壓縮爲普通字符串。除非你可以編寫base64編碼的字符串,並且如果可以的話關閉,你通常不會將文字提供給atob()... – dandavis 2014-09-25 21:53:05

+0

你沒有得到!不要緊!這個函數應該編碼,甚至以前編碼的數據可以編碼兩次或更多! – UltraDEVV 2014-09-25 21:54:16

+0

我明白了,但我不知道你做了什麼。你可以使用btoa()多次編碼自己的結果,但不能解碼atob()。這就像我可以通過任何數字乘以任何數字,但我不能被零除。 – dandavis 2014-09-25 21:55:39

回答

1

使用btoa是您正在查找的內容。那一個是解碼不編碼。你也不能解碼每個字符串只是編碼的字符串。