空字符和空格字符有什么区别?

 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
 

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值