我正在尝试使用 StreamWriter 在缓存文件 (.txt) 中写入一个字符串。它正在工作,但是缓存文件中的字符串似乎与我要复制的字符串不同。我的输入字符串包含一个特殊字符'ƒ',写入缓存文件的输出字符串包含一个经典的'f'。我指定了一个编码:
var writer = new StreamWriter(stream, Encoding.GetEncoding("ISO-8859-1"))
我需要指定另一种编码吗?
我正在尝试使用 StreamWriter 在缓存文件 (.txt) 中写入一个字符串。它正在工作,但是缓存文件中的字符串似乎与我要复制的字符串不同。我的输入字符串包含一个特殊字符'ƒ',写入缓存文件的输出字符串包含一个经典的'f'。我指定了一个编码:
var writer = new StreamWriter(stream, Encoding.GetEncoding("ISO-8859-1"))
我需要指定另一种编码吗?
该字符(带有 HOOK 的拉丁小写字母 F)没有出现在iso-8859-1中,所以是的,您需要不同的编码;可能是 utf-8。
只需使用 UTF-8 编码。它支持您的字符,并且如果大多数其他字符都在 ASCII 范围内,那么您的文件不会比使用 ISO-8859-1 编码的文件大,因为 UTF-8 编码仅使用 1 个字节对 ASCII 范围内的字符进行编码(如果这是一个问题)。这是来自维基百科的更多信息。
ISO-8859-1 编码没有该字符。
您应该始终使用Encoding.UTF8
.
您应该使用 UTF8 - ISO-8859-1 中没有所需的字符。