我需要在Java中打印前1000个unicode字符,问题是我不知道如何将文本和Unicode的六进制代码组合在一起.
示例:我想打印空白区,所以在println命令我插入"\ u00"并在while循环中我需要添加其他2 00,但我不能像文本一样插入它们!( "00").
我告诉你我尝试过的东西......我在互联网上找到了这个代码并且我修改了它,并且是一个小小的车,所以如果你能解决它我也会很棒啊哈哈!
public static void main(String[] args) {
char t[]="0123456789abcdef".toCharArray();
int i = 0;
while(i<1000) {
System.out.println("Char: " + t[i/16] + t[i%16] + " ==> " + "\u00" + t[i/16] + t[i++%16]);
}
}
Run Code Online (Sandbox Code Playgroud)
PS:有时随机,编译器给我这个错误:
at unicodetest.UnicodeTest.main(Char: 83 ==> 83
UnicodeTest.java:10)
Run Code Online (Sandbox Code Playgroud)
第10行是:
System.out.println("Char: " + t[i/16] + t[i%16] + " ==> " + t[i/16] + t[i++%16]);
Run Code Online (Sandbox Code Playgroud)
编辑:它应该看起来像这样:
Char: 20 ==> ' '
Char: 21 ==> '!'
Char: 22 ==> '"'
Char: 23 ==> '#'
Char: 24 ==> '$'
Char: 25 ==> '%'
Char: 26 ==> '&'
Char: 27 ==> '''
Char: 28 ==> '('
Char: 29 ==> ')'
Char: 2a ==> '*'
Char: 2b ==> '+'
Char: 2c ==> ','
Char: 2d ==> '-'
Char: 2e ==> '.'
Char: 2f ==> '/'
Char: 30 ==> '0'
Char: 31 ==> '1'
Char: 32 ==> '2'
Char: 33 ==> '3'
Char: 34 ==> '4'
Char: 35 ==> '5'
Char: 36 ==> '6'
Char: 37 ==> '7'
Char: 38 ==> '8'
Char: 39 ==> '9'
Char: 3a ==> ':'
Char: 3b ==> ';'
Char: 3c ==> '<'
Char: 3d ==> '='
Char: 3e ==> '>'
Char: 3f ==> '?'
Char: 40 ==> '@'
Char: 41 ==> 'A'
Char: 42 ==> 'B'
Char: 43 ==> 'C'
Char: 44 ==> 'D'
Char: 45 ==> 'E'
Char: 46 ==> 'F'
Char: 47 ==> 'G'
...
Char: 37b ==> '?'
Char: 37c ==> '?'
Char: 37d ==> '?'
...
Char: 3e4 ==> '?'
Char: 3e5 ==> '?'
Char: 3e6 ==> '?'
Char: 3e7 ==> '?'
Run Code Online (Sandbox Code Playgroud)
使用Character.toChars(int)从代码点转换为代表字符.下面将打印U + 0000和U + 03E8之间的所有UTF字符,前1000个代码点.
public static void main(String[] args) {
IntStream.range(0, 1000)
.mapToObj(i -> "Char: " + i + " ==> " + new String(Character.toChars(i)))
.forEach(System.out::println);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |