如何检查UTF-8字符串中的所有字母是否为ASCII?

时间:2014-02-07 12:08:34

标签: utf-8 ascii pascal

如何检查所有字符串字符是否为ASCII?在documentation中很遗憾:

  

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

番石榴

CharMatcher.ASCII.matchesAllOf(字符串);

答案 2 :(得分:0)

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