int sqlite3_value_encoding(sqlite3_value*);
sqlite3_value_encoding(X) 接口根据值 X 的当前文本编码返回 SQLITE_UTF8、SQLITE_UTF16BE 或 SQLITE_UTF16LE 之一,假设 X 的类型为 TEXT。如果 sqlite3_value_type(X) 返回的值不是 SQLITE_TEXT,则 sqlite3_value_encoding(X) 的返回值毫无意义。对 sqlite3_value_text(X)、sqlite3_value_text16(X)、sqlite3_value_text16be(X)、sqlite3_value_text16le(X)、sqlite3_value_bytes(X) 或 sqlite3_value_bytes16(X) 的调用可能会更改值 X 的编码,从而更改后续对 sqlite3_value_encoding(X) 的调用的返回值。
此例程旨在供测试和验证 SQLite 实现的应用程序使用。此例程正在查询 sqlite3_value 对象的不透明内部状态。普通应用程序不需要知道 sqlite3_value 对象的内部状态是什么,因此不需要使用此接口。