我正在编写一个python脚本,从现有的编码数据库中提取数据,并使数据可读
现在我想从数据库中检索数据,但数据字段的类型错误:它应该是BLOB,但实际上是文本
UPD:我知道使用ord()
可以让它工作,但我想知道这是否是个好主意。我更喜欢把它们当作一团来读
import sqlite3
dbName = 'db'
def decode(data):
key = b'111111111111'
n = len(data)
ret = bytearray(n)
for i in range(0, n):
ret[i] = data[i]^key[i%len(key)]
return ret.decode('utf-8')
db = sqlite3.connect(dbName)
cur = db.cursor()
print(dbName + ' connected')
with open('friends', 'r') as f:
for friend in f:
ret = cur.execute('select frienduin from ' + friend)
for row in ret:
frienduin = decode(row[0])
Traceback (most recent call last):
File "sqlsol.py", line 23, in <module>
frienduin = decode(row[0])
File "sqlsol.py", line 10, in decode
ret[i] = data[i]^key[i%len(key)]
TypeError: unsupported operand type(s) for ^: 'str' and 'int'
由于
data
是str
类型,可能正在尝试可能有用
相关问题 更多 >
编程相关推荐