我必须在c#中编写一个程序,它将一个十进制整数作为输入,并将其转换/编码为UTF8字符并输出。例如:
输入:960
输出:π如何将小数转换为任何UTF8字符?
我写了这么多的使用各种代码片段我在互联网上找到:
int dec;
dec = int.Parse(Console.ReadLine());
Console.OutputEncoding = Encoding.UTF8;
UTF8Encoding utf8 = new UTF8Encoding();
byte[] decBytes = new byte[sizeof(int)];
decBytes = BitConverter.GetBytes(dec);
String s = utf8.GetString(decBytes);
Console.WriteLine(s);
它正常工作与第一个127个符号(这是我假设ascii表)但与其他人,我得到问号框作为输出。
纠正我,如果我错了,但据我所知utf8.GetString
将numberBytes
中的每个单字节转换为ascii字符。不过,我需要将所有的字节转换为一个单一的utf8字符。
任何建议如何做到这一点?
问题听起来像默认控制台字体不支持字符> 127.请参阅 - http://stackoverflow.com/questions/20631634/changing-font-in-a-console-window-in-c-sharp – ChrisF