【问题标题】:How to check if all letters in UTF-8 string are ASCII?如何检查 UTF-8 字符串中的所有字母是否都是 ASCII?
【发布时间】:2014-02-07 12:08:34
【问题描述】:

如何检查所有字符串字符是否都是ASCII?伤心在documentation

Unicode 字符 U+0000 到 U+007F (ASCII) 被简单地编码为 字节 00h 到 7Fh(ASCII 兼容性)。这意味着文件和 仅包含 7 位 ASCII 字符的字符串具有相同的 在 ASCII 和 UTF-8 下编码。所有字符 >U+007F 是 编码为几个字节的序列,每个字节有两个最 有效位设置。

所以我想知道如何检查字符串是否为 ASCII?

【问题讨论】:

    标签: utf-8 ascii pascal


    【解决方案1】:

    如果字符串包含的所有字符都在 0-127 范围内,则该字符串为 ASCII。

    【讨论】:

      【解决方案2】:

      番石榴

      CharMatcher.ASCII.matchesAllOf(string);

      【讨论】:

      • 问题被标记为pascal,而不是Java
      【解决方案3】:

      一种简单的方法是检查字符串的字节长度是否等于 Unicode 字符(代码点)的数量。如果这些值被缓存,这甚至可能是最快的方式。

      【讨论】:

        猜你喜欢
        • 2014-01-01
        • 2016-07-18
        • 1970-01-01
        • 2012-10-09
        • 1970-01-01
        • 2018-09-03
        • 2013-08-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多