目标很简单。从.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;
答案 0 :(得分:3)
除错误的编码外,您的代码是正确的。找到正确的并插入。没有人使用UTF7
所以这可能不是它。
也许它是非Unicode的。试试Encoding.Default
。那个经验上经常有助于德国。
另外,只需使用File.ReadAllText
即可。它会做你正在做的一切。