python3编码问题_python3编码问题
Python3默认编码是unicode
而Python2是ASCII码
Windows环境默认是gbk编码
Python3 自动把文件编码转为unicode,Python2并不会自动的把文件编码转为unicode存在内存里。需要手动转码。
python3的执行过程: 解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,转成unicode
把代码字符串按照语法规则进行解释
所有的变量字符都会以unicode编码声明
UTF-8 --> decode 解码 --> Unicode
Unicode --> encode 编码 --> GBK / UTF-8 等 a = '编码' # a是unicode类型
b = a.encode('utf-8') # b是utf-8类型
c = a.encode('gbk') #c是gbk类型
print (a , b ,c)
print (type(a),type(b),type(c))
#python3默认是unicode类型
编码 b'\xe7\xbc\x96\xe7\xa0\x81' b'\xb1\xe0\xc2\xeb'
Decode的作用是将其他编码的字符串转换成unicode编码
如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。
Encode的作用是将unicode编码转换成其他编码的字符串,
如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。
已经知道在python3中,输出的时候,会把str/Unicode 变成utf8的编码;来看一下环境中的输出编码是什么: import sys
sys.stdout.encoding
在最新的python 3版本中,字符串的类型是str, 在内存中都是以Unicode表示,一个字符对应若干个字节;
如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如: >>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。
python3编码问题_python3编码问题相关推荐
- python3编码声明_python3编码问题汇总
这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题....希望大家不吝赐教! 我用的是python3,错误在对html response的decode时抛出,代码原样为: ...
- python3设置编码格式_python3编码调整
python2默认的编码是ascii,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式.import sys reload(sys) s ...
- python3编码转换_Python3编码转换
没有什么编码是不能转的import hashlib import base64 # string to md5 input_text = "我能吞下玻璃而不伤身体" md5_str ...
- python3文件的编码类型是什么_Python3编码类型有哪些?怎么转换?
经过小伙伴们的提醒,小编发现编码方面少讲了一个基础知识,所以有的小伙伴对这方面的内容比较模糊,这就让小编有点尴尬了.收到大家的催促,小编马上就整理出了编码类型的资料,内容方面都是经过精简的,便于小伙伴 ...
- python3中默认的字符编码和文件编码_python3 unicod,utf-8,gbk的编码和解码中文显示问题...
目的: 清楚了解为什么在python3不同的编码,解码,windows,linux操作系统下,字符是否能够正确显示. 前提: 了解不同编码用不同的二级制编码和长度来表示字符. 在python3中,各种 ...
- python3默认编码标准是_python3 编码
编码方式 将明文编码成密文需要按照一定的编码方式,编码方式多种多样,分别对应于不同的字符集. ASCII 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称 ...
- python3 x默认使用的编码_Python3编码问题(Python2请忽略)
一.python程序编辑界面和运行界面通常都是默认unicode编码字符串的,编辑界面则是ascii编码的,也就是程序语句是用ascii编码的.但最困扰编程小白的不在这里,请看二. 二.python的 ...
- python mysql 编码方式,Python3编码与mysql编码介绍
Python3自诩解决了编码问题,但还是有一系列的坑.本文就记录下前几天遇到的python3编码问题.mysql编码问题附带介绍. python3 json串的编码 针对于包含中文的字典,如果想要正常 ...
- python3默认的代码编码是什么-Python3 到底什么是字符编码
我之前老是有这种感觉, 就是明明已经看过很多关于字符编码的资料了, 感觉字符编码相关的知识点不难理解, 觉得自己已经把字符编码给弄懂了, 但当别人问我到底什么是字符编码, Unicode是什么啊, U ...
最新文章
- 事半功倍系列 javascript
- Freemarker问答:
- vue在微信里面的兼容问题_vuejs在安卓系统下微信X5内核这个兼容性问题如何破?...
- ubuntu的Unity功能安装
- 【Python爬虫学习实践】基于BeautifulSoup的网站解析及数据可视化
- asp.net mvc 2 DisplayTemplates 的使用
- CSS进阶(4)—— 温和padding中的诡异CSS现象
- 【优化预测】基于matlab贝叶斯网络优化LSTM预测【含Matlab源码 1158期】
- 《算法的乐趣》终于出版了
- 为什么要学习Linux内核,如何学习?
- 在linux上删除文件夹,在Linux系统下删除文件夹
- 修改Linux中发送邮件中附件大小的限制
- 第三代大数据处理方案Flink
- configure详解
- Android 10 和Android 11 适配采坑 实践篇
- mc服务器怎么传送到我位置,我的世界联机怎么传送到队友身边_我的世界联机怎么传送到队友位置哪里身边手机版_攻略...
- Picked up _JAVA_OPTIONS: -Xmx900M”
- 需求到系统上线经历了什么
- 数据仓库-基础知识(维度建模)
- 在ubuntu中进行简单截屏、专业截屏、自定义截屏操作
热门文章
- 第三次学JAVA再学不好就吃翔(part96)--异常
- 《犯罪心理学》读书笔记(part9)--犯罪心理的主观差异(下)
- Python基础语法:数据类型、进制转换、转义字符、字符编码、整数与浮点数运算规则、布尔型运算规则
- SAP 电商云 UI 服务器端渲染的建议架构
- 如何使用代码的方式删除 SAP CRM 订单 Text 数据
- SAP CRM系统UI checkbox的设计与实现
- rxjs switchMap的实现原理
- Java和SAP ABAP的异常处理
- SAP AMDP介绍 - ABAP托管的HANA数据库过程
- Arrays.asList()返回的ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList类