java字符转义

之前对java字符转义这一块稍作了解,在这里理理自己主观浅显的理解

这里会谈谈字符编码的是另一种问题和转义没有关系

以下面代码做分析

System.out.println("a".length()+"b".length());

对以上代码["a".length()+"b".length()]部分

["]默认作为编译器的["],用来识别编译器中的字符串部分,["a".length()+"b".length()]执行后输出的字符串为1+1 -> [2]

System.out.println("a\".length()+\"b".length());

对以上代码[a\".length()+\"b]部分

["]转义作为字符串的["],用来识别字符串中的“字符串”部分(如果字符串可以像编译器中的代码一样执行,那两者作用会是相似的),[a\".length()+\"b]执行后得到的字符串为[a".length()+"b],整体执行后输出的字符串为[14]

String[] aa = "aaa\\bbb\\ccc".split("\\\\");

这里split的参数是一个正则表达式匹配模式而非一个简单的String

["aaa\\bbb\\ccc"]和["\\\\"]中的[\]默认作为编译器的[\],用来识别编译器中进行转义的字符,转义成字符串为[aaa\bbb\ccc]和[\\],[\]作为字符串中的普通字符,但在split中作为参数的[\],用来识别参数中进行转义的字符串分隔符,真正字符串分隔符为[\],aa元素分别为"aaa","bbb","ccc"

编码是另一种问题,是对字符的机器识别,是所有抽象的具体表现

ASCII编码,Unicode编码和它的实现方式UTF-8编码,以不同的二进制方式实现字符,但是不管怎样,所有这些编码方式中,0--127表示的符号是一样的(ASCII码的字符实现在所有编码中通用)

下面是阮大大对编码问题的讲解

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值