【问题标题】:Printing Unicode code point to console using int intead of \uNNNN使用 int 而不是 \uNN 将 Unicode 代码点打印到控制台
【发布时间】:2009-09-14 21:40:57
【问题描述】:

抱歉,如果这是愚蠢的。如何使用整数打印 Unicode 字符,例如 \u20ac?所以,我想传递整数 8364,而不是 Console.WriteLine("\u20ac");。 谢谢。

【问题讨论】:

    标签: c# unicode


    【解决方案1】:

    只需将数字转换为代表 UTF-16 代码点的 char

    public static void PrintChar(int codePoint)
    {
        Console.WriteLine((char) codePoint);
    }
    
    PrintChar(8364);
    

    【讨论】:

    • 但是,刚刚查看了 char 的定义,它上升到 ffff,你如何为星界做同样的事情?
    • @Dervin:对于不在 BMP 中的字符,您需要使用代理对。
    • 对,这就是我正在做的事情(从头开始,我没有使用 .net 中的任何函数)。这就是为什么,假设我确实得到了正确的整数 𐍆,我该如何将其写入标准输出(字形不可用并不重要)?
    猜你喜欢
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    相关资源
    最近更新 更多