mongodb儲存二進位制資料

2021-08-18 17:50:19 字數 720 閱讀 5432

mongodb 3.x儲存二進位制資料並不是以base64的方式,雖然在mongo客戶端的查詢結果以base64方式顯示,請放心使用。下面來分析儲存檔案的儲存內容。base64編碼資料會增長1/3成為顧慮。

首先看mongo的c-driver對binary型別資料的相關定義。注意下面提到了js,要清楚官方提供給我們的mongo-client是使用js語言的。

下面我將會儲存一張,的hexdump如下面

向mongo插入資料後,用mongo-client查詢顯示如下,我們的資料顯示為base64內容,但是不要慌,這是js語言下的顯示,並不是實際底層儲存。

最後我們看這條記錄的物理儲存

結論,mongodb其實是以二進位制的方式儲存binary資料。base64編碼資料會增長1/3的顧慮可以免除。

逆向深入objc,c++ windows下仿objc動畫層ui引擎

MySQL儲存二進位制資料

晚上小研究了下mysql儲存於讀取二進位制資料的功能。關鍵步驟為以下三點 最重要的一點 儲存二進位制資料的表的型別需要是blob型別 按長度不同分為tiny,media,long 插入二進位制資料時需要利用mysql real escape string函式對資料進行轉換 從資料庫中讀取二進位制資料...

C MySQL儲存二進位制資料

0x01 首先mysql支援二進位制的型別有blob mysql的四種blob型別 型別 大小 單位 位元組 tinyblob 最大 255 blob 最大 65k mediumblob 最大 16m longblob 最大 4g 0x02 插入二進位制資料時需要利用mysql real escap...

mysql 儲存二進位制資料

晚上小研究了下mysql儲存於讀取二進位制資料的功能。關鍵步驟為以下三點 最重要的一點 儲存二進位制資料的表的型別需要是blob型別 按長度不同分為tiny,media,long 插入二進位制資料時需要利用mysql real escape string函式對資料進行轉換 從資料庫中讀取二進位制資料...