当前位置: 首页 > news >正文

Python从入门到实践:字节串与字符串

目录

一、什么是字节串

二、字符串与字节串的对比

三、如何创建字节串


一、什么是字节串

python 中的bytes 类型用来表示一个字节串。他是python3.x新加的类型(对比python2.x)

bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串。bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程;bytes 也可以用来存储图片、音频、视频等二进制格式的文件。

二、字符串与字节串的对比

字节串(bytes)和字符串(string)的对比:

  • 字符串由若干个字符组成,以字符为单位进行操作;字节串由若干个字节组成,以字节为单位进行操作。
  • 字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。
  • 字节串和字符串都是不可变序列,不能随意增加和删除数3据。

三、如何创建字节串

字符串和 bytes 存在着千丝万缕的联系,我们可以通过字符串来创建 bytes 对象,或者说将字符串转换成 bytes 对象。有以下三种方法可以达到这个目的:

  • 如果字符串的内容都是 ASCII 字符,那么直接在字符串前面添加b前缀就可以转换成 bytes。
  • bytes 是一个类,调用它的构造方法,也就是 bytes(),可以将字符串按照指定的字符集转换成 bytes;如果不指定字符集,那么默认采用 UTF-8。
  • 字符串本身有一个 encode() 方法,该方法专门用来将字符串按照指定的字符集转换成对应的字节串;如果不指定字符集,那么默认采用 UTF-8。

 当然,我们也可以用decode来解码!

 

 

相关文章:

  • k8s教程:使用cert-manager证书管理工具在集群中提供https证书并自动续期
  • MIKE水动力笔记13_数字化海图2之克里金插值
  • QuantLib 金融计算库
  • OpenSergo CloudWeGo 共同保障微服务运行时流量稳定性
  • 全网最牛自动化测试框架系列之pytest(8)-参数化
  • App Store上架iOS App的详细流程
  • 链动2+1模式系统,如何抓住酒业新局的机遇?
  • 携创教育:2022年自考大专需要什么条件?怎么报名?
  • 基于Cookie-Editor与curl实现跨设备的文件下载
  • 百度智慧交通组-EdgeBoard基础操作合集
  • 1.4_8 Axure RP 9 for mac 高保真原型图 - 案例7 【旋转的唱片5】进度条计时器 关联
  • 岑溪农产品检验实验室建设细节概述
  • tf.convert_to_tensor
  • 具有良好水溶性的122266-55-1,Sulfo-NHS-SS-Biotin
  • 分析Jetpack Compose动画内部是如何实现的
  • Docker: 容器互访的三种方式
  • Docker容器管理
  • ECMAScript入门(七)--Module语法
  • JavaScript 基本功--面试宝典
  • JavaWeb(学习笔记二)
  • jQuery(一)
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Promise面试题,控制异步流程
  • Python 基础起步 (十) 什么叫函数?
  • tweak 支持第三方库
  • vue--为什么data属性必须是一个函数
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 聊聊sentinel的DegradeSlot
  • 每天10道Java面试题,跟我走,offer有!
  • 那些年我们用过的显示性能指标
  • 什么软件可以剪辑音乐?
  • 学习JavaScript数据结构与算法 — 树
  • Spring Batch JSON 支持
  • ​ubuntu下安装kvm虚拟机
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #《AI中文版》V3 第 1 章 概述
  • $(function(){})与(function($){....})(jQuery)的区别
  • (9)目标检测_SSD的原理
  • (C)一些题4
  • (Forward) Music Player: From UI Proposal to Code
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (多级缓存)多级缓存
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (译) 函数式 JS #1:简介
  • (转载)OpenStack Hacker养成指南
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 控制台应用程序读取配置文件app.config
  • .NET MVC第五章、模型绑定获取表单数据
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?