java 转义字符"\u0010" "\010" "\2"等

本文深入探讨了Java中八进制(xxx)与十六进制(uxxxx)转义字符的用法,通过实例解释了它们如何代表特定的ASCII字符,并展示了如何使用Arrays.toString方法来查看字符串的字节表示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java转义字符

\xxx                八进制转义符

\uxxxx          十六进制转义符

像"\010","\u0010"这种字符串,不要以为它们长度大于1,其实它们仅占一个字节,也就是由 '\010'和'\u0010'组成的单字节字符串,那么这两个字符究竟代表什么呢?它们是否是一样的?其实它们都是不可见字符,分别表示退格和数据链路转义(参考ASCII表),使用Arrays.toString(s.getBytes())可以打印一个字符串的字节数组,也就是其ASCII的十进制值,使用如下代码对转义字符的进行测试:
        System.out.println(Arrays.toString("0010".getBytes()));   //[48,48,49,48]
        System.out.println(Arrays.toString("\u0010".getBytes()));   //[16]   '\u0000'~'\uFFFF'
        //System.out.println(Arrays.toString("\u010".getBytes()));    //编译不通过,提示非法的Unicode转义
        System.out.println(Arrays.toString("\010".getBytes()));     //[8]  范围’\000′~’\377′
        System.out.println(Arrays.toString("\10".getBytes()));      //[8]   长度可为1~3位
        System.out.println("\u0002".equals("\2"));                  //true
        System.out.println(Integer.valueOf('\u0002'));              //2 (ASCII值)
        System.out.println("\101");     //A
        System.out.println('\101');     //A
        System.out.println("\u0041");   //A
        System.out.println("abcd\b\b"); //ab (\b表示退格)

 可以看到, '\u0010' 对应的十进制ASCII值为16,'\010'对应的十进制ASCII值为8,事实上十六进制的10就是16,八进制的10就是8。

转载于:https://www.cnblogs.com/chenggang816/p/9985262.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值