尝试使用ASCII表构建字符串。我本来希望将黑色正方形定位在219位,但遇到字符U
。为什么?
static void Main(string[] args)
{
string d = "";
d += (char)219;
Console.WriteLine(d);
Console.ReadLine();
}
答案 0 :(得分:2)
(char)219;
不会转换为ASCII
。
如果要将数字设为ASCII
,可以尝试使用Encoding.ASCII.GetString
来获取ASCII
的值。
Encoding.ASCII.GetString(new byte[]{127});
注意
Encoding.ASCII
不提供错误检测。大于127的任何字节都会被解码为Unicode问号?
。
答案 1 :(得分:2)
ASCII是7位编码,既不包含黑色正方形,也不包含值为219的字符(ASCII最高值为127)。 要获得黑色正方形,可以使用Unicode文字:
d += (char)'\u25A0';
有关Unicode字符,请参见https://unicode-table.com/en/search/?q=black+square;有关Unicode文字语法,请参见https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/char。