答案 1
此功能内置于 Character.UnicodeBlock 类中。与日语相关的 Unicode 块的一些示例:
Character.UnicodeBlock.of('誰') == CJK_UNIFIED_IDEOGRAPHS
Character.UnicodeBlock.of('か') == HIRAGANA
Character.UnicodeBlock.of('フ') == KATAKANA
Character.UnicodeBlock.of('フ') == HALFWIDTH_AND_FULLWIDTH_FORMS
Character.UnicodeBlock.of('!') == HALFWIDTH_AND_FULLWIDTH_FORMS
Character.UnicodeBlock.of('。') == CJK_SYMBOLS_AND_PUNCTUATION
但是,一如既往,魔鬼在细节中:
Character.UnicodeBlock.of('A') == HALFWIDTH_AND_FULLWIDTH_FORMS
其中 是全角字符。因此,这与上面的半角片假名属于同一类别。请注意,全宽与正常(半角)不同:A
フ
A
A
Character.UnicodeBlock.of('A') == BASIC_LATIN
答案 2
使用像这样的表格来确定哪些unicode值用于片假名和汉字,然后您可以简单地将字符转换为int并检查它所属的位置,例如
int val = (int)て;
if (val >= 0x3040 && val <= 0x309f)
return KATAKANA
..
推荐
-
-
Java 如何将 3 字节 Unicode 字符放入 char 类型中? 因此,Java中的“char”是2个字节。(可以验证。 我有这个示例代码: 最终文件“baz.txt”将只有2个字节,即使我将其视为UTF-8文件,它也不会显示正确的字符。 编辑2:如果我打开编码UTF-16 BE
-
Java、Unicode、UTF-8 和 Windows Command Prompt 我有一个jar文件,它应该读取UTF-8编码的文件 - 我在Windows下的文本编辑器中编写 - 并将字符显示到屏幕上。在OS X和Linux下,这可以完美地工作。我遇到了一些麻烦,让它在Windows下工作虽然...我这
-
GUI:如何确定是否支持某些 Unicode 字符? 我注意到Metal L&F不支持Unicode中的某些箭头字符,而Nimbus和GTK L&Fs确实支持它们。 不支持的字符仅显示为: 我可以吗 要么查找(手动),哪个L&F支持哪些Unicode字符, 还是在运行时发现它?
-
安卓系统上有哪些角色? 我想在我的 Android 应用中显示一些特殊的 Unicode 字符。这些字符未在 droidfonts.com 中列出,但它们在模拟器和手机上正确显示,但要确定是否所有Android平台都支持它们。它是否记录在某个地方?
标签
推荐