What is the exact sequence of calls? If you call sqlite3_column_text() on a blob value, the new type will be text and a subsequent call to sqlite_column_text16() must by definition perform transcoding.
-----Urspr?ngliche Nachricht----- Von: sqlite-users-bounces at mailinglists.sqlite.org [mailto:sqlite-users-bounces at mailinglists.sqlite.org] Im Auftrag von Michael Kaufmann Gesendet: Donnerstag, 17. Dezember 2015 10:41 An: sqlite-users at mailinglists.sqlite.org Betreff: [sqlite] Missing documentation about BLOB encoding conversions Hi, I expected that BLOB data is returned unchanged by sqlite3_column_blob(), sqlite3_column_text() and sqlite3_column_text16(). The documentation at https://www.sqlite.org/c3ref/column_blob.html says: "Type conversions and pointer invalidations might occur in the following cases: ... The initial content is a BLOB and sqlite3_column_text() or sqlite3_column_text16() is called. A zero-terminator might need to be added to the string." I have found out that SQLite does more than just adding a zero terminator. It seems that BLOBs are converted from UTF-8 to UTF-16 when sqlite3_column_text16() is called. This is quite unexpected, and it would be nice if the rules for BLOB encodings and BLOB encoding conversions were pointed out in the documentation. Regards, Michael _______________________________________________ sqlite-users mailing list sqlite-users at mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ___________________________________________ Gunter Hick Software Engineer Scientific Games International GmbH FN 157284 a, HG Wien Klitschgasse 2-4, A-1130 Vienna, Austria Tel: +43 1 80100 0 E-Mail: hick at scigames.at This communication (including any attachments) is intended for the use of the intended recipient(s) only and may contain information that is confidential, privileged or legally protected. Any unauthorized use or dissemination of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender by return e-mail message and delete all copies of the original communication. Thank you for your cooperation.