実際のところ
create table blobtest(body BLOB);
16進数でのの保存はBlob literalにて認識させます。
公式によると
BLOB literals are string literals containing hexadecimal data and preceded by a single "x" or "X" character. Example: X'53514C697465'
とあるので、
INSERT INTO blobtest VALUES (x'deadbeef');
試しに
SELECT body FROM blobtest ; --- ?ޭ��
試しにコマンドラインから読みだしてhexdumpに喰わせると、ちゃんと16進数で格納されている事が確認できます。
$ sqlite3 base.sqlite3 "SELECT body FROM blobtest" | hexdump 0000000 adde efbe 000a 0000005