UTF-7编码

UTF7介绍

UTF-7 (7-位元 Unicode 转换格式(Unicode Transformation Format,简写成 UTF))是一种可变长度字符编码方式,用以将 Unicode 字符以 ASCII 编码的字符串来呈现,可以应用在电子邮件传输之类的应用。

UTF-7 首次被提出是在一个实验性的通讯协定里(RFC 1642,A Mail-Safe Transformation Format of Unicode),这份 [RFC](http://zh.wikipedia.org/wiki/RFC)(Request for Comments)提案后来因 RFC 2152 的提出而被取代(RFC 2152 本身为新闻型(informational)的文案)。在 RFC 2152 当中明确的指出该份 RFC 本身不为互联网的标准做出任何明确的定义(明列于文案前头的 Status of this Memo)。尽管这份 RFC 2152 在 IANA(Internet Assigned Numbers Authority)的字符集列表里被引述为 UTF-7,然而 UTF-7 本身并非 Unicode 的标准之一,即使在目前最新的 Unicode 5.0 里也仅列出 UTF-8 、 UTF-16 和 UTF-32 。

编码步骤

将字符转化为unicode码

将unicode码转化为二进制码

对二进制码重新进行分组,每6个一组,最后一组若不足6位用0补齐

根据改编的BASE64码表转化每一组所对应的字符

编码例子

对GBK中文字符“站点”进行编码

获得unicode代码分别为31449和28857

转为为二进制码得 01111010  11011001  01110000  10111001

分组得011110  101101  100101  110000  101110  010000

根据码表得etlwuQ

解码步骤

根据改编后的base64码表获取每一个字符对应的代码

将代码转化为二进制

对二进制码重新进行分组,每16个一组,多余的部分舍弃

根据每组得到的unicode代码获取每个字符

解码例子

对编码后的字符串”etlwuQ”进行解码

根据码表获得每个字符对应的二进制码011110  101101  100101  110000  101110  010000

重新分组得 01111010  11011001  01110000  10111001 抛弃最后的4个0

转化每两组8bit的二进制码得unicode码31449和28857

获得该unicode对应的字符”站点”

改编的BASE64码表


UTF-7编码_第1张图片


解码方式:

新建一个.html的文件,向文件中写入

以下内容:

-------------------------------------------------------------------------------------------

要解码的内容

--------------------------------------------------------------------------------------------

保存,然后用浏览器打开这个html,即可得到(最好使用ie浏览器,有的浏览器可能已经不编译utf-7了)

你可能感兴趣的:(UTF-7编码)