0

我使用这个简单的 MySQL 查询ActiveRecord::Base

sql = "SELECT * FROM schedules WHERE id = 1"
schedule = (ActiveRecord::Base.connection.select_rows sql)[0]

碰巧 schedule[9] 是BLOB数据,但它被检索为 rubyString​​ 对象。这正常吗?BLOBRuby 中的对象是如何表示的?来自 Objective-C 世界的BLOB数据通常由NSData对象表示。Ruby中有某种等价物吗?

4

2 回答 2

1

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

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

于 2012-07-06T21:18:32.457 回答
0

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

于 2012-07-06T21:02:53.870 回答