java空字符和空的区别

@TOC 这是unicode编码的表示方式

这是两个不同的东西

空字符:是一个不可见的字符,再控制台打印的时候它是不存在的,但是物理意义上是存在的。
在这里插入图片描述

ASCII

ASCII 编码表,中前三十个左右都是控制字符,控制字符的意思是可以实现一些控制,而不仅仅是表面人眼看到的字符的样子。
比如图中十进制10 表示换行。 请找到对应的行,我们来解读。
十进制->10
转移字符-> \n
字符含义->换行

    public static void main(String[] args) throws Exception {
        String name="张\n三";
        String name2="张\012三";
        System.out.println(name);
        System.out.println(name2);
        \n:  v成功输出了换行
        \012: 是八进制的表示方式,java会识别到这是ASCII的十进制->10进而找到\n,是一个意思
   
    }

ASCII第一个控制字符就是0000

unicode 表示方式是:\u0000 八进制表示方式是\000 十六进制表示方式是\x00

\u0000和""

\u0000: 指的是空字符
“” : 表示空字符串

    public static void main(String[] args) throws Exception {

        String s = "a\u0000b";
        System.out.println(s.length());//输出结果为3 

    }

  1. \u0000: 空字符是一个不可见的字符,但是它是实实在在存在的一个字符,或者你可以理解为隐藏字符。常见的字符串边界就是它
  2. 一个字节(byte)是由8个位(bit)组成的。因此,\u0000 在内存中占据的空间是一个字节,即8位(8bit)。
  3. ""表示真空,表示不存在
  4. \u0000 空字符,就叫空字符,它是一个真实存在的字符,真实存在的字符。只不过人眼不可见,但是计算机能识别到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我先森

鼓励一个吧,哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值