处理ASCII文件中的Unicode字符?

时间:2012-12-04 11:36:12

标签: c# unicode

我有一个XML文件,我在C#中使用XmlSerializer保存为ASCII / UTF-8。一个字段包含文件夹路径位置。我最近发现在非英语Windows系统上,路径字段中可能有特殊字符。我可以将整个文件保存为Unicode / UTF-16,但为了几个字符,文件大小加倍。

有没有办法将非ASCII字符插入ASCII字符串?

1 个答案:

答案 0 :(得分:7)

没有ASCII / UTF-8这样的东西。这是两种截然不同的编码,实际上编码不同的字符集。我怀疑你目前正在使用ASCII或Windows ANSI。

UTF-8是Unicode的完整编码。如果文件仅包含ASCII字符,则UTF-8编码与ASCII编码相同。如果您的文件主要是英文,那么UTF-8是生成最小文件的Unicode编码。

结论:使用UTF-8。