我已经查看了建议的“已经回答”的问题。大多数情况下,他们只想丢弃这种“不可打印”的输入。我想用它。
我正在String
使用从键盘输入返回的 UTF8
BufferedReader br = new BufferedReader( new InputStreamReader(System.in, 'UTF-8' ));
String response = br.readLine();
我有兴趣确定用户是否输入了例如向上箭头或向下箭头作为他们的击键之一。
遍历这里的char
s,String
我发现向下箭头转换为(int
值char
)27、91、66,即 3 char
s。第一个值对应于Escape
。因此,这似乎不是识别单曲Character
并找出它是否不可打印的问题。
另外我不清楚为什么这个控制字符不能作为单个 UTF8 字符打印出来,而是作为 UTF8 字符的 3 个组成部分打印出来:这是否意味着当你遍历 a 时,String
你实际上得到了它的内容逐字节?
我只是想知道在给定的 UTF8 字符串中是否有任何记录或巧妙的方法(查找和识别控制字符)。也许是 Apache Commons。或者也许在 Groovy 中(我实际上正在使用它,而不是 Java)?