Я использую интерфейс sqlite3 C.После прочтения документа в https://www.sqlite.org/c3ref/bind_blob.html я полностью запутался.
В чем разница между sqlite3_bind_text, sqlite3_bind_text16 и sqlite3_bind_text64?
В документе только описано, что sqlite3_bind_text64 может принимать параметр кодировки, включая параметрSQLITE_UTF8, SQLITE_UTF16, SQLITE_UTF16BE или SQLITE_UTF16LE.
Так что, исходя из параметров, передаваемых в эти функции, я предполагаю, что:
sqlite3_bind_text для символов ANSI, char * sqlite3_bind_text16 для UFсимволов sqlite3_bind_text64 для различных кодировок, упомянутых выше.
Это правильно?
Еще один вопрос:
В документе сказано «Если четвертый параметрЕсли sqlite3_bind_text () или sqlite3_bind_text16 () отрицательны, то длина строки равна числу байтов до первого нулевого ограничителя. "Но там не сказано, что будет с sqlite3_bind_text64.Изначально я думал, что это опечатка.Однако, когда я передаю -1 в качестве четвертого параметра в sqlite3_bind_text64, я всегда получаю ошибку SQLITE_TOOBIG, которая заставляет меня думать, что они намеренно удаляют sqlite3_bind_text64 из вышеприведенного оператора.Это правильно?
Спасибо