首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日语字符转换为不起作用的十六进制

将日语字符转换为不起作用的十六进制
EN

Stack Overflow用户
提问于 2016-07-28 11:15:54
回答 1查看 636关注 0票数 0

我的代码非常简单(使用Common-codec-1.10.jar)

代码语言:javascript
复制
System.out.println(Hex.encodeHex("三菱グループ".getBytes(StandardCharsets.UTF_8), true));

它在我的PC机上产生e4b889e88fb1e382b0e383abe383bce38397,但根据http://codebeautify.org/string-hex-converter,它应该是4e0983f130b030eb30fc30d7。我有遗漏什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-28 11:17:56

Hex.encodeHex工作正常,但结果是UTF-8编码,而codebeautify.org似乎使用UTF-16。

让我们从三开始。那是U+4E09。在UTF-16中,编码为4e09,这与代码美化输出的开始相匹配。在UTF-8中,它被编码为E4 B8 89,这与您的B8输出相匹配。

如果您想要UTF-16,只需使用StandardCharsets.UTF_16BE而不是StandardCharsets.UTF_8。(但只有当你真的想要UTF-16的时候才这么做。在大多数情况下,UTF-8是一种更好的编码方式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38634783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档