Perl/Java 字节编码差异



所以现在,我的Java代码正在创建一个与我们的Perl代码不同的SHA-256哈希,但只有当UTF8字符发挥作用时。我做了一些调试,发现名称 Jörg 的 byte[] 表示在语言中如下所示:

爪哇 74, -

61, -74, 114, 103

Perl 74, 195, 182, 114, 103

可能导致哈希值的差异吗?看起来Java使用有符号字节,而Perl使用无符号字节。如果需要/要求,更多信息!

谢谢!

所以问题原来是,在 Java 中,当我反转字符串时,它正在反转字符(正如预期的那样)。在Perl中,反向实际上适用于字节。这意味着 Jörg 在反转时在语言中看起来像这样:

爪哇 103 114 -61 -74 74

Perl 103 114 195 182 74

希望这对其他人有所帮助!

最新更新