Mysql2:如何正确读取位列?

时间:2014-08-18 18:27:47

标签: ruby mysql2

默认情况下,Mysql2将位列读取为字符串。

我的架构:

enter image description here

在Ruby中:

enter image description here

如何将它们作为字节读取?

2 个答案:

答案 0 :(得分:1)

在Mysql库中可能有更好的方法来处理它,但根据我的经验,字符串是Ruby处理二进制数据的方式。二进制文件阅读器方法也做同样的事情。

查看#unpack方法。你可以这样做:

[16] pry(main)> bytes = "\x00\x01\x02"
=> "\u0000\u0001\u0002"
[17] pry(main)> bytes.unpack('C*')
=> [0, 1, 2]

答案 1 :(得分:0)

我希望Mysql2默认将该位转换为字节。但截至目前它并没有这样做(我使用的是0.3.16)。我最终做的是自己将其转换为字节:

row[:can_sell].bytes => [0]