我目前正在编写一个脚本,从我的网站上获取包含日语字符的信息。目前为止,我的脚本已经成功地从网站上提取了数据。
它以字符串形式返回:
"\xe5\xb9\xb4\xe3\x81\xab\xe4\xb8\x80\xe5\xba\xa6\xe3\x81\xae\xe6\x99\xb4\xe3\x82\x8c\xe5\xa7\xbf"
使用在线十六进制转文本工具,我得到的结果是:
年に一度の晴れ姿
我知道这个短语是正确的,但我的问题是如何在Python中进行转换?当我运行类似于以下代码的内容时:
name = "\xe5\xb9\xb4\xe3\x81\xab\xe4\xb8\x80\xe5\xba\xa6\xe3\x81\xae\xe6\x99\xb4\xe3\x82\x8c\xe5\xa7\xbf"
print(name)
我正在提供以下内容:
å¹´ã«ä¸åº¦ã®æ´ã姿
我尝试着去:
name.decode("hex")
但是似乎Python 3.4没有str.decode()这个函数,所以我尝试将其转换为bytes对象并以此解码,但仍然失败了。
编辑1:
如果您不介意,我还有一个跟进的问题:像Martijn Pieters提供的解决方案一样,这个解决方案有效:
name = "\xe2\x80\x9c\xe5\xa4\x8f\xe7\xa5\xad\xe3\x82\x8a\xe3\x83\x87\xe3\x83\xbc\xe3\x83\x88\xe2\x80\x9d\xe7\xb5\xa2\xe7\x80\xac \xe7\xb5\xb5\xe9\x87\x8c"
name = name.encode('latin1')
print(name.decode('Utf-8'))
然而,如果我在文件中有引号内的名称,并执行以下操作:
with open('0N.txt',mode='r',encoding='utf-8') as f:
name = f.read()
name = name.encode('latin1')
print(name.decode('Utf-8'))
它不起作用了...有什么想法吗?