Python3的一个新特性算是把文本和二进制数据清晰地区分开来了。我们看到的文本其实就是一连串的Unicode字符组成的str(下文文无特殊说明均指Unicode字符),最后计算机以二进制数据的形式存储起来。Python内置了两种二进制数据类型,分别是bytes和bytearray。

每一个字符都有一个对应的标识,即码位,是0-1 114 111的数字(十进制),在Unicode标准中以4-6个十六进制数字表示。例如字母A的码位表示为U+0041。有了字符,计算机会把字符的码位通过某种算法转换为字节序列(二进制数据),就是我们通常所说的编码。相反,如果把字节序列通过某种算法转换为字符码位,就是常说的解码。字符串和字节序列关系总结如图1所示。

实例1:

>>>s = '中国'
>>>len(s) #1
2
>>>b = s.encode('utf-8') #2
>>>b
b'xe4xb8xadxe5x9bxbd' #3
>>>len(b) #4
6
>>>b.decode('utf-8') #5
'中国'

  • 1. '中国'字符串有2个Unicode字符
  • 2. 把str对象编码成bytes对象
  • 3. bytes字面量以b开头
  • 4. 字节序列b有6个字节
  • 5. 使用UTF-8把bytes对象解码为str对象

欢迎交流~

python3字节转化字符_捋一捋字符串与字节序列的关系相关推荐

  1. python3字节转化字符_浅谈 Python3 中对二进制数据 XOR 编码的正确姿势

    Python3 中的默认编码是 UTF-8,这给大家写 Python 代码带来了很大的便利,不用再像 Python2.x 那样为数据编码操碎了心.但是,由于全面转向 UTF-8 编码,Python3 ...

  2. python3 redis长链接超时_Python3 连接Redis字符串和字节问题探究

    前言 Python3将逐渐代替Python2,Python2和3还是有很多不同.在开发过程中报了错: File "/home/hzw/project/test/virtualenv/lib/ ...

  3. 读入的字节都写入字节数组中_使用Java将文件读入字节数组的7个示例

    读入的字节都写入字节数组中 嗨,大家好,Java程序员经常在现实世界中遇到编程问题,他们需要将文件中的数据加载到字节数组中,该文件可以是文本文件或二进制文件. 一个示例是将文件的内容转换为String ...

  4. python字节码解析_从底层入手,解析字节码增强和Btrace应用

    这篇文章聊下字节码和相关的应用. 1.机器码和字节码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据. 通常意义上来 ...

  5. java 字符串转哈希_从哈希字符串转换字节,java与python

    我在将纯java Curve25519函数转换为Python等效函数时遇到问题,具体问题与将哈希字符串转换为等效字节的摘要函数有关,java实现: 数据示例: sP="这是用于测试的密码短语 ...

  6. mysql 字节与字符_一文搞懂字符和字节的含义

    前言 我们在数据库建表时,经常会困扰某个字段应该选择什么数据类型,以及填写什么长度.选择数据类型方面一般没什么大问题,但是在填写对应的长度的时候,很多人就会困扰,对应长度填写的数字到底是什么含义,以及 ...

  7. mysql 4 字节存储问题_关于mysql存储过程存储4字节emoj的'\xF0\x9F\x98\x82' for column ``.``.`p_topicname`问题的解决办法...

    一.问题背景 背景很简单,要存4字节的表情符号,mysql表的相关字段的字符集需要修改成utf8mb4,这个没啥好说的,网上一大堆的类似的解决方法,问题是项目里面使用了存储过程,在利用java调用存储 ...

  8. mfc 找到字符串中字符_[LeetCode] 467. 环绕字符串中唯一的子字符串

    题目链接: https://leetcode-cn.com/problems/unique-substrings-in-wraparound-string 难度:中等 通过率:35.6% 题目描述: ...

  9. java 字节数组作用_这段java代码中字节数组b起到了什么作用?

    importjava.io.*;importjavax.swing.*;publicclassIOMonitor{publicstaticvoidmain(String[]temp){//TODO自动 ...

最新文章

  1. KafkaProducer初始化时涉及到哪些核心组件?
  2. 深度学习中IU、IoU(Intersection over Union)的概念理解以及python程序实现
  3. delphi 16 网页缩放
  4. Python查询MySQL进行远程采集图片实例
  5. input失去焦点验证格式_input获取、失去焦点对输入内容做验证
  6. FTP和TFTP的区别与介绍
  7. 便把他手中的i698源代码拐杖转了一圈
  8. 【Elasticsearch】es 集群健康值 红色 red 分片 未分配
  9. 电子商务数据运营的五大应用
  10. 【转】把我这段时间的教训分享一下,希望北邮校友们以我为鉴。
  11. 高中数学建模优秀论文_高中数学建模优秀论文大纲格式 高中数学建模优秀论文大纲怎么写...
  12. 鼎捷T100 以客制批次作业为例,画面规格生成后编译程式报错问题
  13. 绝地求生 服务器无响应,绝地求生卡在登陆页面怎么办
  14. c#字符型转化为asc_C#中使用强制类型实现字符串和ASCII码之间的转换
  15. IntelliJ IDEA 中如何配置JDK
  16. 数据结构与算法(python版)—— 无序表
  17. 微信15分钟视频怎么发送(简单实用的方法)
  18. 小知识--安卓手机拨号编码
  19. 关于nodejs面试题详解
  20. mysql 超时问题的解决办法

热门文章

  1. 洛谷P1901 发射站
  2. HighCharts解析之xAxis——x轴的样式
  3. U-Boot-2009-03移植笔记(移植准备)
  4. .NET下使用DataAdapter保存数据时,如何生成command语句及使用事务
  5. “元宇宙” 是什么东西?
  6. 万事开头难 - 介绍IMX6ULL启动方式
  7. Linux 开发者最应该知道的命令汇总
  8. C小项目——电子词典
  9. python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...
  10. jsp项目开发案例_Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信)life...