Не используйте eval
, это опасно. Вместо этого используйте ast.literal_eval
и затем декодируйте в строку, как @Amadan говорит:
import ast
s = r"b'1f\xe6\xb5\x8b\xe7\xbb\x98'"
res = ast.literal_eval(s).decode()
print(res) # --> '1f测绘'
Как сказано в комментариях, мой s
на самом деле имеет repr
, который выглядит как "b'1f\\xe6\\xb5\\x8b\\xe7\\xbb\\x98'"
. Не могли бы вы подтвердить, как выглядят ваши print(repr(your_string))
и print(your_string)
?