知识点
一:Python的解释器编码默认都采用UTF-8
二:ascii码表中一个字符(例如:字母)由1个字节组成,字节由8个位组成,位由0或1其中一个数字组成,所以一个字符可以由2^8次方种变化,即ascii码表编号0-255元素,元素可以是字母\数字或特殊符号
三:ascii编码用1个字节表示一个元素,但其他编码类型是由多个字节来表示编码中的一个元素
四:UTF-8采用一种变长的编码方案,使用 1~6 个字节表示一个元素,UTF-16则使用固定长度的编码方案,使用2个字节(16个位)表示一个元素,2^16次方种变化,即编号0-65535元素,这里的元素种类是在ascii码表的基础上又新增了多国的语言符号

打印ascii码表

bytes(range(255))

运行结果:

b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe'

将字符转化为utf-8的字节码:

tmp = 'abc'.encode(encoding='utf-8')
print(tmp)
print(type(tmp))

运行结果:

b'abc'
<class 'bytes'>

相反:将字节码转化为字符:

b'abc'.decode()  #此处可以不写成b'abc'.decode(encoding='utf-8'),因为python默认采用utf-8编码和解码

运行结果:

'abc'

查看字符的二进制 十进制 十六进制(字符-->字节-->进制)
十六进制:

print(b'abc'.hex())
print(b'\x61')
print(bytes.fromhex('616263'))

运行结果:

'616263'
b'a'
b'abc'

十进制:

print(b'abc'[0])
print(b'abc'[1])
print(b'abc'[2])
print(chr(97))

运行结果:

97
98
99
a

二进制:

bin(b'a'[0])

运行结果:

'0b1100001'

修改字符串:

tmp = bytearray('abc'.encode())
print(type(tmp))
tmp[0] = 99
print(tmp)
tmp = tmp.decode()
print(type(tmp))
print(tmp)

运行结果:

<class 'bytearray'>
bytearray(b'cbc')
<class 'str'>
cbc

字符转成utf-8

print(ord('中'))
print(ord('a'))

运行结果:

20013
97

那么问题来了:博主姓名采用utf-16的编码方案,十六进制为’fffe245cfd6c6579’,求博主的中文姓名?

实用:python字符编码之间的转化(来猜猜博主的真实姓名)相关推荐

  1. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...

    原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...

  2. python字符编码在哪里_快速入手Python字符编码

    前言 对于很多接触python的人而言,字符的处理和语言整体的温顺可靠相比显得格外桀骜不驯难以驾驭. 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命 ...

  3. 深入理解Python字符编码--转

    http://blog.51cto.com/9478652/2057896 不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError ...

  4. 转1:Python字符编码详解

    Python27字符编码详解 声明 一 字符编码基础 1 抽象字符清单ACR 2 已编码字符集CCS 3 字符编码格式CEF 31 ASCII初创 311 ASCII 312 EASCII 32 MB ...

  5. python中二进制和文本不同_关于Python字符编码与二进制不得不说的一些事

    二进制 核心思想: 冯诺依曼 + 图灵机 电如何表示状态,才能稳定? 计算机开始设计的时候并不是考虑简单,而是考虑能自动完成任务与结果的可靠性, 简单始终是建立再稳定.可靠基础上 经过尝试10进制,但 ...

  6. python 字符编码问题

    字符编码 一.字符编码的演进 ASCII GB2312    GBK1.0    GB18030 Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言.跨平台 ...

  7. Python字符编码详解

    Python字符编码详解 转自http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html Python字符编码详解 本文简单介绍了各种常用的 ...

  8. python字符编码是什么_python3字符编码是什么?怎么用?

    最近一直讲的是python基础方面的知识,小编一直在考虑要不要加大难度.这个问题犹豫了很久,怕一些python小白不能很好的接受知识点.但是最近小编收到不少小伙伴的强烈要求,想要学习编码这个模块的知识 ...

  9. python 字符编码处理_浅析Python 字符编码与文件处理

    Python字符编码 目前计算机内存的字符编码都是Unicode,目前国内的windows操作系统采用的是gbk. python2默认的字符编码方式是ASCII python3默认的字符编码方式是Un ...

  10. 字符编码之间的相互转换 UTF8与GBK

    原文地址为: 字符编码之间的相互转换 UTF8与GBK UTF8与GBK字符编码之间的相互转换 C++ UTF8编码转换 CChineseCode 一 预备知识 1,字符:字符是抽象的最小文本单位.它 ...

最新文章

  1. golang中utf8和汉字互转
  2. Linux-diff和diff3命令
  3. 读债务危机0812:接管房利美和房地美
  4. 选择排序法对数组进行排序
  5. 将字符串中的html标签编译,将字符串中的HTML标签包含的内容移除
  6. python奇奇怪怪的特点
  7. vue 移动端选择器
  8. swarm bzz 安装0.5.3版本基础解析。
  9. python基于朴素贝叶斯算法实现新闻分类
  10. 软件系统部署手册模版
  11. 漫谈Go语言与区块链
  12. 安装出现Kernel not compiled with GPU support
  13. Interview:算法岗位面试—BAT公司问题面试之计算机基础(进程与线程的区别)、经典概率问题等集锦
  14. arcgis 删除创建的自定义地理变换文件
  15. 【软件工程-UML建模】
  16. numpy.core._exceptions.UFuncTypeError: ufunc ‘add‘ did not contain a loop with signature matching ty
  17. 2.3.1-4. IEEE 754 标准
  18. java软件面试题_java软件工程师面试试题
  19. InvalidArgumentError (see above for traceback): Invalid JPEG data, size 75244
  20. PS学习之餐饮行业修图

热门文章

  1. Synopsys工具安装之二【SCL License】
  2. ubuntu端口映射
  3. 教师资格综合素质知识要点记录
  4. 7-16 新浪微博热门话题 (30 分)
  5. 状态栏RAT信号图标显示
  6. Python调用华为API实现人脸检测
  7. Java推箱子游戏,文档+源码
  8. java腾讯云通信(注册账号)
  9. 【小程序入门】注册AppID为开发做准备
  10. 微信小程序 之wx.previewImage图片预览(单张图片预览)