用c#写一个带有特殊字符的字符串

本文关键字:特殊字符 字符串 一个 | 更新日期: 2023-09-27 18:10:16

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

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

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

用c#写一个带有特殊字符的字符串

这个字符(拉丁小写字母F WITH HOOK)没有出现在iso-8859-1中,所以是的,你需要一个不同的编码;可能utf - 8 .

直接使用UTF-8编码。它支持您的字符,如果大多数其他字符都在ASCII范围内,那么您的文件将不会比使用ISO-8859-1编码进行编码时大,因为UTF-8编码仅使用1字节来编码ASCII范围内的字符(如果需要考虑的话)。以下是维基百科的更多信息

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

始终使用Encoding.UTF8

您应该使用UTF8 -所需字符在ISO-8859-1中不可用