Open uniquejava opened 5 years ago
最简单的库, 源码最易参考: https://github.com/Pomax/node-jp-conversion
Cyper实战, 我写的工具类
class KanaUtils {
// prettier-ignore
static final hiragana = [" ぁあぃいぅうぇえぉお",
"かがきぎくぐけげこご",
"さざしじすずせぜそぞ",
"ただちぢっつづてでとど",
"なにぬねの",
"はばぱひびぴふぶぷへべぺほぼぽ",
"まみむめも",
"ゃやゅゆょよ",
"らりるれろ",
"ゎわゐゑを",
"んゔゕゖ",
"わ゛ゐ゛ゑ゛を゛"].join('');
// all kata glyphs
static final katakana = [" ァアィイゥウェエォオ",
"カガキギクグケゲコゴ",
"サザシジスズセゼソゾ",
"タダチヂッツヅテデトド",
"ナニヌネノ",
"ハバパヒビピフブプヘベペホボポ",
"マミムメモ",
"ャヤュユョヨ",
"ラリルレロ",
"ヮワヰヱヲ",
"ンヴヵヶ",
"ヷヸヹヺ"].join('');
static String convertToKatakana(String str) {
var sb = StringBuffer();
for (var i = 0; i < str.length; i++) {
int index = hiragana.indexOf(str[i]);
if (index >= 0) {
sb.write(katakana[index]);
} else {
sb.write(str[i]);
}
}
return sb.toString();
}
static bool isAllKatakana(String str) {
for (var i = 0; i < str.length; i++) {
if (!katakana.contains(str[i])) {
print('$i: ${str[i]}');
return false;
}
}
return true;
}
}
void main() {
var kana = KanaUtils.convertToKatakana('ありがどうごさぃ');
print(kana);
print(KanaUtils.isAllKatakana(kana));
}
It seems like there are several JavaScript solutions online to convert from Kanji, Romaji, Hiragana and Katakana. Check these out and see if they work for you:
来源: https://stackoverflow.com/questions/39830530/how-to-translate-japanese-kanji-to-katakana