不安全字符编码
下表用于编码不安全字符。
| 十进制格式 | 十六进制值 | 字符 | 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,尽管它和字节顺序没有关系。









