代码实例讲解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解析xml模块封装代码
Feb 07 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
浅析Git版本控制器使用
Dec 10 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
pymysql 开启调试模式的实现
Sep 24 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
python实现控制台输出彩色字体
Apr 05 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
python 实现"神经衰弱"翻牌游戏
Nov 09 Python
Selenium浏览器自动化如何上传文件
Apr 06 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
php验证码的制作思路和实现方法
2015/11/12 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
jQuery中:gt选择器用法实例
2014/12/29 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
Python内置函数的用法实例教程
2014/09/08 Python
Python re模块介绍
2014/11/30 Python
Python3写入文件常用方法实例分析
2015/05/22 Python
python通过文件头判断文件类型
2015/10/30 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
预备党员政审材料
2014/02/04 职场文书
大学三年计划书范文
2014/04/30 职场文书
信息工作经验交流材料
2014/05/28 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
基于Go语言构建RESTful API服务
2021/07/25 Golang
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL