如何翻译邮件主题(Subject)中的字符乱码(主要是中文)?(200分)

L

leonye

Unregistered / Unconfirmed
GUEST, unregistred user!
类似=?ISO-8859-1?Q?=c4=e3=ba=c3!?= 和 =?ISO-8859-1?B?0a/Oyg==?=
和 =?gb2312?B?u9i4tDoguPbIy9b30rPJ6sfro6E=?= 等等一些邮件主题,
不知在Delphi编程时如何翻译上面的字符串?
 
=?...?中应该是字符集名!
 
但u9i4tDoguPbIy9b30rPJ6sfro6E 怎么翻译?
 
=c4=e3=ba=c3是“你好”两个字!
 
你能再多提供一点线索吗?(你是搞安全工作的吗?) :)
 
小弟用Delphi编一个邮箱检查程序,收到的主题经常识别不了,
具体怎么样识别?
 
问题好象变了!
把你具体的做法和问题说出来,大家帮你分析分析。 :)
 
没变啊,
就不知怎么样把类似上面的那些字符串转成正确的中文。
谢谢!
 
这些中文主题是你发的吗?你发送和收到的是什么?多说一点!
 
别人发的,其实我也试过用outlook发,收到的主题更多象那样的
 
我想,你首先要弄清楚是邮件软件(OutLook)的问题,还是你程序的问题。
不知用其他邮件软件来收、发怎样?
 
其实应该发送方决定的,只不过我不知怎样识别那些字符串,
outlook, Foxmail接收是没问题的
 
littlegrass,何必老调人家胃口呢?
告诉人家这是什么编码方式不就行了吗?:)

这种编码就是把十六进制的值显示为
英文字符中的相应表示。
例如十六进制的c4就表示成为'C4',
这种编码以往用于Internet上传输
二进制数据,现在由于很多邮件系统
都支持二进制数据,因此用得不多了,
但互不兼容的系统上还会存在。

要读懂他,可以写个小程序,算法如上所述,
不过最好还是从你的邮件系统上找原因,
比如设置问题,使其兼容比较好。
 
>其实应该发送方决定的,只不过我不知怎样识别那些字符串
很多软件自以为聪明, 结果往往做出画蛇添足的事情, :)
这类例子数不胜数, 就像当年i的数据库中非要加入什么字符串
数据的代码页, 还有这个代码页本身也是带来的麻烦多于好处
>outlook, Foxmail接收是没问题的
这些接收程序具有解读各种编码的能力
您自己必须查一查各种编码的规则, 然后编写相应的解码程序,
或者直接和这些程序的作者联系吧! :)
 
谢谢各位的发言,
pegasus,有这方面编码资料吗?指点一下。
 
呵,一会儿这么多大虾来帮忙! :)

dwwang,我可没调谁胃口呀!开始的时候的确没弄懂问题的实质,反复问
了几次才知道。 :)

leonye,你举的几个例子用Foxmail翻译过来了:
=?ISO-8859-1?Q?=c4=e3=ba=c3!?= 你好!
=?ISO-8859-1?B?0a/Oyg==?= 询问
=?gb2312?B?u9i4tDoguPbIy9b30rPJ6sfro6E=?= 回复:个人主页申请!
(你的主页在哪?)
正如几位大虾所说,这些乱码实际是汉字的一种编码方式,可惜手上没有
这方面资料。 :(
 
辛苦大家了
 
编码方式我不是已经说了吗,就是这么回事,
最多不过是一些前缀/字符集名称的差别而已。
自己就可以编个小程序去读懂它,以前编过这种东东,
只要能保证从双字节开始读就可以了。
 
那只是其中一种编码(如'你好'),其它呢?
 
这个...惭愧惭愧,没仔细看所有编码。
FoxMail是不是所有编码都能翻译?我也要去下载一个。
 

Similar threads

I
回复
0
查看
772
import
I
I
回复
0
查看
723
import
I
I
回复
0
查看
486
import
I
D
回复
0
查看
733
DelphiTeacher的专栏
D
顶部