Encoding.GetEncoding( "Cyrillic" ) 在 .NET 中制作所有文本问号



为什么用下面的方法将txt𝗜𝗡𝗗𝗢𝗢𝗥 𝗦𝗢𝗙𝗧𝗕𝗔𝗟𝗟 𝗧𝗢𝗨𝗥𝗡𝗔𝗠𝗘𝗡𝗧 𝗗𝗜𝗔𝗠𝗢𝗡𝗗 𝗝𝗔𝗫𝗫 𝗔𝗡𝗗 𝗛𝗜𝗧𝗭转换为txt?

????????

我相信这以前没有发生过,但我只是看到它在做。我使用的是.NET 4.8。

public static string RemoveAccent(this string txt)
{
if(txt == null)
return txt;
byte[] bytes = Encoding.GetEncoding("Cyrillic").GetBytes(txt);
return Encoding.ASCII.GetString(bytes);
}

文本采用某种Unicode编码,以及为什么它的行为与以前的ASCII编码文本不同。所以我在GetEncoding之前做了下面的操作,现在它可以工作了。

if(!txt.IsNormalized(NormalizationForm.FormKD))
{
txt= txt.Normalize(NormalizationForm.FormKD);
}

相关内容

  • 没有找到相关文章

最新更新