示例:
"Заполни профиль"
我尝试
var latinString = "Заполни профиль"; // år
Encoding latinEncoding = Encoding.GetEncoding("iso-8859-1");
Encoding utf8Encoding = Encoding.GetEncoding("WINDOWS-1252");
byte[] latinBytes = latinEncoding.GetBytes(latinString);
byte[] utf8Bytes = Encoding.Convert(latinEncoding, utf8Encoding, latinBytes);
var utf8String = Encoding.UTF8.GetString(utf8Bytes);
但它不起作用:
�?�?�?ил�?
这是俄语文本,帮助plz
似乎latinString
是Win-1252编码中的UTF-8字符串。让我们将其返回到UTF-8:
// Uncomment in case of .Net Core or .Net 5
// Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var latinString = "Заполни профиль";
string result = Encoding.UTF8.GetString(
Encoding.GetEncoding(1252).GetBytes(latinString));
// Let's have a look
Console.Write(result);
结果:
Заполни профиль