【问题标题】:Android can't decode PHP base64 codeAndroid 无法解码 PHP base64 代码
【发布时间】:2013-09-10 21:15:13
【问题描述】:

我正在尝试解码由我的PHP 服务器编码的 Base64 代码,它可以正常工作,并且通常会使用 PHP 解码,但是当我尝试通过我的 Android 手机对其进行编码时,我收到以下错误:

Base64DecoderException: encoded value has invalid trailing byte

我的 Base64 代码:

oLAwb6uSn2JXqAFTX+qJXaOawOYF3kDDK2HlCb7ItCeimVCsDE7OYH5OgsixKpIAM6KgkCktnB4HsLQtA5Ig1fQvDrRcct9dQi4m8wPpF7a3sFHSG29j2aItKeouflTtsSZgKWvSjg0gBBGM/7PlvkuK+8W4/GXS0QrqV1jcngWrspYmAdi0GiJbPm8b/zlscOIa1z1df11SuQH5+GiUzqZ4WDFOpoH0WWVW3KmbMQ2yifBmXnhn80qZct6KiN7aL8PHEczhNrRqAKfUuEwmsWOnEOyh7UOU6FcnW3VAo2BWd5dJRGgWb5Py09l0XmrdWdzin7klKtMqXOWQRcvEVT7PKtQxQotRpOa+2IQQirVfybyuMipY9YORuW1hqmc95Tdt1WHdIzVwEtq6NXx9AC5mSklbxrcOpINfS2RPFcK0UUMV2xQKAQ+u8PzTj/KBEmb04ObBbnX6y3uL1KT58lDecA9lIbNYuttlgRMzRdxFOvkk21wou2vtMBtIxk0XFJJGjazqqcxVeSxTvQ68wdNSkRmvteowkSq2Vi09CmOhToRHemFyZgKTxSBoNaFuVuYGVggEFIR9kHVrLxoK2Q==

有什么想法吗?

【问题讨论】:

  • 这就是你的 base64 数据 - 现在你如何将它传输到手机上,你的 Java 代码是什么样的?
  • 我敢打赌,“无效的尾随字节”是\n。发布您的代码。
  • base64 字符串到底是什么?当我在线将其复制/粘贴到 3 个不同的解码器中时,我得到了乱码。
  • @JonSkeet 用更多细节更新我的问题。
  • 我确信您的所有加密/编码都很好,问题可能出在数据的实际 输出 上。请参阅下面的@jay-sheth 的答案,并在 Java 代码的输入中尝试一个简单的 s.trim() 以删除任何有问题的空格。

标签: java php android base64


【解决方案1】:

如果无效的尾随字节是回车符 (\n),最简单的解决方案是省略结束 PHP 标记(在所有 PHP 文件上):

<?php
//Code goes here
//Leave out the closing tag: ?>

否则,您可以在 base64 解码之前修剪周围的空格和回车符(在您的 Java 代码中)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
相关资源
最近更新 更多