【发布时间】:2018-03-28 12:03:28
【问题描述】:
我们需要对我们的一项服务进行字符编码转换,我们的要求是获取 UTF-8 编码格式的字符,并应转换为 EUC-JP,然后在(基于 Groovy)jdk8 上准备一些散列。
在 php 中,类似的解决方案对我们来说效果很好,并且编码为,
$encodedToEucJp = mb_convert_encoding($inputStringWithUtf8, “EUC-JP”);
Print_r(md5($encodedToEucJp));
我们已经尝试了很多方法来解决这个问题,例如,
Java.security.MessageDigest.getInstance(‘MD5’)
.digest(New String(inputStringWithUtf8.getBytes(“UTF-8”), “EUC-JP”)
.getBytes(“EUC-JP”))
.encodeHex()
.toString();
但是,对于一些产生与我们的 php 编码解决方案不同的摘要的字符,此解决方案失败了。这里提到了几个字符 ―, ĭ, ?等等。这就是为什么我们不能在 php 和 java 系统中使用相同的输入生成相同的摘要的原因。
谢谢,提前。
【问题讨论】:
标签: java groovy utf-8 character-encoding cjk