python学习DAY7(编码转码)

Unicode默认中英文为2个字节,16位
Unicode相当于编码的转码中介
ASCII不可存中文字符
utf-8(可变长):英文字符按照ASCII码
              中文字符三个字节
#打印系统默认编码
import sys
print(sys.getdefaultencoding())
-------------------------------------------
python2中:
#若UTF-8转为GBK 默认编码为unicode
则需要进行解码操作,先解成UNICODE(可显示中文),再编码为GBK
s="你好"
s_to_unicode=s.decode("utf-8")
s_to_GBK =s_to_unicode.encode("GBK")
----------
也可以这种写法
s=u"你好"
s_to_GBK=s.encode("gbk")
#unicode 和 uft-8之间都可以打印显示
--------------------------------------------
python3中:默认是utf-8,声明为utf-8
s="你好"
s_to_gbk=(s.encode("gbk"))      #utf-8转为gbk,注意,必须要用变量存储新转化,否则原s不变
s2=s.encode()                   #默认编码utf-8
print(s_to_gbk)
print(s2)
s_to_utf8=s_to_gbk.decode("gbk").encode("utf-8")   #gbk转为utf-8:先解码为unicode,再编码为utf-8
print(s_to_utf8)

#总之:转码进行需要先进行decode成unicode再encode成所要的编码格式
 注意!文件编码为utf-8,则需要声明为utf-8格式,其他编码做法类似
 文件编码与程序运行所用的编码不同,程序运行所用的编码是默认的unicode,如上面的s仍然为unicode
 所以开始就只有encode,因为程序已经是unicode了,不需要再解码成unicode
 解码需要写上需要解码的原编码格式
#总之,可以把程序的编译认为是unicode编码

原文地址:https://www.cnblogs.com/god-for-speed/p/11108009.html

时间: 2024-10-29 09:12:41

python学习DAY7(编码转码)的相关文章

python 学习笔记-----编码问题

1.python 最早支持的是ASCII编码. 所以对于普通的字符串"ABC"为ASCII编码的形式.字母和数字之间的转换函数为ord('字母')和chr(‘数字’)函数. ord(‘A’)  输出 65     chr(65)输出 ‘A’ 2.后来添加了Unicode编码: 形式:u‘...’     例如 u‘中文’   用print 输出则为:中文   直接输出为一串编码字符 3.Unicode和utf-8 之间的转换: a.Unicode转换为utf-8的形式:u‘...’.e

python学习日常-编码与字符串格式化

python编码也是遵循计算机技术的编码的,英文编码还是遵循ascii码,中文编码遵循gb2312,都遵循的是utf-8编码. 值得注意的是几个函数,ord("a"),是查询a的utf-8编码.chr("778"),是通过utf-8编码查询对应的字符,len("str")是查询字符串占多少位字节的相当于c#的length.还有就是不论什么样的编码最终存入计算机的磁盘时,都是按照byte(字节)来存储的.中文一般占3个字节,英语字符占1个字节. 格

Python学习-字符编码的理解

Unicode编码和ASCII码两者都是机器能够理解的编码,你就是说出现一个码,计算机知道它对应哪种符号.因为这种编码形式将不同的字符全都和电平的高低电位联系在一起. Unicode,这种编码是全球通用的编码,就是说所有计算机都包含的编码.包含 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节),这三种形式. 也就是说utf-8,就是一种Unicode的编码. utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间.

Python学习----字符集编码

1 ASCII码: American Standard Code for information inerchange 美国最初采用的二进制和字符的编码映射表 2 Gb2312, Gbk1.0, Gbk10830 中国最开始制定的编码表Gb2312,只包含简体字,后发现繁体字没有加进去,不断扩充,而出现了Gbk系列编码 3 unicode, utf-8 由于世界各国都制定本国的编码表,导致各国之间信息交流出现障碍,遂ISO组织出面制定全球统一的编码表,即unicode码,又称万国码. 万国码虽然

Python学习之编码

Python2默认解释器的编码:ascii: Python3默认解释器的编码:UTF-8 ascii码:只会识别英文字母.数字和标点.8位表示一个英文字符,1个字节 万国码Uicode:目前的所有语言文字,32位,4个字节 utf-8:压缩的万国码.16位,此编码中,3字节表示一个汉字 原文地址:https://www.cnblogs.com/fmfei/p/12074846.html

Python学习之——编码方式

1.各种编码方式 ASCII:http://zh.wikipedia.org/zh-hans/ASCII Unicode:http://zh.wikipedia.org/zh-hans/Unicode UTF-8:http://zh.wikipedia.org/zh/UTF-8 GBK:http://zh.wikipedia.org/zh/%E6%B1%89%E5%AD%97%E5%86%85%E7%A0%81%E6%89%A9%E5%B1%95%E8%A7%84%E8%8C%83 GB_231

python学习--day7 linux基础(5)

  第一部分: 一.nginx服务安装nginx包(源码安装)1.先cd /etc/yum.repos.d目录下2.yum install epel-release -y(安装扩展包)3.yum install nginx -y 4.rpm -qa nginx查看安装的nginx软件包或者rpm -ql nginx查看nginx里的全部文件     二.作为web服务修改配置文件 修改配置文件:vim /etc/nginx/nginx.conf  三.让配置生效,验证配置     第二部分 nf

Python学习day7文件操作

文本操作 # 读取utf-8编码数据,[转换]成unicode(str)编码的数据 # obj = open('D:\美女模特空姐护士联系方式.txt',encoding='utf-8',mode='r') # content = obj.read() # obj.close() # print(content,type(content)) # obj = open('D:\美女模特空姐护士联系方式.txt',mode='rb') # content = obj.read() # obj.clo

Python学习 day7 数据类型整理

数据类型整理 - int -bit_length 使用方法 用一个int型例如int后的n n.bit_length() - to_bytes,将数字转换成字节类型: 6表示用多少个人字节表示,little/big,用于指定生成字节的顺序 result = val.to_bytes(6,'little') print(result) - from_bytes,将字节转换成数字 result = b'\x02\x00\x00\x00\x00\x00' data = int.from_bytes(r