【发布时间】:2011-05-20 03:04:34
【问题描述】:
我从以 UTF8 编码存储的 XML 文件中读取了一个文本。 C# 完美读取它,我使用调试器进行了检查,但是当我尝试将其转换为 ASCII 以将其保存在另一个文件中时,我得到一个 ?字符在有冲突的地方出现。例如,这段文字:
string s = "La introducción masiva de las nuevas tecnologías de la información";
将保存为
"La introducci?n masiva de las nuevas tecnolog?as de la informaci?n"
我不能只用它们的拉丁语 (a, e, i, o, u) 元音替换它们,因为西班牙语中的某些单词会失去意义。我已经尝试过this 和this 的问题,但没有成功。所以我希望有人可以帮助我。第二个中选择的答案甚至没有编译...!
如果有人想看看,我的代码是这个:
private void WriteInput( string input )
{
byte[] byteArray = Encoding.UTF8.GetBytes(input);
byte[] asciiArray = Encoding.Convert(Encoding.UTF8, Encoding.ASCII, byteArray);
string finalString = Encoding.ASCII.GetString(asciiArray);
string inputFile = _idFile + ".in";
var batchWriter = new StreamWriter(inputFile, false, Encoding.ASCII);
batchWriter.Write(finalString);
batchWriter.Close();
}
【问题讨论】: