代码实例讲解python3的编码问题


Posted in Python onJuly 08, 2019

python3的编码问题。

打开python开发工具IDLE,新建‘codetest.py'文件,并写代码如下:

import sys

print (sys.getdefaultencoding())

代码实例讲解python3的编码问题

F5运行程序,打印出系统默认编码方式

代码实例讲解python3的编码问题

将字符串从str格式编码程bytes格式,修改代码如下:

import sys

print (sys.getdefaultencoding())

s = '你好'

print (type(s))

b = s.encode('utf-8')

print (type(b))

print (b)

 

其中b = s.encode('utf-8') 等同于b = s.encode() ,因为系统默认编码方式就是utf-8

代码实例讲解python3的编码问题

F5运行程序,打印出内容如下,中文必须用utf-8编码,因为ascii码表示不了所有汉字,这里暂时不介绍gbk编码,现在用得很少了,utf-8使用3个字节表示一个汉字,ascii使用一个字节表示一个英文字母或字符。

代码实例讲解python3的编码问题

解码就是从bytes变回str的过程,修改代码如下:

import sys

 

print (sys.getdefaultencoding())

s = '你好'

print (type(s))

b = s.encode('utf-8')

print (type(b))

print (b)

se = b.decode('utf-8')

print (se)

print (type(se))

 

代码实例讲解python3的编码问题

F5运行程序,打印内容如下图,bytes转回str

代码实例讲解python3的编码问题

utf-8编码兼容ascii,当既有中文又有英文时使用encode('utf-8'),英文还是占一个字节,中国三个字节,另外当py文件注释有中文时,需要在头部添加

#coding:utf-8

代码实例讲解python3的编码问题

Python 相关文章推荐
python实现封装得到virustotal扫描结果
Oct 05 Python
python自然语言编码转换模块codecs介绍
Apr 08 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
python用插值法绘制平滑曲线
Feb 19 Python
python 切换root 执行命令的方法
Jan 19 Python
python pytest进阶之conftest.py详解
Jun 27 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
Python  word实现读取及导出代码解析
Jul 09 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
python神经网络 使用Keras构建RNN训练
May 04 Python
Python参数类型以及常见的坑详解
Jul 08 #Python
python里运用私有属性和方法总结
Jul 08 #Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 #Python
python字符串查找函数的用法详解
Jul 08 #Python
python提取log文件内容并画出图表
Jul 08 #Python
Python OpenCV 使用滑动条来调整函数参数的方法
Jul 08 #Python
使用Python opencv实现视频与图片的相互转换
Jul 08 #Python
You might like
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
php 常用类整理
2009/12/23 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
原生js+ajax分页组件
2020/01/30 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python去除文件中重复的行实例
2018/06/29 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
2020/03/30 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
优秀食品类广告词
2014/03/19 职场文书
条幅标语大全
2014/06/20 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
师德师风剖析材料
2014/09/30 职场文书
优秀班组申报材料
2014/12/25 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang