python 字符编码及转码

python 默认编码
  • python 2.X 默认的字符编码是ASCII, 默认的文件编码也是ASCII
  • python 3.X 默认的字符编码是unicode,默认的文件编码也是unicode
  • 注意:unicode和utf-8之间可以不需要转换,可以直接互相答应,GBK如果需要和utf-8之间进行转换一定要通过unicode

首先说说python中二进制,八进制,十进制,十六进制之间的转换

--------------------------------------------------------------
# 十进制
print(100)  #结果:100
--------------------------------------------------------------
# 十进制转二进
print(bin(100))
# 结果:0b1100100  0b表示二进制  1100100表示二进制的100
--------------------------------------------------------------
# 十进制转八进制
print(oct(100))
# 结果:0o144  0o表示八进制  144表示八进制的100
--------------------------------------------------------------
# 十进制转16进制
print(hex(100))
# 结果:0x64  0x表示十六进制  64表示16进制的100
--------------------------------------------------------------

ASCII: 占一个字节,英文字母及数字,基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,通用的单字符编码系统
Unicode(万国码): 两个字节,计算机上使用的字符编码
UTP-8(可变长的编码): 对Unicode编码的进行了压缩和优化

python3.x中,默认内存为Unicode编码
  • 字符串转字节:用encode,指定'utf-8'字符集
  • 字节码转字符串: 用decode,指定'utf-8'字符集

注意:当英文转成字节码时,b''后面还是英文,当中文转成字节码时,b''后面显示十六进制的字节码。注:encode为加密,decode为解密,使用哪种字符集加密就用哪种字符集解密
基于: UTF-8

a = 'Miss'
a = a.encode('utf-8')
print(a)  # 结果:b'Miss'
b = '想'
b = b.encode('utf-8')
print(b)  # 结果:b'\xe6\x83\xb3'
b = b.decode('utf-8')
print(b) # 结果:'想'

基于:GBK

a = 'Miss'
a = a.encode('GBK')
print(a)  # 结果:b'Miss'
b = '想'
b = b.encode('GBK')
print(b)  # 结果:b'\xcf\xeb'
b = b.decode('GBK')
print(b) # 结果:'想'

Python中字符编码及转码的更多相关文章

  1. Python基础-字符编码与转码

    ***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...

  2. python中字符编码及unicode和utf-8区别

    ascii和unicode是字符集,utf-8是编码集 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节序列的规则(编码/ ...

  3. python的str,unicode对象的encode和decode方法, Python中字符编码的总结和对比bytes和str

    python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc ...

  4. python_47_Python2中字符编码与转码

    #python3默认是Unicode,Unicode是万国码,不管中文字符还是英文,所有的每个字符都占2个字节空间,16位 #python2默认是ascii码 #ascii码不能存中文,一个英文只能占 ...

  5. python(字符编码与转码)

    一.字符编码演变史 二进制(0 1) """ 算机中的所有数据,不论是文字.图片.视频.还是音频文件,本质上最终都是按照类似 01010101 的二进制存储的,再说简单点 ...

  6. python之字符编码与转码

    说起python编码,真是句句心酸,今天终于是,终于梳理清楚了,下面我们就来一起揭开py编码的真相吧! 一,什么是编码? 其实基本概念很简单.我们都知道消息,那么消息就是人类所能理解的,简单易懂的存在 ...

  7. python_48_Python3中字符编码与转码

    python3默认是Unicode,不用声明# -*- coding:utf-8 -*-,如果声明则是utf-8 unicode='你好' print('utf-8:',unicode.encode( ...

  8. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  9. 【python】-- 字符串、字符编码与转码

    字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可:访问子字符串,可以使用方括号来截取字符串: var1 ...

随机推荐

  1. Android--SharedPreferences数据存储方案

            SharedPreferences是使用键值对的形式存储的,并且支持多种不同的数据类型,存的是String,取得值也是String.         使用SharedPreferenc ...

  2. [转] java开源游戏

    收藏一下   triplea  Triplea是一个开放源码的boardgame.它允许玩家选择各种各样的战略版图游戏(如:轴心国或同盟军).TripleA引擎支持联网对战,支持声音,支持使用XML文 ...

  3. iView 实现可编辑表格

    create at: 2019-02-20 组件 <i-table highlight-row ref="currentRowTable" :columns="co ...

  4. 谈谈我对Ext的认识,元芳,你怎么看

    实用Ext第一步当然是引用jar包啦. 下载地址 在页面上加上div用于显示这也是必须的 <div id='loginpanel' ></div> 在js中我们肯定需要将Ext ...

  5. python环境的安装 环境变量和系统变量

    一.python 的安装 python 2.7 和 python 3.6的安装(一路点点点就行) 在安装的时候注意一下红框的内容,意思代表将其添加到环境变量中 环境变量是在操作系统中一个具有特定名字的 ...

  6. JDK基础必备面试十问

    1. new一个对象在Java内部做了哪些工作? 从静态角度来看,new一个对象表示创建一个类的对象实例. 从JVM运行角度来看,当JVM执行到new字节码时,首先会去查看类有没有被加载到内存以及初始 ...

  7. 构建企业级数据湖?Azure Data Lake Storage Gen2不容错过(上)

    背景 相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 数据湖的核心功能, ...

  8. 搭建SFTP服务器,允许一个或多个用户拥有一个或多个目录的rwx权限

    1.引言 sftp可以为传输文件提供一种安全的网络的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式.其实 ...

  9. 通过视图实现自定义查询<持续完善中。。。>

    目前实现: ----普通查询路径 /viewShow/viewShow/list.htm ----Echarts查询路劲 /viewShow/viewShow/echarts.htm 1.自定义查询条 ...

  10. 【原创】为什么Redis集群有16384个槽

    引言 我在<那些年用过的Redis集群架构(含面试解析)>一文里提到过,现在redis集群架构,redis cluster用的会比较多. 如下图所示 对于客户端请求的key,根据公式HAS ...