乱码

今天,恩义发来一条信息,说需要帮忙破译一封从国内发来的充斥满了乱码的邮件。

收到满是乱码的邮件这个情形,相信诸位都不陌生。这次的例子里,我们在邮件客户端里看到的内容是类似于“三门峡”的乱码。这个信息对于咱们用处不大。

解码的第一步,是得到传输的原始邮件内容。在gmail的网页界面里,选择”Show original”这个选项,就可以达到此目的。刨除邮件头文件的信息,我们会在原始邮件内容里发现诸如”=E4=B8=96=E7=95=8C=E6=9D=AF=E8=B6=B3=E7=90=83=E8=B5=9B”样的码文。这个格式告诉我们此内容是quoted-printable编码的。简而言之,这种编码是用“可打印ASCII字符”来传输非ASCII编码字符的一种方法,就如同Base64。解码的话,我们需要知道发送者最初编码类型(例如,utf-8, gb2312)和码文。码文就在原始邮件内容里,而这封邮件从国内发来这个信息,提示我们编码类型很可能是某个中文编码或者Unicode。有了这些信息,解码的最简单方法就是使用现成的解码工具,譬如这个在线编码解码器。将quoted-printable码文粘贴入文字框,并选上可能的编码方式后,我们发现上面给出的那个例子对应的明文是utf-8编码的中文字符串“世界杯足球赛”。至此,恩义的问题得以解决。

Advertisements


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s