如何使用ICU库将日语半角/全角字符转换

4

我对Java不是很熟悉(来自C++/C#)。我需要使用Java将一些文件从半角日语字符转换为全角日语字符。希望有人可以提供一些示例代码,让我有个开始。我并没有找到相关的示例。

顺便提一下,必须使用Java进行转换。


注意:ICU代表Unicode国际组件。自十年前起,“I”不再专指IBM。 - Steven R. Loomis
3个回答

3

我在日本博客主Arai的网站上发现了这个:

String data1 = "全角ひらがな"; // full-width hiragana
String data2 = "全角カタカナ"; // full-width katakana
String data3 = "半角カタカナ";    // half-width katakana

Transliterator transliterator = Transliterator.getInstance("Hiragana-Katakana");

System.out.println(transliterator.transliterate(data1));
System.out.println(transliterator.transliterate(data2));
System.out.println(transliterator.transliterate(data3));

这应该会将所有三个日语字符串转换成您期望的音译。试一试,如果不起作用,请告诉我。


我认为原帖作者并不想改变平假名;听起来他想要的是“半角-全角”。 - Daniel Lubarov
感谢您的评论,@Daniel。我只是提供一个示例让OP开始工作,Arai-san的示例恰好从平假名转换为片假名。我想那个问问题的人会能够想出接下来该怎么做。 - buruzaemon

2

哦,谢谢你提供的演示。我已经阅读了API并创建了过滤规则进行转换,但是没有成功。这个演示应该会有所帮助! - user697697
谢谢@Steven。这对我的Android项目有很大帮助。不错的一篇文章,点个赞+1。 - Shashank_Itmaster

0
我创建了一个小型、简单的库,用于处理Java中所有类型的假名转换,在此处查看详细信息
要将半角转换为全角,只需下载JAR文件,然后像这样编写代码:
import mariten.kanatools.KanaConverter;

// rest of code...

String half_width = "半角カタカナ";

int conv_flags = KanaConverter.OP_HAN_KATA_TO_ZEN_KATA;
String full_width = KanaConverter.convertKana(half_width, conv_flags);

System.out.println(full_width)
//半角カタカナ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接