Sim*_*tsa 51

有一个bult-in 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
Run Code Online (Sandbox Code Playgroud)


pax*_*blo 6

如果您的字符串是Unicode(现在它们确实应该是这样),您只需检查所有代码点是否为127或更少.Unicode的底部128个代码点是ASCII.