编码
ASCII 编码
- ASCII 码对照表
- ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的单字节字符编码标准,诞生于 1960 年代。
URL 编码
概述
- URL 编码(又称百分号编码,Percent-Encoding)是一种将 URL 中的特殊字符转换为安全格式的机制,确保数据在网络中正确传输。
作用
- 解决 URL 中保留字符(如
?
,=
,/
,&
)和非 ASCII 字符(如中文、空格)的传输问题,避免歧义或截断。
编码规则
- 保留字符:直接编码(如
/
→%2F
)。 - 非安全字符(如空格、中文):转换为
%
后跟其 UTF-8 字节的十六进制值(如空格 ==> %20 ==> %ASCII(HEX)码
)。 - 字母数字(
A-Z
,a-z
,0-9
)及-
_
.
~
不编码。
BurpSuite 中的 URL 编码
[!note]
浏览器中会自动编码 URL 中的参数值
- 在 BurpSuite 中,可以通过:鼠标右键——Convert selection——URL 下的选项进行 URL 编码的转换。
Unicode—UTF-8 编码
概述
- Unicode 的可变长编码方案,兼容 ASCII 且节省存储空间,是互联网主流编码(占网页的 98%以上)。
- 支持汉字、韩语、日语等显示编码。
核心规则
单字节(0 – 127):与 ASCII 完全一致(如
A
→0x41
)。多字节(128+):用前缀标识字节数,后续字节以 10 开头。
码点范围 UTF-8 字节序列模板 示例(汉字“中”) U+0000-U+007F 0xxxxxxx A → 41 U+0080-U+07FF 110xxxxx 10xxxxxx é → C3 A9 U+0800-U+FFFF 1110xxxx 10xxxxxx 10xxxxxx 中 → E4 B8 AD U+10000-U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 𐍈 → F0 90 8D 88
优势
- 兼容性:ASCII 文本无需转换。
- 灵活性:支持所有 Unicode 字符,且对拉丁字母效率高(1 字节/字符)。
- 容错性:字节边界明确,局部损坏不影响其他字符。
GB2312—GBK 编码
- 我国于1980年发布的GB2312(简体汉字编码标准),解决ASCII无法表示中文的问题,又在1993年发布的扩展标准GBK,弥补GB2312的不足,并且向下兼容GB2312。