我有一个这样的文件:
\u9515\u7691\u853c\u788d\u7231
\u9515\u7691\u853c\u788d\u7231
\u9515\u7691\u853c\u788d\u7231
现在我想读取这个文件来打印字符串,我这样做:
with open(fi, "rb") as fi:
print(fi.readline().strip().decode("utf-8"))
但我发现它仍然打印
\u9515\u7691\u853c\u788d\u7231
我怎样才能得到真正的字符串:
锕皑蔼碍爱
答案 0 :(得分:3)
您可以使用unicode-escape
line = "\\u9515\\u7691\\u853c\\u788d\\u7231"
print line.decode("unicode-escape")
答案 1 :(得分:0)
您的解码功能会将您的数据视为常规字符串。尝试这样做:
with open(fi, "rb") as fi:
data = fi.readline().strip()
encode_data = data.encode("utf-8")
print(encode_data.decode("utf-8")
答案 2 :(得分:0)
或者,由于这是一个Python转义字符串,您可以使用<div id="blue-column"></div>
:
ast.literal_eval
按预期给出:
line = r"\u9515\u7691\u853c\u788d\u7231"
print(ast.literal_eval('u"' + line + '"')