2

我想将平假名字符转换为半角片假名字符。我怎样才能在安卓上做到这一点?

我有将平假名转换为片假名的代码,如下所示......

 private char hiraganaTokatakana(String hiraganastring) {

    char hiraganachar = Character.valueOf(hiraganastring.charAt(0));
    // convert char to unicode value
    String hiraganahex = Integer.toHexString(hiraganachar & 0xFFFF);
    // convert unicode to decimal
    int hiraganadecimalNumber = Integer.parseInt(hiraganahex, 16);
    // convert hiragana decimal to katakana decimal
    int katakanadecimalNumber = Integer.valueOf(hiraganadecimalNumber) + 96;
    // covert decimal to unicode value
    String katakanahex = Integer.toString(katakanadecimalNumber, 16);
    // convert unicode to char

    return (char) Integer.parseInt(String.valueOf(katakanahex), 16);
}  

此代码将平假名转换为片假名但我也想将平假名转换为半角片假名,怎么做?

4

2 回答 2

0

这是在 Unicode 标准中形式化的,java.text.Normalizer应该能够处理它。我不知道它在 Android 上的效果如何。这是 Java SE 教程:http: //developer.android.com/reference/java/text/Normalizer.html

于 2012-06-04T05:28:00.803 回答
0

http://mariten.github.io/kanatools-java/en/kana-converter/应该可以工作:

int conversion_flags = OP_ZEN_HIRA_TO_HAN_KATA;
String output = KanaConverter.convertKana(input, conversion_flags);
于 2015-08-20T18:55:54.577 回答