整理HTML5中支持的URL编码与字符编码

2020-04-25 07:58:56易采站长站整理
& %26 43 2b + %2b 44 2c , %2c 47 2f / %2f 58 3a : %3a 59 3b ; %3b 61 3d = %3d 63 3f ? %3f 64 40 @ %40

不安全字符编码
下表用于编码不安全字符。

十进制格式 十六进制值 字符 URL 编码
32 20 space %20
34 22 " %22
60 3c < %3c
62 3e > %3e
35 23 # %23
37 25 % %25
123 7b { %7b
125 7d } %7d
124 7c | %7c
92 5c %5c
94 5e ^ %5e
126 7e ~ %7e
91 5b [ %5b
93 5d ] %5d
96 60 ` %60

字符编码

字符编码就是将字节转换为字符的一种方法。要验证或者显示一个 HTML 文档,程序必须选择一个字符编码。HTML5 作者有三种方式设置字符编码:

HTTP Content-Type 头:
如果你在编写 cgi 程序或者类似的程序,那么可以使用 HTTP Content-Type 头设置任意字符编码:

下面是一个简单的例子:

XML/HTML Code复制内容到剪贴板

print "Content-Type: text/html; charset=utf-8rn";  

<meta> 元素:
可以使用带有 charset 属性的 <meta> 元素指定 HTML5 文档前 512 个字节的编码:

下面是简化的例子:

XML/HTML Code复制内容到剪贴板

<meta charset="UTF-8">  

尽管这种语法是被允许的,但上述语法需要使用 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 替换。

Unicode 字节顺序标记(BOM)
一个字节顺序标记(BOM)由数据流开头的 U+FEFF 字符码组成,它可以用作定义字节顺序和编码形式的签名,主要是未标记的明文文件。

许多 Windows 程序(包括 Windows 记事本)都会在保存为 UTF-8 的任意文档开头添加 0xEF, 0xBB, 0xBF。这就是 Unicode 字节顺序标记(BOM)的 UTF-8 编码,通常被称为 UTF-8 BOM,尽管它和字节顺序没有关系。