小编Moo*_*awr的帖子

Python 3.4 hex到日文字符

我目前正在编写一个脚本来从我的网站上提取包含日文字符的信息.到目前为止,我有我的脚本从网站上提取数据.

它以字符串形式返回:

"\xe5\xb9\xb4\xe3\x81\xab\xe4\xb8\x80\xe5\xba\xa6\xe3\x81\xae\xe6\x99\xb4\xe3\x82\x8c\xe5\xa7\xbf" 
Run Code Online (Sandbox Code Playgroud)

使用在线十六进制到文本工具,我给:

年に一度の晴れ姿

我知道这句话是正确的,但我的问题是我如何在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)
Run Code Online (Sandbox Code Playgroud)

我这样说:

å¹´ã«ä¸åº¦ã®æ´ãå§¿
Run Code Online (Sandbox Code Playgroud)

我试过了

name.decode("hex")
Run Code Online (Sandbox Code Playgroud)

但似乎Python 3.4没有str.decode(),所以我尝试将其转换为字节对象并以这种方式解码,但仍然失败.

编辑1:

如果您不介意,请跟进问题:像解决方案一样,Martijn Pieters给出了这样的作品:

name = "\xe2\x80\x9c\xe5\xa4\x8f\xe7\xa5\xad\xe3\x82\x8a\xe3\x83\x87\xe3\x83\xbc\xe3\x8??3\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')) 
Run Code Online (Sandbox Code Playgroud)

但是,如果我在文件中的名称引号中有什么,我这样做:

with open('0N.txt',mode='r',encoding='utf-8') as f: 
    name = f.read() 
name = name.encode('latin1') 
print(name.decode('Utf-8')) 
Run Code Online (Sandbox Code Playgroud)

它不起作用......任何想法?

python unicode encoding python-3.4

3
推荐指数
1
解决办法
1126
查看次数

标签 统计

encoding ×1

python ×1

python-3.4 ×1

unicode ×1