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编码问题相关推荐

  1. python3编码声明_python3编码问题汇总

    这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题....希望大家不吝赐教! 我用的是python3,错误在对html response的decode时抛出,代码原样为: ...

  2. python3设置编码格式_python3编码调整

    python2默认的编码是ascii,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式.import sys reload(sys) s ...

  3. python3编码转换_Python3编码转换

    没有什么编码是不能转的import hashlib import base64 # string to md5 input_text = "我能吞下玻璃而不伤身体" md5_str ...

  4. python3文件的编码类型是什么_Python3编码类型有哪些?怎么转换?

    经过小伙伴们的提醒,小编发现编码方面少讲了一个基础知识,所以有的小伙伴对这方面的内容比较模糊,这就让小编有点尴尬了.收到大家的催促,小编马上就整理出了编码类型的资料,内容方面都是经过精简的,便于小伙伴 ...

  5. python3中默认的字符编码和文件编码_python3 unicod,utf-8,gbk的编码和解码中文显示问题...

    目的: 清楚了解为什么在python3不同的编码,解码,windows,linux操作系统下,字符是否能够正确显示. 前提: 了解不同编码用不同的二级制编码和长度来表示字符. 在python3中,各种 ...

  6. python3默认编码标准是_python3 编码

    编码方式 将明文编码成密文需要按照一定的编码方式,编码方式多种多样,分别对应于不同的字符集. ASCII 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称 ...

  7. python3 x默认使用的编码_Python3编码问题(Python2请忽略)

    一.python程序编辑界面和运行界面通常都是默认unicode编码字符串的,编辑界面则是ascii编码的,也就是程序语句是用ascii编码的.但最困扰编程小白的不在这里,请看二. 二.python的 ...

  8. python mysql 编码方式,Python3编码与mysql编码介绍

    Python3自诩解决了编码问题,但还是有一系列的坑.本文就记录下前几天遇到的python3编码问题.mysql编码问题附带介绍. python3 json串的编码 针对于包含中文的字典,如果想要正常 ...

  9. python3默认的代码编码是什么-Python3 到底什么是字符编码

    我之前老是有这种感觉, 就是明明已经看过很多关于字符编码的资料了, 感觉字符编码相关的知识点不难理解, 觉得自己已经把字符编码给弄懂了, 但当别人问我到底什么是字符编码, Unicode是什么啊, U ...

最新文章

  1. 事半功倍系列 javascript
  2. Freemarker问答:
  3. vue在微信里面的兼容问题_vuejs在安卓系统下微信X5内核这个兼容性问题如何破?...
  4. ubuntu的Unity功能安装
  5. 【Python爬虫学习实践】基于BeautifulSoup的网站解析及数据可视化
  6. asp.net mvc 2 DisplayTemplates 的使用
  7. CSS进阶(4)—— 温和padding中的诡异CSS现象
  8. 【优化预测】基于matlab贝叶斯网络优化LSTM预测【含Matlab源码 1158期】
  9. 《算法的乐趣》终于出版了
  10. 为什么要学习Linux内核,如何学习?
  11. 在linux上删除文件夹,在Linux系统下删除文件夹
  12. 修改Linux中发送邮件中附件大小的限制
  13. 第三代大数据处理方案Flink
  14. configure详解
  15. Android 10 和Android 11 适配采坑 实践篇
  16. mc服务器怎么传送到我位置,我的世界联机怎么传送到队友身边_我的世界联机怎么传送到队友位置哪里身边手机版_攻略...
  17. Picked up _JAVA_OPTIONS: -Xmx900M”
  18. 需求到系统上线经历了什么
  19. 数据仓库-基础知识(维度建模)
  20. 在ubuntu中进行简单截屏、专业截屏、自定义截屏操作

热门文章

  1. 第三次学JAVA再学不好就吃翔(part96)--异常
  2. 《犯罪心理学》读书笔记(part9)--犯罪心理的主观差异(下)
  3. Python基础语法:数据类型、进制转换、转义字符、字符编码、整数与浮点数运算规则、布尔型运算规则
  4. SAP 电商云 UI 服务器端渲染的建议架构
  5. 如何使用代码的方式删除 SAP CRM 订单 Text 数据
  6. SAP CRM系统UI checkbox的设计与实现
  7. rxjs switchMap的实现原理
  8. Java和SAP ABAP的异常处理
  9. SAP AMDP介绍 - ABAP托管的HANA数据库过程
  10. Arrays.asList()返回的ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList类