【发布时间】:2014-02-27 20:29:51
【问题描述】:
当我将我的 C# 库移植到它时,我在将字符串转换为 Java 中的字节时遇到了问题。它转换字符串,但它不是同一个字节数组。
我在 C# 中使用此代码
string input = "Test ěščřžýáíé 1234";
Encoding encoding = Encoding.UTF8;
byte[] data = encoding.GetBytes(input);
Java 代码
String input = "Test ěščřžýáíé 1234";
String encoding = "UTF8";
byte[] data = input.getBytes(encoding);
左一为Java输出右一为C#如何使Java输出与C#一相同?
【问题讨论】:
-
应该是“UTF-8”(编辑:没关系——“UTF8”是别名)
-
您可以尝试使用
StandardCharsets.UTF_8和适当的.getBytes()方法吗? -
Wait wait wait -- 你如何测试字节是否相同?不要忘记 C# 中的
byte是无符号的,而在 Java 中它是 signed 值