2

我正在尝试使用 StreamWriter 在缓存文件 (.txt) 中写入一个字符串。它正在工作,但是缓存文件中的字符串似乎与我要复制的字符串不同。我的输入字符串包含一个特殊字符'ƒ',写入缓存文件的输出字符串包含一个经典的'f'。我指定了一个编码:

var writer = new StreamWriter(stream, Encoding.GetEncoding("ISO-8859-1"))

我需要指定另一种编码吗?

4

4 回答 4

4

该字符(带有 HOOK 的拉丁小写字母 F)没有出现在iso-8859-1中,所以是的,您需要不同的编码;可能是 utf-8。

于 2013-04-22T14:14:50.550 回答
2

只需使用 UTF-8 编码。它支持您的字符,并且如果大多数其他字符都在 ASCII 范围内,那么您的文件不会比使用 ISO-8859-1 编码的文件大,因为 UTF-8 编码仅使用 1 个字节对 ASCII 范围内的字符进行编码(如果这是一个问题)。这是来自维基百科的更多信息

于 2013-04-22T14:20:27.227 回答
1

ISO-8859-1 编码没有该字符。

您应该始终使用Encoding.UTF8.

于 2013-04-22T14:14:55.650 回答
0

您应该使用 UTF8 - ISO-8859-1 中没有所需的字符。

于 2013-04-22T14:15:35.937 回答