例如:
"ASCII".is_ascii? # => true
"تجربة".is_ascii? # => false
答案 0 :(得分:49)
有一个内置的Ruby字符串方法适合你。
str.ascii_only? → true or false
对于只包含ASCII字符的字符串,返回true。
"abc".force_encoding("UTF-8").ascii_only? #=> true
"abc\u{6666}".force_encoding("UTF-8").ascii_only? #=> false
答案 1 :(得分:6)
如果您的字符串是Unicode(并且他们真的应该,现在),您只需检查所有代码点是否为127或更少。 Unicode的底部128个代码点是ASCII。