【发布时间】:2016-11-23 16:28:43
【问题描述】:
我尝试读取包含 Unicode 文本的日志文件,但无法打印韩语单词的编码字符串。我会知道出了什么问题?
代码如下:
# -*- coding: utf-8 -*-
import yaml
path = "./mylog.log"
mylog = open( path, "r")
for i in mylog:
message = i.split("app[web.1]:")[1]
message = yaml.load(message) # text -> dict
print message
mytext = message["u'content'"]
print mytext.encode('utf-8')
print isinstance(mytext, unicode)
代码结果如下:
{"u'content'": "u'\\uc131\\uacfc'", "u'type'": "u'text'", "u'user_key'": "u'ADAgPNQ04'"}
u'\uc131\uacfc'
错误
{"u'content'": "u'\\uc131\\uacfc'", "u'type'": "u'text'", "u'user_key'": "u'ADAgPNQ04'"}
u'\uc131\uacfc
' 假的
我的文字似乎没有被识别为 Unicode,
如果我在 Python 控制台中运行类似的代码,我会得到正确的结果:
In[1]: text = u'\uc131\uacfc'
In[2]: print text
성과 #一个韩语单词
mylog.log:
2016-11-22T07:35:30.197270+00:00 app[web.1]: {u'content': u'\uc131\uacfc', u'user_key': u'ADAgPNQ04', u'type': u'text'}
2016-11-22T09:55:09.994257+00:00 app[web.1]: {u'content': u'\uc131\uacfc', u'user_key': u'ADAgPNQ04', u'type': u'text'}
【问题讨论】:
标签: python-2.7