Spec-Zone.ru › SQLite

Текстовые кодировки

#define SQLITE_UTF8           1    /* IMP: R-37514-35566 */
#define SQLITE_UTF16LE        2    /* IMP: R-03371-37637 */
#define SQLITE_UTF16BE        3    /* IMP: R-51971-34154 */
#define SQLITE_UTF16          4    /* Use native byte order */
#define SQLITE_ANY            5    /* Deprecated */
#define SQLITE_UTF16_ALIGNED  8    /* sqlite3_create_collation only */
#define SQLITE_UTF8_ZT       16    /* Zero-terminated UTF8 */

Эти константы задают целочисленные коды, представляющие различные текстовые кодировки, поддерживаемые SQLite.

SQLITE_UTF8
Текст закодирован в UTF-8

SQLITE_UTF16LE
Текст закодирован в UTF-16, причём каждая кодовая точка представлена в порядке «от младшего байта к старшему» — сначала идёт наименее значимый байт. Это обычная кодировка, например, в Windows.

SQLITE_UTF16BE
Текст закодирован в UTF-16, причём каждая кодовая точка представлена в порядке «от старшего байта к младшему» — сначала идёт наиболее значимый байт. Эта кодировка встречается реже, но иногда используется, особенно в старых системах.

SQLITE_UTF16
Текст закодирован в UTF-16, причём каждая кодовая точка представлена либо в порядке от младшего байта к старшему, либо в порядке от старшего байта к младшему — в соответствии с порядком байтов, принятым на компьютере-хосте.

SQLITE_ANY
Это значение кодировки можно использовать только для объявления предпочтительной кодировки текста для определяемых приложением функций SQL, созданных с помощью sqlite3_create_function() и подобных функций. Если предпочтительная кодировка (4-й параметр sqlite3_create_function() — параметр eTextRep) имеет значение SQLITE_ANY, это означает, что функция не предъявляет требований к кодировке текста своих параметров и может принимать текст в любой кодировке, которую ядро SQLite сочтёт удобной. Этот параметр устарел. Не используйте его в новых приложениях.

SQLITE_UTF16_ALIGNED
Это значение кодировки можно использовать в качестве 3-го параметра (параметра eTextRep) для sqlite3_create_collation() и подобных функций. Оно означает, что определяемая приложением последовательность сортировки ожидает входные строки в UTF-16 с порядком байтов, принятым на компьютере-хосте, и что начало строк должно быть выровнено по границе в 2 байта.

SQLITE_UTF8_ZT
Этот параметр можно использовать только для указания кодировки текста строк, передаваемых в sqlite3_result_text64() и sqlite3_bind_text64(). Кодировка SQLITE_UTF8_ZT означает, что входная строка (назовём её «z») закодирована в UTF-8 и завершается нулевым байтом. Если параметр длины (назовём его «n») неотрицателен, этот параметр кодировки означает, что вызывающая сторона гарантирует наличие в массиве z как минимум n+1 байта и то, что байт z[n] равен нулю. Этот параметр обеспечивает тот же результат, что и SQLITE_UTF8, но в некоторых случаях может быть эффективнее, поскольку позволяет избежать копирования входной строки. Однако если для z выделено меньше n+1 байта или байт z[n] не равен нулю, поведение не определено.

См. также списки объектов, констант и функций.

SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_any.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API