python3字符集之间--encode与decode之间的转码详解
encode是编码,里面传入的参数是需要转成的字符集,
decode是解码,里面传入的参数是本身的字符集,用本身的字符集解码为unicode字符集再转码
字符集之间的爱恨纠缠
# -*- coding: utf-8 -*-
'''
Python3 默认编码为unicode
'''
#输出默认编码
import sys
print(sys.getdefaultencoding()) #文件编码为utf-8
s = '你好'
#把s转换为gbk编码
s_to_gbk = s.encode("gbk")
print(s_to_gbk)
#输出结果为bytes类型--b'\xc4\xe3\xba\xc3' #再把此时的gbk转换成utf-8
s_to_utf8 = s_to_gbk.decode("gbk").encode("utf-8")
print(s_to_utf8)
#输出结果为bytes类型--b'\xe4\xbd\xa0\xe5\xa5\xbd' #再把此时的utf-8转换成gb2312
s_to_gb2312 = s_to_utf8.decode("utf-8").encode("gb2312")
print(s_to_gb2312)
#输出结果为byts类型--b'\xc4\xe3\xba\xc3',因为gb2312字符集归属于gbk字符集,所以转换结果bytes相同 #把gbk转换为gb2312
s_to_gbk_gb2312 = s_to_gbk.decode("gbk").encode("gb2312")
print(s_to_gbk_gb2312)
#输出结果为byts类型--b'\xc4\xe3\xba\xc3' '''
encode是编码,里面传入的参数是需要转成的字符集,
decode是解码,里面传入的参数是本身的字符集,用本身的字符集解码为unicode字符集再转码
总结:python3基于unicode编码,若文件头声明为utf-8只是以utf-8字符集显示,基本的还是unicode
当使用unicode转换为utf-8时直接encode("utf-8")就可以了,
同理若使用unicode转换为gbk时直接encode("gbk")就可以了,
若使用utf-8转换成gbk则需要先解码decode("utf-8").encode("gbk")再编码为gbk
若使用utf-8转换成gb2312则需要先解码decode("utf-8").encode("gb2312")再编码为gb2312
若使用gbk转换成utf-8则需要先解码decode("gbk").encode("utf-8")再编码为utf-8
若使用gbk转换成gb2312则需要先解码decode("gbk").encode("gb2312")再编码为gb2312
gb2312同理...
'''
python3字符集之间--encode与decode之间的转码详解的更多相关文章
- python2和python3的编码encode解码decode函数
python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8: 常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...
- Vue路由实现之通过URL中的hash(#号)来实现不同页面之间的切换(图表展示、案例分析、附源码详解)
前言 本篇随笔主要写了Vue框架中路由的基本概念.路由对象属性.vue-router插件的基本使用效果展示.案例分析.原理图解.附源码地址获取. 作为自己对Vue路由进行页面跳转效果知识的总结与笔记. ...
- Python3中真真假假True、False、None等含义详解
概述 在Python中,不仅仅和类C一样的真假类似,比如1代表真,0代表假.Python中的真假有着更加广阔的含义范围,Python会把所有的空数据结构视为假,比如[](空列表).{}(空集合).'' ...
- 在python3 encode和decode 的使用
说这个问题之前必须的介绍关于编码的在我们这的发展: 首先电脑能识别的最初的语言是二进制 ---010101这种 然后在是我们知道的ASSIC码 再过了就是 gb2312----------->g ...
- python3.3 unicode(encode&decode)
最近在用python写多语言的一个插件时,涉及到python3.x中的unicode和编码操作,本文就是针对编码问题研究的汇总,目前已开源至github.以下内容来自项目中的README. 1 ASC ...
- python3的encode()和decode()
python3的encode()和decode() 在python3的内存中. 在程序运行阶段. 使⽤用的是unicode编码. 因为unicode是万国码. 什么内容都可以进行显示. 那么在数据传输 ...
- python3编码(encode,decode)
python3默认编码为unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节码,字节码通过解码成为字符串 encode:str --> bytes d ...
- (十一)python3 encode()和decode()
从英文意思上看,encode和decode分别指编码和解码.在python中,Unicode类型是作为编码的基础类型,即: decode encode str ---------> str(Un ...
- python encode和decode函数说明【转载】
python encode和decode函数说明 字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在p ...
随机推荐
- np.frombuffer()
numpy.frombuffer numpy.frombuffer(buffer, dtype=float, count=-1, offset=0) Interpret a buffer as a 1 ...
- 使用ASP.NET AJAX 从脚本中调用Web 服务的应用方法
技能点:通过编写WebService,在页面js中调用WebService来进行数据查询. 网站开发,有些时候需要使用js在页面动态生成一些内容,但还有些数据要通过查询数据库才能获取的. 但由于诸如主 ...
- [leetcode]199. Binary Tree Right Side View二叉树右侧视角
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...
- 提交代码到远程GIT仓库,代码自动同步到远程服务器上。
现在一般都会通过github,gitlab,gitee来管理我们的代码.我们希望只要我本地push了代码,远程服务器能自动拉取git仓库的代码,进行同步. 这就需要用到各仓库为我们提供的webhook ...
- linux下memcache安装
安装配置 1. 安装libevent # tar zxf libevent-1.4.6-stable.tar.gz # cd libevent-1.4.6-stable # ./configure # ...
- HDU_5688
/* 度熊所居住的 D 国,是一个完全尊重人权的国度.以至于这个国家的所有人命名自己的名字都非常奇怪.一个人的名字由若干个字符组成,同样的,这些字符的全排列的结果中的每一个字符串,也都是这个人的名字. ...
- 编译安装bluez5.44
1.下载 2. configure 提示需要glib 3.yum install glib 4.还是提示glib 5.yum install glib-devel 下载编译glib make inst ...
- sci-hub 下载地址更新
# 2017-12-14 可用 http://www.sci-hub.tw/ 文献共享平台
- 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台
GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...
- 2018.09.02 bzoj1003: [ZJOI2006]物流运输(dp+最短路转移)
传送门 dp好题. 每一天要变更路线一定还是走最短路. 所以l~r天不变更路线的最优方案就是把l~r天所有不能走的点都删掉再求最短路.显然是可以dp的. 设f[i]表示第i天的最优花销.那么我们枚举在 ...