新手问题 求助 关于二进制字符串的匹配问题

lilijreey · August 30, 2020 · Last by lilijreey replied at September 03, 2020 · 1176 hits
a=[1,2,3,1,2]
pa = a.pack("C*") 
b=pa[0,2]
b == "\x01\x02" # false why?

为何 返回 false

jasl@jasl-mbp:~$ irb --version
irb 1.2.3 (2020-02-15)
jasl@jasl-mbp:~$ irb
2.7.1 :001 > a=[1,2,3,1,2]
2.7.1 :002 > pa = a.pack("C*")
2.7.1 :003 > b=pa[0,2]
2.7.1 :004 > b == "\x01\x02"
 => true

可能你用了盗版 Ruby?

Reply to jasl

可能是个 BUG “\0x1\0x2" 被识别为普通的字符,没有转义

@lilijreey\x01\x02, 不是 \0x1\0x2, 0 跟 x 的位置反了

You need to Sign in before reply, if you don't have an account, please Sign up first.