当前位置:  开发笔记 > 编程语言 > 正文

在VB.NET中将UTF-8转换为ASCII

如何解决《在VB.NET中将UTF-8转换为ASCII》经验,为你挑选了1个好方法。

我正在编写一个控制台应用程序,它从不同的电子邮箱中读取电子邮件并通过它们处理.从各种自动化系统接收电子邮件.电子邮件将被记录和/或向前发送.

问题是有些电子邮件是用UTF-8编码的,并且在引用可打印的情况下进行传输编码,这会混淆特殊字符(主要是ä,ö和å).我还没有找到任何解决方案来转换它们的可读格式.

例如,quoted-printable中的"ä"是"= C3 = A4".使用正常的转换方法,结果是"Ã"(乱码).

我从这里无耻地撕掉了这个示例转换表:http://forums.sun.com/thread.jspa?threadID = 5315363

char   codepoint          UTF-8 encoding                 as Latin-1

ä      11100100 = E4      11000011 10100100 = C3 A4      ä = \u00C3\u00A4
å      11100101 = E5      11000011 10100101 = C3 A5      Ã¥ = \u00C3\u00A5
ö      11110110 = F6      11000011 10110110 = C3 B6      ö = \u00C3\u00B6

Ä      11000100 = C4      11000011 10000100 = C3 84      Ã? = \u00C3\u0084
Å      11000101 = C5      11000011 10000101 = C3 85      Ã? = \u00C3\u0085
Ö      11010110 = D6      11000011 10010110 = C3 96      Ã? = \u00C3\u0096

那么如何从UTF-8值获得真正的代码点呢?我宁愿不使用任何外部库.此外我已经尝试了一对,但他们失败了.



1> Leandro Lópe..:

我不完全确定,但这可能会成功:

Encoding.ASCII.GetString(Encoding.UTF8.GetBytes(yourString))

我现在不在我的电脑上所以我无法测试它,但我会稍后再试.

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有