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语句中,作为引号使用