Encoding.GetEncoding("Cyrillic") 在 .NET 中制作所有文本问号
Encoding.GetEncoding("Cyrillic") making all text question marks in .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);
}
为什么 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);
}