我正在尝试使用StreamWriter在缓存文件(.txt)中编写一个字符串。它正在工作但缓存文件中的字符串似乎与我想要复制的字符串不同。 我的输入字符串包含一个特殊字符'ƒ',写在缓存文件中的输出字符串包含一个经典的'f'。 我指定了一个编码:
var writer = new StreamWriter(stream, Encoding.GetEncoding("ISO-8859-1"))
我是否需要指定其他编码?
答案 0 :(得分:4)
该字符(LATIN SMALL LETTER F WITH HOOK)未显示在iso-8859-1中,所以是的,您需要不同的编码;可能是utf-8。
答案 1 :(得分:2)
只需使用UTF-8编码即可。您的角色受其支持,如果大多数其他角色都在ASCII范围内,那么您的文件将不会大于使用ISO-8859-1编码编码的文件,因为UTF-8编码仅使用1个字节编码ASCII范围内的字符(如果这是一个问题)。 Here's more info from Wikipedia
答案 2 :(得分:1)
ISO-8859-1编码没有该字符。
您应始终使用Encoding.UTF8
。
答案 3 :(得分:0)
您应该使用UTF8 - ISO-8859-1中没有所需的字符。