ansi到unicode转换

use*_*959 1 c# encoding typography

在解析某些文档时,我得到了字符代码146,它实际上是一个ANSI编号.将char写入文本文件时,不会显示任何内容.如果我们将char写为Unicode编号-8217,则字符显示正常.

任何人都可以给我建议如何在C#中将ANSI编号146转换为Unicode 8217.

参考:http://www.alanwood.net/demos/ansi.html

谢谢

Jon*_*eet 8

"ANSI"实际上是用词不当 - 有许多编码通常被称为"ANSI".但是,如果您确定需要代码页1252,则可以使用:

Encoding encoding = Encoding.GetEncoding(1252);
using (TextReader reader = File.OpenText(filename, encoding))
{
    // Read text and use it
}
Run Code Online (Sandbox Code Playgroud)

要么

Encoding encoding = Encoding.GetEncoding(1252);
string text = File.ReadAllText(filename, encoding);
Run Code Online (Sandbox Code Playgroud)

这是为了读取文件 - 写一个文件是一样的想法.基本上,当您从二进制文件(例如文件内容)转换为文本时,请使用适当的Encoding对象.