我只是试图翻转一个角色的位.我可以把它变成二进制形式,但是当用0xff测量数据时,似乎没有给我我想要的东西.
bin = "a".unpack("b*")[0].to_i # Will give me the binary value (10000110)
flip = bin ^ 0xff # this will give me 9999889, expecting (01111001)
Run Code Online (Sandbox Code Playgroud)
最后,我想把它重新打包为"角色"......
任何帮助,将不胜感激.
你需要告诉Ruby解压缩的字符串是二进制的:
bin = "a".unpack("b*")[0].to_i(2) # => 134
flip = bin ^ 0xff # => 121
flip.to_s(2) # => "1111001"
[flip.to_s(2)].pack("b*") # => "O"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2225 次 |
| 最近记录: |