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

Convert SQL blob/bytea in dump to string in Python

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

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

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

并提供原文。

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

好的,按照你的例子,它的简单hex表示。

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