System.IO.StreamWriter和西班牙语字符

时间:2009-03-10 14:52:17

标签: c# text encoding character-encoding

我需要将以下字符串写入文件文件:

SEGS,AUS1,1,0,0,712205,584,8659094,2,NUÑEZFELIXARTURO,584

我使用的时候:

using  (System.IO.StreamWriter sw = new System.IO.StreamWriter(@fileSobrantes, true)) {
       sw.WriteLine("SEGS,AUS1,1,0,0,712205,584,8659094,2,NUÑEZ   FELIX ARTURO,584");
}

我在文件

中得到了这个

SEGS,AUS1,1,0,0,712205,584,8659094,2,NUÃ'EZFELIXARTURO,584

我尝试使用ASCII,UNICODE和所有UTF中的编码参数,但不起作用。

System.IO.StreamWriter(@fileSobrantes, true,Encoding.UTF32 ))

1 个答案:

答案 0 :(得分:1)

如果不提供十六进制转储,您无法轻松(并准确地)表示文件中的内容。你想用什么来读取文件?我的猜测是,如果你尝试Encoding.Default这对你有用,但是如果不知道你想要用什么来阅读它,就很难肯定。

另一种选择是 source 字符串不正确。如果你真的把它作为源代码中的字符串文字,你确定你已经设置了Visual Studio来正确解释它吗?

有关建议的技巧,请参阅我的unicode debugging page

编辑:顺便说一句,为什么你在fileSobrantes前加@?对于标识符,如果它们是关键字,则只需要这样做。您可能会对逐字字符串文字感到困惑 - 但这不是字符串文字,而是变量名称。