java - C# Little-Endian 从 Java Big-Endian 转换

标签 java c# endianness

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

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

首先,我的字符串使用 bouncy caSTLe Pkcs5s2 进行加密,然后我们继续使用 Password_Hash 方法将其放入字符串中。

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

最佳答案

我在您的代码中看到的唯一文本编码甚至很重要的地方是以下语句:

Encoding.UTF8.GetBytes(USER_SALT);

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

如果您想要大端 UTF-16,可以使用 Encoding.BigEndianUnicode 而不是 Encoding.UTF8。

关于java - C# Little-Endian 从 Java Big-Endian 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26469090/

相关文章:

java - 想让ThreadPoolExecutor立即执行任务

php - PHP 中的输出文件编码为 OCS-2 Big Endian

在位域结构上转换字节序(再次)

c# - Excel DNA - 在回调中将 C# 字符串编码到 VBA ByRef

c# - getter/setter 中的属性名称

c# - 输入的值不是由 JavaScript 设置的(或者是吗?)

c - 使用 htons 确定字节顺序

java - @(#) 字符的含义

java - 访问远程服务器/其他网站时,如何在Processing/Java中使用loadStrings?

java - 服务器推送使用java