将转储中的SQL blob / bytea转换为Python中的字符串

时间:2018-01-09 16:57:18

标签: python postgresql character-encoding bytea

我有一个表的pg_dump,其中包含bytea类型的列。它是一个长字符串,如:\\x4e696365206d7573696361...

通常在SQL中我会使用一个简单的:

SELECT user_id,
       encode(text_column::bytea, 'escape')
FROM posts
LIMIT 10

这提供了原始文本。

如何在Python中转换它?我一直在尝试.encode / .decode / base64encode等,但没有运气。

1 个答案:

答案 0 :(得分:1)

好的,在您的示例后面是简单的hex表示。

>>> '\\x48414e44203330'.lstrip('\\x').decode('hex')
'HAND 30'