Отлично, я рад, что это могло помочь! И спасибо, что принесли свое решение Java!

аружил случайную серию байтов, вставленных в любое поле BLOB-объектов при работе с базой данных через Adobe AIR. (из моих результатов это, кажется, всегда начинается сбайты [12, ...] но я в этом не уверен)

Я думаю, что это sizeinfo байтов, позвольте мне объяснить, как я пришел к такому выводу.

Сначала мой контекст: я манипулирую базами данных sqlite через Adobe AIR (на стороне клиента) и System.data.sqlite (на стороне сервера C #)

С System.data.sqlite, если я читаю Sqlite db, заполненный BLOB от Adobe AIR, мне нужно проверить эти байты, добавленные в начале AIR, а затем у меня все двоичные данные в правильной форме. ИДЕАЛЬНЫЙ!

С Adobe AIR, если я попытался прочитать базу данных sqlite, заполненную BLOB с помощью System.data.Sqlite, данные повреждены, я получаю ошибку! Очевидно, потому что у меня нет пропущенных байтов, исследованных AIR.

Конечно, я попытался добавить эти байты, просто скопировав серию из 3 байтов, которые я удалил в моем первом случае, но затем он вернул данные частично, а в случае изображений последние строки пикселей стали серыми, а на некоторых изображениях, которые у меня были, более или менее серые линии. Поскольку данные соответствовали серии изображений одинакового размера ~ 4k, и я добавил 3 байта из одного из них, и у меня был такой результат.

И Air также иногда выдает эту ошибку:

Ошибка: Ошибка № 2030: обнаружен конец файла.

Очевидно, что эти байты дают информацию о размере, но я не понимаю, как это происходит!?!

Я попытался добавить байтовый массив длиной 4 КБ, он имеет тенденцию добавлять 3 байта, но я попытался добавить 4 МБ, и он достигает 5 байтов.

Я нашел этот вопросКак конвертировать 3 байта в 24-битное число в C #? и я подумал, что это может быть, как информация о размере хранится.

Но я все еще не понимаю ...

Ответы на вопрос(2)

Ваш ответ на вопрос