运行此代码我发现并非所有char值(从0到65534)都对应一个符号。这很严格吗?或者我要做一些不同的事情来展示与'square'不同的符号?
谢谢大家!
private void Form1_Load(object sender, EventArgs e)
{
char x = Char.MinValue;
do
{
listBox1.Items.Add(x + " - " + (int)x);
x++;
} while ((int)x < (int)Char.MaxValue);
}
答案 0 :(得分:2)
这是正常的。字符显示为正方形至少有三种可能的解释:
控件使用的字体可能不支持某些字符。
并非所有Unicode代码点都是assigned。
保留代码点。 Unicode标准的任何代码点,保留供将来分配。也称为未分配的代码点。 (参见第3.4节“字符和编码”中的定义D15,以及第2.4节“代码点和字符”。)
答案 1 :(得分:0)
值得检查您的应用程序可用的字体,并使用Unicode code charts交叉引用您要显示(或期望)的内容。