Python2 的编码问题:
程序员文章站
2022-05-10 19:28:38
...
1."\u6768\u777f"
比如这样一个字符串"\u6768\u777f",无论怎么print它都是这个形式因为它是文本,不是编码,那么怎么转为中文呢,则需要用如下命令:
print text.decode(‘unicode_escape’)
2. \xe6\x9d\xa8"
就代表着一个字 ,对于这些字符,只需要使用如下命令即可从文本转为编码字符串
print text.decode(‘string_escape’)
3.将"\\“替换为”\"
一般在提取json中会用到,例如下面的s
s='\\u90ae\\u8d44\\u5c01\\u7247'
str="\\".join(s.split('\\')).decode('unicode_escape').decode('unicode_escape')
print(str)
-->> '邮资封片'
4.python2写入文件
for i in cate_list:
# {'url': 'list.html?cat=13887,13931', 'cate_name': '\\u90ae\\u8d44\\u5c01\\u7247'}
a = json.dumps(i)
a = "\\".join(a.split('\\')).decode("unicode_escape")
a=a.decode("unicode_escape")
print(a)
try:
with open("jdong2.txt", "a") as f:
# f.write(a.decode("unicode_escape").encode("utf8")+'\n')
f.write(a.encode("utf8")+'\n')
except Exception as e:
print(e)
5.‘ascii’ codec can’t encode character u’\uff08’
in position 9: ordinal not in range(128)
即使你设置了# -- coding:utf-8 --,写入中文的时候还是出现的这个问题,我的解决是这样的
import sys
reload(sys)
sys.setdefaultencoding('utf8')
如果还是有问题,查看下,字符串里面是不是有\uff08这样的字符串,换用decode(‘latin1’)
上一篇: js中ajax请求的两种方式介绍
下一篇: PyQT5在pyCharm上的设置方法