输入为字符串的Java ASCII字符

时间:2014-04-23 09:15:02

标签: java ascii

我对以下ASCII字符感兴趣11 Vertical Tab,28 File Separtor和13 Carriage Return。通过Java,Character.isWhitespace()将告诉我这些字符是否属于这些类型之一。

我想要做的是将输入数据作为字符串发送。例如,字符13是'\ r',因此可以将其输入到字符串中:

String input = new String("'\'rThis is");

由此可以确定input.toCharArray()中的字符0,1和2是ASCII字符13.如何在String中表示Vertical Tab和File Separtor。

我做了很多研究,但谷歌没有给出答案。 Horizantal选项卡是制表符,例如“This is”但是什么是Veritical选项卡?

3 个答案:

答案 0 :(得分:1)

原则上,您可以将它们输入为Unicode代码点,如下所示:

  • 垂直制表符:\ u000b
  • 文件分隔符:\ 001c

我现在手头没有Java编译器所以我无法测试它是否真的有效。

答案 1 :(得分:1)

通过在这种情况下char执行(char) [asciiValue]来获取垂直制表符,您始终可以获取java中任何ASCII字符的(char) 11值。

文件分隔符可以使用File.seperator,我相信。

答案 2 :(得分:1)

您可以从指定每个字符的字节数组构造一个字符串。

String input = new String(new byte[] {11, 28, 13 });

根据以下测试,它们似乎确实都是空白。

import java.util.*;
public class Foo {
    public static void main(String[] args) {            
        String input = new String(new byte[] {11, 28, 13 });
        System.out.println(Character.isWhitespace(input.charAt(0)));
        System.out.println(Character.isWhitespace(input.charAt(1)));
        System.out.println(Character.isWhitespace(input.charAt(2)));
    }
}

输出:

true
true
true