【问题标题】:Is there a way to tell if a unicode character is a control, alpha, numeric or symbolic?有没有办法判断 unicode 字符是控件、字母、数字还是符号?
【发布时间】:2010-01-02 19:37:49
【问题描述】:

假设你只有二进制数据并且没有预装函数,是否有一种模式或算法来对字符类型进行分类?

【问题讨论】:

    标签: string algorithm language-agnostic unicode character-properties


    【解决方案1】:

    您要求 API 告诉您。在 Java 中,您使用 Character 类。在 C++ 中,您可以使用 ICU。如果您的语言没有此功能,请从 unicode.org 下载属性数据库并将其合并。

    换句话说,没有模式或算法。 Unicode 联盟发布了包含这些信息的表格。

    【讨论】:

    • 好吧,这不是我希望听到的,但仍然是一个非常可行的解决方案。谢谢:)
    【解决方案2】:

    不,没有模式。您将需要创建一些查找表。 (好吧,我想你可以用 if​s 的迷宫来做到这一点,但这不会很好。)

    幸运的是,在大多数环境中 有一个预先设置好的 API 函数可以为您完成这项工作,因为构建字符类数据表非常无聊。

    【讨论】:

      【解决方案3】:

      我最近发布了我的 FOSS Unicode 转换器,我正在使用最新的 Unicode 字符数据库(附件 #44 - 包含 Unicode 5.2)

      在这个 (XML) 数据库中,您可以搜索您请求的字符(十六进制代码)并查看它是数字还是您想要的任何字符。

      您可以测试这个 atmy 项目,如果有用,您可以使用它的数据库

      http://unicode.codeplex.com 是项目的主存储库。您可以在那里查看代码或获取可执行文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-11
        • 2016-09-20
        • 2011-08-25
        • 2012-03-16
        • 2021-09-24
        • 1970-01-01
        • 2014-01-03
        • 1970-01-01
        相关资源
        最近更新 更多