【问题标题】:How to check a String if it's an ASCII or not?如何检查字符串是否为 ASCII?
【发布时间】:2010-09-26 11:41:56
【问题描述】:

例如:

"ASCII".is_ascii? # => true

"تجربة".is_ascii? # => false

【问题讨论】:

    标签: ruby-on-rails-3 ruby-1.9


    【解决方案1】:

    有一个适合您的内置 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
    

    【讨论】:

      【解决方案2】:

      如果您的字符串是 Unicode(现在确实应该是),您可以简单地检查所有代码点是否为 127 或更少。 Unicode 的后 128 个码位是 ASCII。

      【讨论】:

        猜你喜欢
        • 2010-09-16
        • 2016-02-05
        • 2011-04-04
        • 2015-09-08
        • 2016-01-05
        • 2011-06-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多