2012-07-06 53 views
0

檢索的MySQL BLOB字段我讓使用ActiveRecord::Base用的Ruby/Rails

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

這個簡單的MySQL查詢它發生時間表[9]是BLOB數據,但它被檢索爲紅寶石String對象。這是正常的嗎?在Ruby中如何表示BLOB對象?來自Objective-C世界,BLOB數據通常由NSData對象表示。 Ruby中是否有某種等價物?

+0

schedule.class顯示什麼?字符串也許? – thisfeller 2012-07-06 20:54:51

+0

@thisfeller'schedule'是一個'Array'對象 – samvermette 2012-07-06 20:57:40

+0

如果可以,使用'p schedule'並直觀地檢查數組。一個字節數組,也許? – thisfeller 2012-07-06 21:05:14

回答

1

ruby​​中的字符串只是一個任意字節序列 - 沒有單獨的數據類型。

字符串可以被賦予一個編碼,它告訴ruby在對它們進行各種操作時將字節解釋爲utf-8,utf-16,ISO-latin等,但也有ASCII-8位編碼(位錯的位)這只是意味着任意字節。

0

如果它不是模型中的序列化記錄,那麼Blob就是一個沒有大小限制的字符串。字符串是Ruby中的基礎「數據」對象。