【发布时间】:2010-09-08 09:31:16
【问题描述】:
AFAIK SQLite 在 Python 中返回 TEXT 的 unicode 对象。是否可以让 SQLite 改为返回字符串对象?
【问题讨论】:
标签: python string sqlite unicode
AFAIK SQLite 在 Python 中返回 TEXT 的 unicode 对象。是否可以让 SQLite 改为返回字符串对象?
【问题讨论】:
标签: python string sqlite unicode
在进一步检查 Python SQLite API 时,我发现了这一点:
http://docs.python.org/library/sqlite3.html#sqlite3.Connection.text_factory
结案。
【讨论】:
TEXT 用于存储文本。如果要存储字节,请使用 BLOB。
【讨论】:
str 转换,因为它看起来很难看,有时我无法确定我要转换的数据类型。
str()s 不 存储字符,它们存储字节。当然,可以将字符串表示为字节数组,但要做到这一点,您需要一种编码(输入端和输出端都需要使用相同的编码,否则会出现不对齐的丑陋行为); Python 2.x str 不知道需要使用哪种编码来解释它以获取实际字符而不是从中获取字节,这使得它们对于存储实际文本字符串确实不是最佳的。
使用 Python 3.2+。它将自动返回字符串而不是 unicode(如在 Python 2.7 中)
【讨论】: