utf-8 解码 delphi (帮顶有分)

ou630j 2009-02-04 05:41:54
如题
...全文
932 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒懒的毛球 2010-04-12
  • 打赏
  • 举报
回复
还有quoted-printable
zshsuming 2009-02-10
  • 打赏
  • 举报
回复
学习
jadeluo 2009-02-05
  • 打赏
  • 举报
回复
补充一下,这个字符串的格式是这样的:=?汉字编码?内容编码?内容?=

当汉字编码为UTF-8,内容编码为Base64,字符串的格式就是:=?UTF-8?B?内容?=

解码时,就是对内容先进行Base64解码,然后再进行汉字编码转换(UTF-8转程序所使用的汉字编码)。
liangpei2008 2009-02-05
  • 打赏
  • 举报
回复
先确定邮件系统发过来的编码程序是什么样的,没准是经过压缩,或UTF8编码,而后用base64进行编码的!
jadeluo 2009-02-05
  • 打赏
  • 举报
回复
DecodeString函数需要引用EncdDecd单元
jadeluo 2009-02-05
  • 打赏
  • 举报
回复
要去掉前面的=?UTF-8?B?和后面的?=,然后再用 UTF8Decode(DecodeString('......')) 来解码。

UTF8Decode(DecodeString('QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg='))
解出来的结果是: AD 品·致 标致生活 1月
ou630j 2009-02-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 starluck 的回复:]
引用 3 楼 ou630j 的回复:
我现在做的一个邮件系统,接收下来的主题的内容
=?UTF-8?B?QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg=?=



用这个函数解出来是错的,应该怎么解码
bdmh 2009-02-05
  • 打赏
  • 举报
回复
=?UTF-8?B?QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg=?=

首先你要确定上面的内容是否是utf8的编码

delphi自带utf8解码UTF8Decode
如果是base64的,delphi也有DecodeString

这些都是函数,返回解码后的正确字符串
starluck 2009-02-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ou630j 的回复:]
我现在做的一个邮件系统,接收下来的主题的内容
=?UTF-8?B?QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg=?=

请问怎么解码?还有邮件主题有多少种编码方式?
[/Quote]

這應該是BASE64,INDY本身有函數處理這個的。不過要注意 = 號這些要自己處理下。
kampan 2009-02-05
  • 打赏
  • 举报
回复
up
ou630j 2009-02-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xzhifei 的回复:]
D7系统自带:
UTF8Decode
[/Quote]


这个是控件还是什么啊
ou630j 2009-02-05
  • 打赏
  • 举报
回复
我现在做的一个邮件系统,接收下来的主题的内容
=?UTF-8?B?QUQg5ZOBwrfoh7Qg5qCH6Ie055Sf5rS7IDHmnIg=?=

请问怎么解码?还有邮件主题有多少种编码方式?
ou630j 2009-02-05
  • 打赏
  • 举报
回复
不过还想知道邮件主题的其它解码,base64和utf8就不用知道了


明天结帖,知道答案的再追加50分
ou630j 2009-02-05
  • 打赏
  • 举报
回复
解决了

原来函数在system里面
xzhifei 2009-02-04
  • 打赏
  • 举报
回复
D7系统自带:
UTF8Decode
寻梦928 2009-02-04
  • 打赏
  • 举报
回复
帮你顶,你能不能说详细一点!

5,514

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧