gpt4 book ai didi

java - Shift-JIS 编码字符串的不同字体

转载 作者:行者123 更新时间:2023-12-01 09:46:16 24 4
gpt4 key购买 nike

在 Java 中,我正在从以 Shift-JIS 格式编码的文件中读取字节数组,但获取的字符串中字符的“样式”看起来与普通字符串不同(更宽?)。以下是我对“P”字母含义的示例:
P - P
正如您所看到的,Shift-JIS 中的第一个看起来与第二个不同。有没有办法即使对于 Shift-JIS 字符串也可以使用“正常”字符?
我正在使用这段代码来执行转换:

String jis = new String(byteArray, Charset.forName("Shift_JIS"));

最佳答案

严格来说,这是不同的角色。第一个 P 是 Unicode 中的全角拉丁大写字母 P,来自日语 JIS X 0208 字符集 (U+FF30)。第二个 P 是来自 ASCII (U+0050) 的拉丁大写字母 P

因此,您必须将全角字符转换为半角字符。您可以使用 ICU4J 的 Transliterator 来完成此操作.

Transliterator transliterator = Transliterator.getInstance("Halfwidth-Fullwidth");
String result = transliterator.transliterate("P - P");
System.out.println(result); // You will get "P - P"

关于java - Shift-JIS 编码字符串的不同字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37992270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com