我有一个函数将字符串转换为Unicode字符串:
private string UnicodeString(string text)
{
return Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(text));
}
Run Code Online (Sandbox Code Playgroud)
但是当我调用此函数时,输出结果是错误的.看起来我的功能不起作用.
Console.WriteLine(UnicodeString("????? ?????")) 在控制台上打印只是这样的问题: ????? ????
有没有办法说控制台显示它是正确的?
UPDATE
它似乎不是Unicode中的问题.我想也许它显示问号因为我在系统中没有正确的区域设置(Windows 7)?
有没有办法让它在不改变语言环境的情况下工作?
我在尝试从.txt文件中读取俄语字符时遇到问题.当我阅读它时,文本总是变得腐败.文件编码是UTF8.
这是代码:
TextReader reader = new StreamReader(deliveryLocation, Encoding.UTF8);
translatedContent = reader.ReadToEnd();
reader.Close();
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?我尝试使用所有支持的编码,但文本总是被破坏?
编辑:这是我需要从文件中读取的文本示例:
Оттаблицвышемысм.чонсервнойбанкытеньиWinRunnerбрать3pприблизительнотакоежевремянастраиватьизапускатьциклиспытаниявбудутнемногоNEOBXODIMOснимковэкрана.ГдеболеебольшойколичествоснимковэкранаNEOBXODIMO,времябранноедлятогочтобызапускатьтеньчемвремябранноедляписанияКодегоидлятогочтобывыполнятьоновWinRunner的.ПримечанияинженеравегоотчетечтоWinRunner的требовать3sсборкасредствапрограммированияподиспытаниемспециально,которнужноподготовитьработатьсим,тогдакактеньнеделает.КаждыйресурсвключеностраницадолжениметьимяШИЛА(ШИЛОбудетязыкомстержняклиентасобственническим).
谢谢
encoding utf-8 internationalization character-encoding c#-4.0