Ruby, XOR случайных байтов в двоичной строке - PullRequest
1 голос
/ 20 апреля 2011

У меня есть строка двоичных данных, и я хочу выбрать один символ, и ^ это 0xff. Есть ли простой способ сделать это? Например:

x = "test\223\434t"
r = rand(x.length)
c = x[r].unpack("H*") ^ 0xff # This doesnt work
# Re concat the string

1 Ответ

3 голосов
/ 20 апреля 2011
bytes = x.bytes.to_a
# => [116, 101, 115, 116, 147, 28, 116]
bytes[rand(bytes.length)] ^ 0xff
# => 139 
...