我收到了保存为ISO 88591-1格式的文本文件,其中包含来自拉丁-1范围的重音字符(以及正常的ASCII z等)。如何使用C#将这些文件转换为UTF-8,以便ISO8859-1中的单字节重音字符成为有效的UTF8字符?
我曾尝试将StreamReader与ASCIIEncoding一起使用,然后通过实例化编码ascii
和编码utf8
,然后使用Encoding.Convert(ascii, utf8, ascii.GetBytes( asciiString) )
将ASCII码字符串转换为UTF8-但是重音字符被呈现为问号。
我遗漏了哪一步?
发布于 2010-04-08 04:31:02
如果文件相对较小(例如,大约10MB),则只需要两行代码:
string txt = System.IO.File.ReadAllText(inpPath, Encoding.GetEncoding("iso-8859-1"));
System.IO.File.WriteAllText(outPath, txt);
https://stackoverflow.com/questions/2595442
复制相似问题