【发布时间】:2021-02-14 23:48:18
【问题描述】:
我有以下字符串 -
"\xed\xad\x80\xed\xb1\x93"
当使用此字符串在 PostgreSQL 数据库中执行查询时,会引发以下错误 -
DataError: invalid byte sequence for encoding "UTF8": 0xed 0xad 0x80
在 python 2.7 中测试它时(在执行查询之前)它不会引发异常 -
Windows 测试 -
'\xed\xad\x80\xed\xb1\x93'.decode("utf-8")
u'\U000e0053'
Linux 测试-
'\xed\xad\x80\xed\xb1\x93'.decode("utf-8")
u'\udb40\udc53'
在python3中,它实际上引发了一个异常-
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation byte
如何在 python 2.7 中检查它不是 有效的 utf-8 字符串?
【问题讨论】:
标签: python string postgresql python-2.7 utf-8