Java 字符串到字节数组的错误转换

标签 java string type-conversion arrays

我有一个客户端服务器Java代码,客户端正在读取字符串“input”,然后它应该解密它,解密函数需要一个字节数组,所以我需要将字符串转换为字节数组,这是使用“getBytes()”函数完成的,但是这个函数似乎正在修改字符串!如何将字符串转换为字节数组而不更改其内容。

   String input = inputline.substring(66, inputline.length());
   System.out.println("Read message +"+input+"+");
   byte[] bx = input.getBytes(Charset.forName("UTF-8"));
   System.out.println("Read message +"+bx.toString()+"+");
   System.out.println("Read message +"+bx+"+");

代码片段的输出如下:

阅读消息+[B@161cd475+

阅读消息+[B@4e25154f+

阅读消息+[B@4e25154f+

最佳答案

尝试编写一个 for 循环来打印结果。我相信 Java 正在为您的输出吐出一个随机内存值。

(int i = 0; s <= bx.length;i++)
{
 System.out.println("Read message +" + bx[i].toString() + "+");
 System.out.println("Read message +" + bx + "+");
}

不确定我的 for 循环是否正确,但它可能会给你一些可以使用的东西。我希望这会有所帮助。

关于Java 字符串到字节数组的错误转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569409/

相关文章:

rust - 当 U 的 From<T> 可用时,将 Vec<T> 转换为 Vec<U>

pointers - Golang 方法函数中的接收者类型无效

java - 在 hibernate 聚合函数中使用函数作为参数

java - JSF/莫贾拉 2.0.2 : ui:repeat is totally broken when updating via AJAX

java - 使用 long 而不是 int 时程序更快

java - 签名的 Android APK 文件是否可以在 x86 和 ARM-Android 设备上运行?

java - 字符串中的第 N 个索引?

python - 过滤带有符号的字符串出现特定时间

java - 为什么Java字符串在堆上分配内存?

c++ - 为什么不能将 std::stol 转换为 std::function 对象?