【问题标题】:ASCII value of character in RubyRuby中字符的ASCII值
【发布时间】:2011-07-08 00:18:15
【问题描述】:

如何在 Ruby 1.9 中获取字符的 ASCII 值?

我在互联网上进行了广泛搜索,但没有成功。 我试过 ?x 和 "x"[0],但它们返回的只是 "x"。

【问题讨论】:

  • “我在网上搜索了很多地方,但没有成功。”。唔。 search engines 一定度过了糟糕的一天。
  • @the Tin Man:也许 OP 不知道“序数”这个词。
  • @Andrew Grimm - 叹息......现在我知道我在生活中的位置了。我为别人找东西。

标签: ruby ascii character


【解决方案1】:

String#ord 方法可以解决问题:

ruby-1.9.2-p136 > 'x'.ord
 => 120 
ruby-1.9.2-p136 > '0'.ord
 => 48 
ruby-1.9.2-p136 > ' '.ord
 => 32 

【讨论】:

    【解决方案2】:

    你也可以使用

    ruby-2.0.0p353 > "x".sum
    => 120
    
    ruby-2.0.0p353 > "a string".sum
    => 792 
    

    'sum' 方法会找到所有字符代码的总和,但如果你只输入一个字符,它只会给你那个字符的代码。

    【讨论】:

    • 似乎 .ord 需要正确的 UTF-8 但 .sum 并不关心。
    • 0.ord 将起作用,返回 0,即 ascii 值。但是,0.sum 不会,它会返回未定义的 Fixnum 方法。
    • 这不会为 Unicode 字符提供正确的结果:"€".ord => 8364,而 "€".sum => 528
    【解决方案3】:
    猜你喜欢
    • 2011-03-29
    • 1970-01-01
    • 2010-11-19
    • 2015-04-26
    • 2021-12-28
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多