【发布时间】:2011-05-22 04:00:33
【问题描述】:
在 Stack Overflow 之前,我已经以一种迂回的方式asked this before,并且希望这次能做到这一点。如何在保留特殊字符的同时将 ANSI(代码页 1252)转换为 UTF-8? (我知道 UTF-8 支持比 ANSI 更大的字符集,但如果我可以保留 ANSI 支持的所有 UTF-8 字符并将其余字符替换为 ? 或其他内容,则可以)
我为什么要转换 ANSI → UTF-8
我基本上是在编写一个程序,将 vCard 文件 (VCF) 拆分为单独的文件,每个文件都包含一个联系人。我注意到诺基亚和索尼爱立信手机将备份 VCF 文件保存为 UTF-8(无 BOM),但 Android 将其保存为 ANSI(1252)。天知道其他手机以什么格式保存它们!
所以我的问题是
- vCard 文件的字符编码没有行业标准吗?
- 哪个更容易解决我的问题?将 ANSI 转换为 UTF8(和/或反之)或尝试检测输入文件的编码并通知用户?
tl;博士 需要知道如何在保留所有特殊字符的同时将字符编码从 (ANSI / UTF8) 转换为 (UTF8 / ANSI)。
【问题讨论】:
标签: c# .net string character-encoding special-characters