【发布时间】:2010-09-18 05:53:18
【问题描述】:
有谁知道如何在 java 中检测可打印字符?
过了一会儿(试验/错误)我得到了这个方法:
public boolean isPrintableChar( char c ) {
Character.UnicodeBlock block = Character.UnicodeBlock.of( c );
return (!Character.isISOControl(c)) &&
c != KeyEvent.CHAR_UNDEFINED &&
block != null &&
block != Character.UnicodeBlock.SPECIALS;
}
我通过 KeyListener 获取输入,然后 Ctr-'key' 打印了一个正方形。有了这个功能似乎还算够用。
我在这里缺少一些字符吗?
【问题讨论】:
-
我一直不明白为什么 Java 没有
Character.isPrintable()方法。另一种技术是将Character.getType(ch)与所有可打印的 Unicode 字符类进行比较,这似乎仍然需要付出很多努力。 -
你应该考虑一下,这个答案为我做了这个:stackoverflow.com/a/41100873/5285687
标签: java unicode non-printing-characters