char ch1 = '\0' ,ch2 = ' ';
System.out.println(""+(int)ch1);
System.out.println(""+(int)ch2);
运行结果
由此可见,空字符('\0')的ascii值是0,实际应用上是字符串结尾自动补上的一个字符
有的时候用来判断是否到了字符串结尾
而空格字符(' ')是我们摁空格键打出来的空格,ascii码为32
在开发中看到需求上这样一条:
报文头里面,允许输入空值的地方,要使用空格填充,即byte 0x20,不能使用byte 0x00。
上述的0x20 和0x00指的是字符的ascii码
16进制0x20, 十进制32:空格字符 指键盘上长长的那个键产生的字符
而16进制0x00, 十进制0 :空字符 指字符串结尾系统自动加上的‘\0’,以让系统识别出一个字符串的结尾。如字符串“china”实际上在系统内是以“china\0”储存的。
NULL
空格串
空字符串
0