使用Ruby / Rails检索MySQL BLOB字段

时间:2012-07-06 20:30:23

标签: mysql ruby-on-rails ruby

我使用ActiveRecord::Base

进行简单的MySQL查询
sql = "SELECT * FROM schedules WHERE id = 1"
schedule = (ActiveRecord::Base.connection.select_rows sql)[0]

计划[9]是BLOB数据,但它会被检索为ruby String对象。这是正常的吗?如何在红宝石中表示BLOB个对象?来自Objective-C世界,BLOB数据通常由NSData个对象表示。 Ruby中有某种等价物吗?

2 个答案:

答案 0 :(得分:1)

ruby​​中的字符串只是一个任意字节序列 - 没有单独的数据类型。

字符串可以给出一个编码,告诉ruby在对它们进行各种操作时将字节解释为utf-8,utf-16,ISO-latin等但是还有ASCII-8bit编码(用词不当)这意味着任意字节。

答案 1 :(得分:0)

如果它不是模型中的序列化记录,那么Blob只不过是没有大小限制的字符串。字符串是Ruby中的基础“数据”对象。