【Python系列】字节串与字典字节串

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.什么是字节串
      • 1.基本介绍
      • 2.简单示例
    • 二.字典字节串

一.什么是字节串

1.基本介绍

字节串(bytes)是 Python 中的一种数据类型,用于表示二进制数据。它由一系列的字节组成,每个字节可以表示范围在 0 到 255 之间的整数。
在这里插入图片描述

与普通的字符串(str)不同,字节串不是由 Unicode 字符组成的,而是由原始字节序列组成的。这使得字节串可以用来表示诸如图像、音频、视频等二进制数据,以及与网络通信、文件操作等相关的原始数据。

在 Python 中,字节串使用以小写字母b开头的语法表示,例如b'hello'。字节串中的每个字节都可以通过索引访问,类似于普通字符串。由于字节串是不可变的,因此不能像普通字符串那样进行修改。

字节串还具有一些特殊的方法和操作,例如decode()方法用于将字节串解码为普通字符串,encode()方法用于将普通字符串编码为字节串。此外,可以进行字节串之间的拼接、切片等操作。

2.简单示例

以下是一个示例,展示了字节串的基本用法:

# 创建字节串
byte_string = b'hello'# 访问字节串中的字节
print(byte_string[0])  # 输出:104# 将字节串解码为普通字符串
decoded_string = byte_string.decode('utf-8')
print(decoded_string)  # 输出:hello# 将普通字符串编码为字节串
encoded_string = 'world'.encode('utf-8')
print(encoded_string)  # 输出:b'world'# 字节串之间的拼接
concatenated_bytes = byte_string + encoded_string
print(concatenated_bytes)  # 输出:b'helloworld'

字节串在处理二进制数据、与底层系统交互以及网络通信等方面非常有用。然而,需要注意的是,在处理文本数据时,通常更适合使用普通字符串(str)而不是字节串(bytes)。

二.字典字节串

在 Python 中,以小写字母b开头的字符串表示字节串(bytes)。字节串是一种特殊的数据类型,用于表示二进制数据。

在这里插入图片描述

b'relationship'的前缀b表示该键是一个字节串而不是普通的字符串。同样,值Value(sVal=b'\xe5\x8c\x85\xe6\x8b\xac')中的sVal也是一个字节串。

要访问字节串的值,可以使用相同的方法。例如,使用dictionary[b'relationship']来获取字节串键对应的值,使用dictionary[b'relationship'].sVal来获取字节串值中的sVal属性。

需要注意的是,字节串与普通字符串在表示和处理上有所不同。如果需要将字节串转换为普通字符串,可以使用字节串的decode()方法,指定适当的字符编码。例如,sVal_value = dictionary[b'relationship'].sVal.decode('utf-8在Python中,以小写字母b`开头的字符串表示字节串(bytes)。字节串是一种特殊的数据类型,用于表示二进制数据。

b'relationship'的前缀b表示该键是一个字节串而不是普通的字符串。同样,值Value(sVal=b'\xe5\x8c\x85\xe6\x8b\xac')中的sVal也是一个字节串。

要获取字节串的值,可以使用以下方法:

  1. 如果想将字节串转换为普通字符串,可以使用字节串的decode()方法,并指定适当的字符编码。例如,可以使用dictionary[b'relationship'].sVal.decode('utf-8')将字节串转换为 UTF-8 编码的字符串。

    dictionary = {b'relationship': Value(sVal=b'\xe5\x8c\x85\xe6\x8b\xac')}
    sVal_value = dictionary[b'relationship'].sVal.decode('utf-8')
    print(sVal_value)
    

    这将打印出sVal的字符串值,即包括

  2. 如果希望保持字节串的二进制表示,可以直接访问字节串的值,而无需进行转换。

    dictionary = {b'relationship': Value(sVal=b'\xe5\x8c\x85\xe6\x8b\xac')}
    sVal_value = dictionary[b'relationship'].sVal
    print(sVal_value)
    

    这将打印出sVal的字节串值,即b'\xe5\x8c\x85\xe6\x8b\xac'

可以根据需求选择适当的方法来处理字节串数据。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/689589.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Linux上安装并运行RabbitMQ

目录 准备CentOS服务器 下载rabbit-server和erlang文件 启动RabbitMQ服务 准备CentOS服务器 两个命令,选一个能用的,查看CentOS服务器的版本 lsb_release -a下载rabbit-server和erlang文件 参考文章:http://t.csdnimg.cn/t8BbM 1、创建新…

MySQL innodb_buffer_pool_size 相关常用语句

对于MySQL速度慢的问题,除了优化 SQL 以外,应该必须优先想到的即使 MySQL 数据库的 innodb_buffer_pool_size 配置问题。 一般来说,innodb_buffer_pool_size 的默认大小都是很小的,尤其是 win 下其默认大小更是只有离谱的 8M。Li…

【C/C++笔试练习】DNS设置文件、应用层、Dos攻击、DNS服务、DNS、子网划分、http状态、路由设置、TCP连接、HTTP状态码、剪花布条、客似云来

文章目录 C/C笔试练习选择部分(1)DNS设置文件(2)应用层(3)Dos攻击(4)DNS服务(5)DNS(6)子网划分(7)http状态&am…

ios 开发如何给项目安装第三方库,以websocket库 SocketRocket 为例

1.brew 安装 cococapods $ brew install cocoapods 2、找到xcode项目 的根目录,如图,在根目录下创建Podfile 文件 3、在Podfile文件中写入 platform :ios, 13.0 use_frameworks! target chat_app do pod SocketRocket end project ../chat_app.x…

Flink DataSink介绍

介绍 Flink DataSink是Apache Flink框架中的一个重要组件,它定义了数据流经过一系列处理后最终的输出位置。以下是关于Flink DataSink的详细介绍: 概念:DataSink主要负责对经过Flink处理后的流进行一系列操作,并将计算后的数据结…

GPT-SoVits:语音克隆,语音融合

首发网站 https://tianfeng.space 前言 零样本文本到语音(TTS): 输入 5 秒的声音样本,即刻体验文本到语音转换。少样本 TTS: 仅需 1 分钟的训练数据即可微调模型,提升声音相似度和真实感。跨语言支持&…

去哪里找高清视频素材?推荐几个短视频素材免费网站

在数字时代,视频内容的质量直接影响观众的吸引力和留存率。尤其是高清、4K视频素材和可商用素材,它们在提升视觉质量和叙事深度方面起到了至关重要的作用。以下是一些国内外的顶级视频素材网站,它们提供的资源将为您的创作提供极大的支持和灵…

OGG几何内核开发-BRepAlgoAPI_Fuse与BRep_Builder.MakeCompound比较

最近在与同事讨论BRepAlgoAPI_Fuse与BRep_Builder.MakeCompound有什么区别。 一、从直觉上来说,BRepAlgoAPI_Fuse会对两个实体相交处理,相交的部分会重新的生成相关的曲面。而BRep_Builder.MakeCompound仅仅是把两个实体组合成一个新的实体,…

VTK官方示例

VTK官方示例 -vtk字體 #!/usr/bin/env python# noinspection PyUnresolvedReferences import vtkmodules.vtkInteractionStyle # noinspection PyUnresolvedReferences import vtkmodules.vtkRenderingFreeType # noinspection PyUnresolvedReferences import vtkmodules.vtk…

matlab的imclose()详解

J imclose(I,SE) J imclose(I,nhood) 说明 J imclose(I,SE) 使用结构元素 SE 对灰度或二值图像 I 执行形态学闭运算。形态学闭运算是先膨胀后腐蚀,这两种运算使用相同的结构元素。 J imclose(I,nhood) 对图像 I 执行闭运算,其中 nhood 是由指定结…

配置Docker对象与管理守护进程

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 本章节的快速目录导航: 一、配置Docker对象 1.1、Docker对象的标记 1.2、格式化命令和日志的输出 二、示例: 2.1、管理…

Android 13 系统自定义安全水印

效果 源码实现 frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java public final void showSafeModeOverlay() {View v = LayoutInflater.from(mContext).inflate(com.android.internal.R.layout.safe_mode, null);WindowManager.LayoutP…