我有一个将字符串转换为 Unicode 字符串的函数:
private string UnicodeString(string text)
{
return Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(text));
}
但是当我调用这个函数时,输出结果是错误的。看来我的功能不起作用。
Console.WriteLine(UnicodeString("добры дзень"))
在控制台上打印只是这样的问题:????? ????
有没有办法让控制台显示正确?
UPDATE
看起来问题不在 Unicode 中。我认为它显示问号可能是因为我的系统 (Windows 7) 中没有正确的区域设置?
有没有办法让它在不改变语言环境的情况下工作?
首先,将输出编码更改为UTF8:
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("добры дзень");
现在您仍然会看到问号。原因是,默认控制台的字体不支持西里尔字母。更改控制台的字体:
如果幸运的话,您应该找到一种支持 Unicode 的不同字体:
更改字体,您应该能够看到您的文本:
在一般情况下,如果您想可靠地显示所有 Unicode 字符,控制台可能不适合您。也可以看看:C# 控制台字体(评论也很有趣)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)