红宝石中字符串的异或

Posted

技术标签:

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

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

最简单的方法是什么?

【问题讨论】:

【参考方案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)

【讨论】:

以上是关于红宝石中字符串的异或的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式中的异或

两个十六进制字节数组的异或函数

字符串训练之三

LeetCode1738. 找出第 K 大的异或坐标值(快排堆排序)/ 剑指 Offer 48. 最长不含重复字符的子字符串 / 剑指 Offer 49. 丑数

数据结构trie树

C++中异或的使用例题?