Android PHP Base64解码具有不同的结果

时间:2013-03-29 14:39:54

标签: php android base64

我有一个大问题:如果我使用base64_decode($ string),我的结果不一样;在php或者如果我做Base64.decode(string);在android。

示例: 使用此字符串:WWhiZWWSZpNlaGSTnpljZQ ==

在php中,结果是Yhbee'f“ehd”ž™ce。

在android中,结果是Yhbee f ehd ce

我认为存在编码问题,但我不知道在哪里,我的PHP服务器的输出是ISO-8859-1,我没有找到如何告诉Base64.decode使用这种类型的编码

你能帮帮我吗?谢谢答案。

PS:我无法触及PHP脚本。

3 个答案:

答案 0 :(得分:1)

我认为这会对您有所帮助,请不要使用.toString()来代替

var str = "WWhiZWWSZpNlaGSTnpljZQ=="
var decoded = String(Base64.decode(str, Base64.NO_WRAP))

我知道这很晚才回答:-D

答案 1 :(得分:0)

我认为解码很好,但Android没有应用正确的编码(可能是utf-8)。

此内容是否显示在HTML网页上?如果是,您是否正确执行ISO-8859-1编码?

或者,您也可以切换到UTF-8。

答案 2 :(得分:0)

你应该试试这个:

 Base64.decode(content.getBytes("ISO-8859-1"), Base64.DEFAULT);

通过这个您将输入字符串content转换为将从base64解码的ISO-8859-1编码字节流。