首页 > 编程语言 >Python使用 - 字符串和二进制的转换

Python使用 - 字符串和二进制的转换

时间:2023-07-26 23:13:43浏览次数:43  
标签:字符 123abc Python bytes 二进制 str 字符串

字符串和二进制的转换,需要用到编码(比如:utf-8, gbk),它起到的主要作用:

1) 字符转二进制时:根据字符,去编码表查询该字符的二进制值

2) 二进制转字符时:根据二进制值,去编码表查询该二进制对应的字符

 

# 字符转二进制,也叫编码
str_bytes = "123abc中文".encode("gbk")
print(type(str_bytes), str_bytes) # <class 'bytes'> b'123abc\xd6\xd0\xce\xc4'

# 二进制转字符,也叫解码
a = str_bytes.decode("gbk") # <class 'str'> 123abc中文
print(type(a), a)

# 字符转二进制(bytes类方式)
str_bytes = bytes("123abc中文", "gbk")
print(type(str_bytes), str_bytes)

# 字符转二进制(b开头字符串方式)
str_bytes = b"123abc" # 不能有中文, 否则会抛异常 print(type(str_bytes), str_bytes) # <class 'bytes'> b'123abc'

 

参考

Python decode()方法 | 菜鸟教程 (runoob.com)

Python字符串开头的b"、u"、r"与中文乱码(摘) - 知乎 (zhihu.com)

标签:字符,123abc,Python,bytes,二进制,str,字符串
From: https://www.cnblogs.com/sailJs/p/17581729.html

相关文章

  • Python使用 - struct工具
    转换为二进制a=struct.pack('cc',b"1",b"2")print(type(a))print(a)print(type(b"1"))a=struct.pack('bb',1,127)#signedchar,范围[-128,127],用128会抛异常print(type(a))#<class'bytes'>pr......
  • java mysql blob转字符串
    JavaMySQLBlob转字符串在Java开发中,我们经常需要处理数据库中存储的二进制数据。MySQL数据库提供了一种特殊的数据类型BLOB来存储二进制数据,例如图像、音频、视频等。当我们需要将BLOB数据转换为字符串时,我们可以使用Java提供的一些库和方法来实现。1.使用JDBC连接MySQL数据库......
  • Python测试用例-unittest-基础
    一个简单的测试用例脚本importunittestclassTestCase(unittest.TestCase):@classmethoddefsetUpClass(cls)->None:print("setUpClass")@classmethoddeftearDownClass(cls)->None:print("tearDownClass")......
  • 使用Python统计下桌面某个文件夹下(含多层子文件夹)具体文件的数量(方法一)
    大家好,我是皮皮。一、前言前几天在Python最强王者群【东哥】问了一个Python自动化办公的问题,一起来看看吧。这个是他自己在实际工作中遇到的需求,正好遇到了这个问题,想着用Python来实现下。二、实现过程这里【郑煜哲·Xiaopang】给了一个提示,使用pathlib.glob()来进行解决,后来......
  • Python基础day53 Django
    web应用的简介因为Django框架是一个专门用来开发web项目的框架1.web应用程序是什么?web应用程序是一种可以通过web访问的应用程序,也就是说只需要一个浏览器即可,不需要其他软件了2.应用程序与有两种模式Django就是开发的B/S应用程序,所以,我们就认为浏览器就是我们......
  • Python学习4
    Python学习(二)1Python集合1.1集合(Set)集合是无序和无索引的集合。在Python中,集合用花括号编写。1.2访问项目您无法通过引用索引来访问set中的项目,因为set是无序的,项目没有索引。但是您可以使用for循环遍历set项目,或者使用in关键字查询集合中是否存在指定值。......
  • 用Python为接口自动生成测试用例
    基于属性的测试会产生大量的、随机的参数,特别适合为单元测试和接口测试生成测试用例尽管早在2006年haskell语言就有了QuickCheck来进行”基于属性的测试“,但是目前来看这依然是一个比较小众的领域,参考资料有限,本文如有不足,欢迎指正。1.基于表的测试在过去的测试实践中,执行测......
  • 软件测试|超好用超简单的Python GUI库——tkinter(十四)
    前言我们知道我们可以使用pillow绘制不同形状的图形,但是我们能不能使用tkinter实现这个功能呢,当然可以,tkinter也可以实现图形的绘制,并且可以将绘制的图形添加到我们的GUI中。我们可以通过tkinter的画布控件Canvas来实现绘制功能。Canvas画布控件Canvas控件具有两个功能,首先它......
  • 软件测试|超好用超简单的Python GUI库——tkinter(十五)
    前言上一篇文章我们介绍了tkinter的Canvas画布控件,并且使用画布控件绘制了线条,本篇文章我们将介绍使用Canvas绘制更多图形。参数介绍属性说明activedash当画布对象状态为"active"的时候,绘制虚线activefill当画布对象状态为"active"的时候,填充颜色activest......
  • 软件测试|超好用超简单的Python GUI库——tkinter(十六)
    前言我们在使用各种软件时,菜单是我们最常用的功能之一,菜单以可视化的方式将一系列的“功能选项卡”进行分组,并在每个分组下又“隐藏”了许多其他的“选项卡”。当打开菜单时,这些选项卡就会“显式”的呈现出来,方便用户进行选择,比如我们常用的QQ音乐播放器,如下图:tkinter同样给我......