这是什么文本:=B0=A1=C1=CB ... 以及如何将其转换为普通文本?
What is this text: =B0=A1=C1=CB ... and how to convert it to normal text?
我找到了一些这种形式的文本:
=B0=A1=C1=CB,=C4=E3=D2=B2=C3=BB=C1=AA=CF=B5=CE=D2,=D7=EE=BD=FC=CA=C7=B2=BB=CA=C7=
=BA=DC=C3=A6=B0=A1
主要包含由一个等号后跟两个十六进制数字组成的序列。
我听说可以转换成这个中文句子:
啊了你也没联系我最近是不是很忙啊
什么是 =B0=A1=C1
以及如何 decode/convert 它?
中文句子被编码成8位国标编码(GB2312、GBK或GB18030;很可能是后者,虽然它显然也像前者一样正确解码),然后进一步编码成7位MIME quoted-printable编码。
解码成Unicode字符串,先取消quoted-printable编码,再解码国标编码。这是一个使用 Python:
的例子
import quopri
print(quopri.decodestring("""\
=B0=A1=C1=CB,=C4=E3=D2=B2=C3=BB=C1=AA=CF=B5=CE=D2,=D7=EE=BD=FC=CA=C7=B2=BB=CA=C7=
=BA=DC=C3=A6=B0=A1\
""").decode('gb18030'))
这会在我的终端上输出 啊了,你也没联系我,最近是不是很忙啊
。
quoted-printable编码通常出现在e-mail消息中;是否真的在使用中,要根据消息headers来判断。以这种方式编码的消息应携带 header Content-Transfer-Encoding: quoted-printable
。文本编码(本例中为gb18030
)应在Content-Type
header的charset
参数中指定,但有时可以通过其他方式确定。
我找到了一些这种形式的文本:
=B0=A1=C1=CB,=C4=E3=D2=B2=C3=BB=C1=AA=CF=B5=CE=D2,=D7=EE=BD=FC=CA=C7=B2=BB=CA=C7=
=BA=DC=C3=A6=B0=A1
主要包含由一个等号后跟两个十六进制数字组成的序列。
我听说可以转换成这个中文句子:
啊了你也没联系我最近是不是很忙啊
什么是 =B0=A1=C1
以及如何 decode/convert 它?
中文句子被编码成8位国标编码(GB2312、GBK或GB18030;很可能是后者,虽然它显然也像前者一样正确解码),然后进一步编码成7位MIME quoted-printable编码。
解码成Unicode字符串,先取消quoted-printable编码,再解码国标编码。这是一个使用 Python:
的例子import quopri
print(quopri.decodestring("""\
=B0=A1=C1=CB,=C4=E3=D2=B2=C3=BB=C1=AA=CF=B5=CE=D2,=D7=EE=BD=FC=CA=C7=B2=BB=CA=C7=
=BA=DC=C3=A6=B0=A1\
""").decode('gb18030'))
这会在我的终端上输出 啊了,你也没联系我,最近是不是很忙啊
。
quoted-printable编码通常出现在e-mail消息中;是否真的在使用中,要根据消息headers来判断。以这种方式编码的消息应携带 header Content-Transfer-Encoding: quoted-printable
。文本编码(本例中为gb18030
)应在Content-Type
header的charset
参数中指定,但有时可以通过其他方式确定。