urlencode %XX ASCII编码方式
&name; &#dddd; &#xhhhh;是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)这三种转义序列都称作 character reference
- 第一种是 character entity reference,后接预先定义的 entity 名称,而 entity 声明了自身指代的字符。
- 后两种是 numeric character reference(NCR),数字取值为目标字符的 Unicode code point;以「&#」开头的后接十进制数字,以「&#x」开头的后接十六进制数字。
Unicode 在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符,在Unicode 3.0里使用“U-”然后紧接着八位数,而“U+”则必须随后紧接着四位数。
UTF-8(Unicode Transformation Format) UTF-8用1到6个字节编码Unicode字符,UTF-8的特点是对不同范围的字符使用不同长度的编码。对于0x00-0x7F之间的字符,UTF-8编码与ASCII编码完全相同。
UTF-8以字节为单位对Unicode进行编码。从Unicode到UTF-8的编码方式如下:
Unicode编码(十六进制)
|
UTF-8 字节流(二进制)
|
000000-00007F
|
0xxxxxxx
|
000080-0007FF
|
110xxxxx 10xxxxxx
|
000800-00FFFF
|
1110xxxx 10xxxxxx 10xxxxxx
|
010000-1FFFFF | 11110xxx10xxxxxx10xxxxxx10xxxxxx |
“汉”字的Unicode编码是0x6C49。即\u6c49。0x6C49在0x0800-0xFFFF之间,使用用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将0x6C49写成二进制是:0110 1100 0100 1001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。即汉