文档章节

python 编码问题记录

NLGBZJ
 NLGBZJ
发布于 2015/10/08 18:19
字数 297
阅读 287
收藏 5

1,AttributeError: 'str' object has no attribute 'decode',:

decode              encode

bytes ------> str(unicode)------>bytes

decode的目标要死bytes!

2,UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb7 in position 0: invalid start byte

常看到这种:\xb7\xfb\xe5\xab

>>> a='符瀚'

>>> a.encode('gb2312')

b'\xb7\xfb\xe5\xab'

>>> a.encode('utf-8')

b'\xe7\xac\xa6\xe7\x80\x9a'

由此可见utf-8和gb2312来编译中文的时候都是类似"\x"开头。

这个错误就是使用编码解码不对,可以尝试用gb2312来解码。

3."\u65e0\u6cd5\u901a\u8fc7\u626b\u7801\u627e\u5230“

SyntaxError: EOL while scanning string literal引号错误中文的……

这种是unicode格式,win下不知道为啥不正常了,正常转为为 b = a.encode('utf-8').decode('utf-8')就可以了


发现一个检查编码的包:

hardet实例
>>> import urllib
>>> rawdata = urllib.urlopen('http://www.google.cn/').read()
>>> import chardet
>>> chardet.detect(rawdata)
{'confidence': 0.98999999999999999, 'encoding': 'GB2312'}
>>>chardet可以直接用detect函数来检测所给字符的编码。函数返回值为字典,有2个元数,一个是检测的可信度,另外一个就是检测到的编码。 


>>> import winsound

>>> s='\u674e\u6587\u660a'

>>> s

'\\u674e\\u6587\\u660a'

>>> s.decode('unicode-escape')

u'\u674e\u6587\u660a'

>>> print s.decode('unicode-escape')

李文昊

>>>


© 著作权归作者所有

NLGBZJ
粉丝 10
博文 120
码字总数 27104
作品 0
广州
私信 提问
关于Python的几个过坑指南(MySQL-python、tornado)

最近碰到的Python项目中,需要安装MySQL-python依赖,并且项目使用tornado,以下是记录在其中碰到的坑。 0x01 tornado在render渲染html页面时报错 访问页面时服务器响应500,查看错误日志,提...

日生三金
2018/08/09
0
0
Python str() 引发的 UnicodeEncodeError

起因 众所周知,Python 2 中的 UnicodeEncodeError 与 UnicodeDecodeError 是比较棘手的问题,有时候遇到这类问题的发生,总是一头雾水,感觉莫名其妙。甚至,《Fluent Python》的作者还提出...

浮生若梦的编程
2018/10/30
0
0
使用python一步一步搭建微信公众平台(二)----搭建一个中英互译的翻译工具

距离上次写使用python一步一步搭建微信公众平台(一)已经有几个月了,当中自已也搭建了一个中英文互译的小应用,可是由于英文翻中文好弄,中文翻译成英文一直有问题,知道是编码的问题,但是...

Kevin_Yang
2014/01/19
23.3K
39
四行Python代码就能知道你那的天气,你敢信? - 知乎

今天给大家带来的Python实战项目是四行Python代码获取所在城市的天气预报,我们隐隐听到唏嘘声,不信四行Python代码可以获取是吗?那我们一起来看看: 使用Python获取天气预报,想想是件很简单...

Python头条
昨天
0
0
学习python处理python编码问题

一、几种常见的编码格式。 1.1、ascii,用1个字节表示。 1.2、UTF-8,用1个至三个字节表示,表示ascii码时只占用1个字节,ascii编码是UTF-8的子集。 1.3、UTF-16,用2个字节表示,在python中,...

shao
2012/08/22
166
0

没有更多内容

加载失败,请刷新页面

加载更多

编程作业20190210900169

1编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。 #include <stdio.h>#include <stdlib.h> int main(){ char firstName[20]; char lastName[20]; print......

1李嘉焘1
26分钟前
5
0
补码的优点及原理分析

只讨论整数 1.计算机内部为什么没有减法器? 减法运算本身其实就是加法,如x - y即x +(-y),所以只需要将负数成功表示出来并可以参加加法运算,那加法器就可同时实现“+”和“-”的运算。这...

清自以敬
41分钟前
66
0
Docker 可视化管理 portainer

官网安装指南: https://portainer.readthedocs.io/en/latest/deployment.html docker-compose.yml 位置,下载地址:https://downloads.portainer.io/docker-compose.yml...

Moks角木
今天
7
0
Spring Security 实战干货:必须掌握的一些内置 Filter

1. 前言 上一文我们使用 Spring Security 实现了各种登录聚合的场面。其中我们是通过在 UsernamePasswordAuthenticationFilter 之前一个自定义的过滤器实现的。我怎么知道自定义过滤器要加在...

码农小胖哥
今天
9
0
常见分布式事务解决方案

1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源...

asdf08442a
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部