代码实例讲解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 调用VC++的动态链接库(DLL)
Sep 06 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
Jul 02 Python
Python+django实现文件下载
Jan 17 Python
Python 模块EasyGui详细介绍
Feb 19 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
python实现狄克斯特拉算法
Jan 17 Python
python numpy存取文件的方式
Apr 01 Python
Pytest mark使用实例及原理解析
Feb 22 Python
Django之choices选项和富文本编辑器的使用详解
Apr 01 Python
pytorch 中nn.Dropout的使用说明
May 20 Python
python blinker 信号库
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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
php格式化json函数示例代码
2016/05/12 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python实现按行切分文本文件的方法
2016/04/18 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
巴西购物网站:Submarino
2020/01/19 全球购物
销售人员职业生涯规划范文
2014/03/01 职场文书
广告传媒专业应届生求职信
2014/03/01 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
廉洁校园实施方案
2014/05/25 职场文书
大型演出策划方案
2014/05/28 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
2016年十一促销广告语
2016/01/28 职场文书
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android