C#Little-Endian转换自Java Big-Endian

时间:2014-10-20 15:17:11

标签: java c# endianness

此代码生成一个32长度的UTF-16字符串,我从java移植它。问题是,输出与此处不同。

我认为问题在于Java将UTF-16作为Big-Endian和C#Little-Endian处理。

首先,我的字符串使用充气城堡Pkcs5s2加密,然后我们继续使用Password_Hash方法将其放入字符串中。

所以我的问题是,如何使用Big-Endian运行此循环,然后生成与java中相同的字符串。

1 个答案:

答案 0 :(得分:2)

我在代码中看到文本编码甚至重要的唯一地方就是这句话:

Encoding.UTF8.GetBytes(USER_SALT);

它使用UTF-8,而不是UTF-16。

如果你想要一个big-endian UTF-16,你可以使用Encoding.BigEndianUnicode而不是Encoding.UTF8。