java - Perl/Java 字节编码差异

标签 java perl encoding utf-8 character-encoding

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

Java 74、-61、-74、114、103

Perl 74、195、182、114、103

可能是哈希值不同的原因?看起来 Java 使用有符号字节,而 Perl 使用无符号字节。如果需要/请求更多信息!

谢谢!

最佳答案

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

Java 103 114 -61 -74 74

Perl 103 114 195 182 74

希望这对其他人有帮助!

关于java - Perl/Java 字节编码差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11973471/

相关文章:

java - Eclipse - 远程java调试不显示变量值

regex - 查找大写字母的运行

java - 得到 ® 作为?从 Struts 2 JSP 页面读取时

java - 检查字符串是否包含编码字符

java - 处理特殊字符时 javac 1.6 和 javac 1.7 之间的不同行为

java - 如何从 Java 中的标准输入中读取整数值

java - 带有 $ 符号的 Android 或 Java 类命名

java - 在 JSP 中更新数据库

bash - perl shasum 与 bash shasum

Perl/Moose - 如何动态选择方法的特定实现?