【问题标题】:Getting character from the Unicode code-point - C++从 Unicode 代码点获取字符 - C++
【发布时间】:2009-10-18 06:57:32
【问题描述】:

我有两个问题。

1 - 我得到了 Unicode 码点,我如何得到与这个码点相关的字符?比如:

int code_point = 0xD24;
char* chr = (char*) code_point;

但上述代码因抛出异常而失败。

2 - 假设代码点存储在文件中,我将代码点读取为字符串,如何将其转换为有效的 Unicode 字符串?

我正在寻找独立于平台的解决方案。任何帮助都会很棒!

【问题讨论】:

  • 你希望字符使用什么编码?
  • 任何有效的 Unicode 编码。可能是 UTF-8。
  • UTF-8 可能吗?你得知道。您需要查看的 code_points 甚至长度会因编码而异。见joelonsoftware.com/articles/Unicode.html

标签: c++ unicode


【解决方案1】:

您看过International Components for Unicode 项目吗?根据网站,

ICU 是一套成熟、广泛使用的 C/C++ 和 Java 库提供 Unicode 和全球化支持 软件应用程序。 ICU广泛 便携,并为应用程序提供 所有平台上的结果相同,并且 介于 C/C++ 和 Java 软件之间。

【讨论】:

    【解决方案2】:

    您的意思是将该值分配给 char(或更准确地说,分配给 wchar_t),而不是 char* 吗?

    【讨论】:

      【解决方案3】:

      你在寻找角色的名字吗? ICU 中的u_charName() 会执行此操作,返回类似LATIN SMALL LETTER A 的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-02
        • 2016-08-07
        • 1970-01-01
        • 2010-11-24
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        相关资源
        最近更新 更多