比较二进制字符串时出错

时间:2018-02-05 18:52:07

标签: ruby-on-rails ruby rspec binary

我有以下问题破坏了我的rspec测试套件:

irb
2.4.1 :001 > "a\x01\x00\x00\x00l\xFF\xFF\xFF\xFF\a\x00\x00\x00"
=> "a\u0001\u0000\u0000\u0000l\xFF\xFF\xFF\xFF\a\u0000\u0000\u0000"
2.4.1 :002 > "a\x01\x00\x00\x00l\xFF\xFF\xFF\xFF\a\x00\x00\x00" == "a\u0001\u0000\u0000\u0000l\xFF\xFF\xFF\xFF\a\u0000\u0000\u0000"
=> true

为什么这个比较会返回false,因为它们是相同的字符串?

1)Angle :: Net :: DataBuilder方法#private:data_to_bin转换[2 ** 51 -1]      失败/错误:期待(回答)。到eq" a \ x01 \ x00 \ x00 \ x00l \ xFF \ xFF \ xFF \ xFF \ a \ x00 \ x00 \ x00"

   expected: "a\u0001\u0000\u0000\u0000l\xFF\xFF\xFF\xFF\a\u0000\u0000\u0000"
        got: "a\x01\x00\x00\x00l\xFF\xFF\xFF\xFF\a\x00\x00\x00"

1 个答案:

答案 0 :(得分:2)

更改sting文字的定义以强制进行编码PHP $_SERVER['...']

也许您也可以String#b