.txt到带编码的字符串

时间:2013-07-11 22:18:10

标签: c# encoding

目标很简单。从.txt文件中获取包含特殊字符的一些法语文本,并将其粘贴到变量“content”中。除了字符“à”的所有实例都被解释为“À”之外,一切都运行良好。我选错了编码(UTF7)还是什么?

非常感谢任何帮助。

// Using ecoding to ensure special characters work
Encoding enc = Encoding.UTF7;

// Make sure we get all the information about special chars
byte[] fileBytes = System.IO.File.ReadAllBytes(path);

// Convert the new byte[] into a char[] and then into a string. 
char[] fileChars = new char[enc.GetCharCount(fileBytes, 0, fileBytes.Length)];
enc.GetChars(fileBytes, 0, fileBytes.Length, fileChars, 0);
string fileString = new string(fileChars);

 // Insert the resulting encoded string "fileString" into "content"
 content = fileString;

1 个答案:

答案 0 :(得分:3)

除错误的编码外,您的代码是正确的。找到正确的并插入。没有人使用UTF7所以这可能不是它。

也许它是非Unicode的。试试Encoding.Default。那个经验上经常有助于德国。

另外,只需使用File.ReadAllText即可。它会做你正在做的一切。