day03-字符编码与转换
1、编码常识
- 在python 2中默认编码是 ASCII,而在python 3中默认编码是 unicode
- unicode 分为utf-32 (占4个字节),utf-16(占两个字节),utf-8(占1-4个字节),所以utf-16 是最常用的unicode版本,但是在文件里存的还是utf-8,因为utf8省空间
- 在python 3,encode编码的同时会把stringl变成bytes类型,decode解码的同时会把bytes类型变成string类型
- 在unicode编码中 1个中文字符=2个字节,1个英文字符 = 1个字节,切记:ASCII是不能存中文字符的
- utf-8是可变长字符编码,它是unicode的优化,所有的英文字符依然按ASCII形式存储,所有的中文字符统一是3个字节
- unicode包含了所有国家的字符编码,不同字符编码之间的转换都需要经过unicode的过程
- python本身的默认编码是utf-8
在Python2.X中,默认编码是ASCII
#-*- encoding:utf-8 -*-
import sys
print(sys.getdefaultencoding()) #打印当前默认编码
s = '你好!!!'
s_to_unicode = s.decode('utf-8') #需要指定编码方式为utf-8(否则会使用默认编码)
print(s_to_unicode) #此时可以打印中文
2、Python2.x utf-8转换成gbk格式
1 #-*- encoding:utf-8 -*- 2 s = '你好!!!' 3 s_to_unicode = s.decode('utf-8') #需要指定编码方式为utf-8(否则会使用默认编码) 4 s_to_gbk = s_to_unicode.encode('gbk') 5 合成一句 6 #s_to_gbk = s.decode('utf-8').encode('gbk') 7 print(s_to_gbk)
3、Python2.x gbk转换成utf-8格式
1 #-*- encoding:utf-8 -*- #属于文件编码 2 s = '你好!!!' #默认编码也是utf-8 3 s_to_gbk = s.decode('utf-8').encode('gbk') 4 gbk_to_utf-8 = s_to_gbk.decode(‘gbk’).encode(‘utf-8’) 5 print(gbk_to_utf-8)
4、Python3.x unicode转换成gbk,gbk再转换成utf-8,utf-8转换成unicode
1 s = '你好' #python3 默认是unicode 2 3 s_gbk = s.encode("gbk") #将unicode转换成gbk 4 5 print(s_gbk) 6 print(s.encode())#默认解码成utf-8 7 8 gbk_to_utf8 = s_gbk.decode('gbk').encode('utf-8') 9 print(gbk_to_utf8) 10 11 utf8_to_unicode=gbk_to_utf8.decode('utf-8') 12 print(utf8_to_unicode) 13 14 输出结果: 15 utf-8 16 b'\xc4\xe3\xba\xc3' #encode会将结果变成二进制编码 17 b'\xe4\xbd\xa0\xe5\xa5\xbd'18 b'\xe4\xbd\xa0\xe5\xa5\xbd'
你好 #decode会将结果变成字符
转载于:https://www.cnblogs.com/Study-Blog/p/6580861.html
day03-字符编码与转换相关推荐
- 彝文计算机,试论计算机彝文字符编码的转换.pdf
试论计算机彝文字符编码的转换.pdf 第17卷 第1期 云南民族大学学报(自然科学版) V01.17 No.1 2008年1月 Journal of Yunnan Nationalities Univ ...
- EBCDIC 与 GBK 的字符编码及其转换(转)
概览 有些用户在使用 AIX 时在字符编码方面遇到一些困惑,请看下面的场景: 1,用户用从 AIX 利用 FTP 客户端登录上 IBM i,切换到某个 Library/File,然后 get 其中的某 ...
- C++中字符编码的转换(Unicode、UTF-8、ANSI)
C++的项目,字符编码是一个大坑,不同平台之间的编码往往不一样,如果不同编码格式用一套字符读取格式读取就会出现乱码.因此,一般都是转化成UTF-8这种平台通用,且支持性很好的编码格式. Unicode ...
- Linux 命令之 iconv -- 转换文件的字符编码
文章目录 一.命令介绍 二.命令语法 三.常用选项 四.命令示例 (一)对指定文件进行转码,且输出到指定的文件中 一.命令介绍 iconv 命令是 Linux 系统自带的用于转换文件编码的命令行工具, ...
- day03_20170514_字符编码/文件存储/函数(一)
第一节:字符编码 一.在会字符编码之前必须要了解的东西: 1.文本编辑器存取文件的原理(nodepad++,pycharm,word) 文本编辑器在存储的时候是怎样的一个过程?----编辑文字,第一件 ...
- python 字符编码
一.计算机简单说明 # 计算机的主要组成部分:cpu, 内存, 硬盘 # cpu :中央处理器,所有的操作都需要cpu完成 # 内存:运行数据的存储地址,关机数据即丢失 # 硬盘 :用于数据存储,关机 ...
- 编码互换变量c语言,【剑仙教程】TC。字符 和字符编码 互换。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 TC.字符和字符编码的转换. 关键字:怎样取一个汉字的unicode码. 怎样取一个字母或者数字的ascii码. 怎样随机输出7000汉字.中文标点. 怎 ...
- php 转码iconv,PHP iconv()函数转字符编码的问题(转)
在php函数库有一个函数:iconv(),iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库. 最 近在做一个小偷程序,需要用到iconv函数把抓取来过的utf-8编码的页 ...
- 【转】刨根究底字符编码【2.0版】(3):字符编码的由来、演变与ASCII码
为什么需要字符编码 1. 计算机一开始发明出来时是用来解决数字计算问题的,后来人们发现,计算机还可以做更多的事,例如文本处理. 但计算机其实挺"笨"的,它只"认识&quo ...
- 【转】刨根究底字符编码之三——字符编码的由来
字符编码的由来 一.为什么需要对字符进行编码 1. 计算机一开始发明出来时是用来解决数字计算问题的,后来人们发现,计算机还可以做更多的事,例如文本处理. 但计算机其实挺"笨"的,它 ...
最新文章
- 机器学习中的数学基础(4.1):支持向量机Support Vector Machine(SVM)
- 【模型解读】浅析RNN到LSTM
- 【Matlab】怎么判断两个字符串相等?
- 扎心!互联网行业的神回复
- SSM实现定时任务的两种方式
- mysql connector net 6.9.3_MySQL Connector/Net 6.9.3 发布 MySQL Connector/Net 6.9.3下载
- Python3.5(十三)迭代器生成器
- NO Scala sdk module
- smith圆图重要性_smith圆图的理解
- 数字图像处理 离散余弦变换(DCT)和峰值信噪比(PSNR)
- 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题
- 养兔子c语言sdut,SDUT 养兔子
- Android studio显示百度地图及闪退问题的解决
- VMware虚拟机安装macos Big Sur 11.1.0 (20C69)镜像CDR/ISO下载
- html仿b站页面代码,B站首页界面设计:附详细教程
- 什么是 Python Launcher?
- 雨滴特效源码html,js雨滴特效
- Jmeter之集合点与关联
- Python字典推导式
- 基于STM32蓝牙智能手环脉搏心率计步器体温显示设计