对转义字符的思考

ASCII码

  • 计算机存储文字时用的是二进制,ASCII码就是一张对照表,什么字符对应什么码,将二进制码存储下来
  • 0-127位表示基础的ASCII码
  • 0-31,和127表示非打印控制字符(如换行、回车、响铃、文头、文尾)
  • 32-126表示空格,数字,大小写,标点,运算符号
  • 127-256 是ASCII的扩展,表示英语以外的西文字符,不同国家的表示不同
  • 亚洲文字(这里以汉字为例),使用GB2312,GBK,Unicode表示,一个文字2个字节
  • 在这里插入图片描述

转义字符

第一类 字符实体

所有ASCII码可以用\加数字表示,而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符
原因一:使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示。

  • 用在js或用js操作innerHTML
    在这里插入图片描述
    在这里插入图片描述

第二类

原因二:某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。比如说Html中,<被HTML定义为标签的开始,所以当我们转入<时,HTML就会把它当作为开始,而不是当作一个<来看待。再如PHP 的双引号("),被PHP定义为字符串的外围标签,所以如果你在一对双引号里面,还想要使用双引号,只能使用转义字符了。不然PHP就会报错了。

  • 用在HTML

  • 空格 no-break space
    在这里插入图片描述

一些现象

  • 在html标签中直接使用< >之类,虽然浏览器能显示,但这是不规范的写法
    在这里插入图片描述

虽然能显示出来,但是这种写法是不被允许的,因为<是HTML标签的组成部分,很容易造成标签混乱。还有innerText不会转码HTML实体。

  • 双引号、单引号未成对出现
  • 换行,反斜杠,双引号都转了,单引号未转
    在这里插入图片描述
  • 成对出现,双引号里有双引号,转了
    在这里插入图片描述
  • 成对出现,双引号里是单引号,单引号未转
    在这里插入图片描述
  • 成对出现,单引号里是单引号,单引号未转
    在这里插入图片描述
  • 以上,单引号始终未转,因为单引号不是作为引号使用所以没有被转义(这里打印的是value的值,系统默认为普通字符串),js语句中使用引号会被转义
  • js语句中,作为引号使用
    在这里插入图片描述
    在这里插入图片描述
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值