Предпочитаемый тип данных SQLite для межплатформенных путей к файлам? - PullRequest
0 голосов
/ 02 апреля 2020

Вначале я использовал VARCHAR, по крайней мере, пока не обнаружил, что он предположительно не поддерживает Unicode, по этой причине я затем переключился на NVARCHAR. Однако я столкнулся с необходимостью вставки недопустимых данных Unicode в базу данных (исходя из того факта, что на Linux пути являются произвольными байтами и, следовательно, могут содержать испорченные данные Unicode).

Так что теперь мне нужно переключиться тип данных снова, но я нахожусь в тупике на возможностях. После просмотра документов SQLite; ниже приводится «только небольшое подмножество имен типов данных, которые будет принимать SQLite»:

  • CHARACTER
  • VARCHAR
  • VARYING CHARACTER
  • NCHAR
  • NATIVE CHARACTER
  • NVARCHAR
  • TEXT
  • CLOB

Мне известна возможность сохранения путей к файлам с BLOB, но некорректно хранить текстовые данные в большинстве случаев как BLOB.

Есть ли предпочтительный тип данных / idiomati c SQL для этого использования? -case: текст, поддерживающий Юникод большую часть времени ?

Если возможно, этот тип данных должен прозрачно преобразовываться в Python str тип данных с surrogateescapes (surrogateescapes - это Python способ по-прежнему иметь возможность представлять ошибочные пути к файлам с помощью str).

Я не смог найти помощь для этого варианта использования, прибегая к помощи Google, поэтому я буду признателен любому помощь или указатели здесь!

...