我想将平假名字符转换为半角片假名字符。如何在Android上执行此操作?

我有如下代码将平假名转换为片假名...

 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);
}


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

最佳答案

这在Unicode标准中已正式化,并且java.text.Normalizer应该能够处理它。我不知道它在Android上的运行情况如何。这是Java SE教程:http://developer.android.com/reference/java/text/Normalizer.html

07-26 09:39