【发布时间】:2011-07-26 21:00:20
【问题描述】:
我有一个字节数组,我正在对其进行加密,然后将其转换为字符串以便传输。当我收到字符串时,我必须将字符串转换回字节数组,以便对其进行解密。我检查了接收到的字符串是否与发送的字符串匹配(包括长度),但是当我使用 str.getBytes() 之类的东西将其转换为字节数组时,它与我原来的字节数组不匹配。
示例输出:
SENT: WzShnf/fOV3NZO2nqnOXZbM1lNwVpcq3qxmXiiv6M5xqC1A3
SENT STR: [B@3e4a9a7d
RECEIVED STR: [B@3e4a9a7d
RECEIVED: W0JAM2U0YTlhN2Q=
有什么想法可以将接收到的字符串转换为与发送的字节数组匹配的字节数组吗?
谢谢
【问题讨论】:
-
为了将字符串转换为字节数组,请使用: String stringToConvert = "此字符串长度为 76 个字符,将被转换为字节数组"; byte[] theByteArray = stringToConvert.getBytes();
-
W0JAM2U0YTlhN2Q= 是 [B@3e4a9a7d 的 Base64,它看起来像 Java 中字节数组的字符串表示形式。如果您自己执行字节操作,请仔细检查,因为您可能发送了错误的数据。
-
out 是我的字节数组,打印时给出了我的示例输出的第一行。 out.toString() 绝对给了我 [B@3e4a9a7d
-
看看代码(部分)会有帮助
标签: java string encoding bytearray