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

问题描述 投票:0回答:3

我不太熟悉java(来自c++/c#)。我需要使用 java 来将一些文档从半角日语字符转换为全角。

是否有人好心并提供一些例子作为开始。我没有运气找到一些样本。

请注意,它必须是 Java 语言。

java unicode cjk icu
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));

这应该会导致所有 3 个日语字符串按照您的预期进行音译。尝试一下,如果不起作用请告诉我。


2
投票

您是否看过有关该主题的ICU 用户指南ICU APIdoc?您可以使用Transliterator demo来检查行为,例如“半角-全角”


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)
//半角カタカナ
© www.soinside.com 2019 - 2024. All rights reserved.