在java中可打印的字符
有谁知道如何检测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获得input,并且打印出一个正方形的Ctr-'key'。 有了这个function似乎够用了。
我在这里错过了一些字符?
先谢谢你。
这似乎是“字体”独立的方式。
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; }
我不太清楚我是否理解你的问题。 但是如果你想检测字符是否可以绘制到Graphics对象,并且如果不打印一些占位符字符,你可能会发现有用:
Font.canDisplay(int)
它将检查字体是否可以显示特定的代码点(更重要的是检查字体是否可以显示 – 因为有字符是可显示的 – 比如 – 但是有些字体不能显示它们。