【问题标题】:Xor of string in ruby红宝石中字符串的异或
【发布时间】:2010-09-25 19:51:02
【问题描述】:

我有一个字符串,假设是“123|ABC|test|12345|FF”,我想对每个字符的 ascii 值进行异或运算并以十六进制打印结果。

最简单的方法是什么?

【问题讨论】:

    标签: ruby xor


    【解决方案1】:

    找到了……

    lrc = 0
    input.each_byte do | c |
        lrc ^= c
    end
    hexVal = lrc.to_s(16)
    

    【讨论】:

      【解决方案2】:

      在 Ruby 1.8.7 或 1.9.1 中:

      input.bytes.inject { |a,b| a ^ b }.to_s(16)
      

      【讨论】:

        猜你喜欢
        • 2010-11-29
        • 1970-01-01
        • 2014-02-11
        • 2011-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-09
        相关资源
        最近更新 更多