WEB应用程序编码方案
URL编码
URL只允许ASCII字符集中的可打印字符(0x20-0x7e),由于其在URL方案或HTTP协议中的特殊含义,这个范围内的一些字符也不可以用于URL中。URL编码方案主要用于将扩展ASCII字符集中有问题的字符进行编码,使其通过HTTP可以安全传输。任何URL编码的字符都已%为前缀,其后是这个字符的两位十六进制代码。
常见的一些URL编码字符:
%3d->=
%25->%
%20 / + ->空格
%0a->新行
%00->空字节
Unicode编码
Unicode是一种为支持全世界所使用的各种编写系统而设计的字符编码标准,它采用各种编码方案,其中一些可用于表示web应用程序中的不常见字符。
16位的Unicode编码以%为前缀,其后用16进制表示每个字节。eg:%u2215->/
HTML编码
HTml编码用于处理问题字符并将其安全并入HTML文档的方案。HTML编码定义了大量hTml实体来表示特殊的字面量字符。
";->"
'->'
&->&
<-> <
>-> >
此外,任何字符都可以使用它的十进制ASCII码进行HTML编码:"->" , '->'
或者使用十六进制的ASCII码,以x为前缀:"->" , ' -> '
BASE64编码
BASE64编码用一个可打印的ASCII字符就可以安全转换任何二进制数据。它常用于对电子邮件进行编码,或对基本HTTP验证机制中的用户证书进行编码。可打印ASCII字符有64个,可以表示6bit数据,因此BASE64编码将输入分为每6位一组,每6位用一个字符表示,如果不足6位,用一个或两个等号填充。
16进制编码
许多应用程序在传送二级制数据时直接使用十六进制编码,用ASCII字符表示16进制数据块。eg:daf->646166