python3中bytes和string之间的互相转换

 更新时间:2017年02月09日 11:02:41   作者:方倍工作室  
这篇文章主要介绍了python3中bytes和string之间的互相转换,文中给出了详细的介绍和示例代码,相信对大家具有一定的参考价值,有需要的朋友们下面来一起学习学习吧。

前言

Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然).

python3.0中怎么创建bytes型数据

bytes([1,2,3,4,5,6,7,8,9])
bytes("python", 'ascii') # 字符串,编码

首先来设置一个原始的字符串,

Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> website = 'https://www.jb51.net/'
>>> type(website)
<class 'str'>
>>> website
'https://www.jb51.net/'
>>>

按utf-8的方式编码,转成bytes

>>> website_bytes_utf8 = website.encode(encoding="utf-8")
>>> type(website_bytes_utf8)
<class 'bytes'>
>>> website_bytes_utf8
b'https://www.jb51.net/'
>>>

按gb2312的方式编码,转成bytes

>>> website_bytes_gb2312 = website.encode(encoding="gb2312")
>>> type(website_bytes_gb2312)
<class 'bytes'>
>>> website_bytes_gb2312
b'https://www.jb51.net/'
>>>

解码成string,默认不填

>>> website_string = website_bytes_utf8.decode()
>>> type(website_string)
<class 'str'>
>>> website_string
'https://www.jb51.net/'
>>>
>>>

解码成string,使用gb2312的方式

>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312")
>>> type(website_string_gb2312)
<class 'str'>
>>> website_string_gb2312
'https://www.jb51.net/'
>>>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 关于如何把Python对象存储为文件的方法详解

    关于如何把Python对象存储为文件的方法详解

    本文将给大家介绍如何把Python对象存储为文件的方法,pickle可以用二进制表示并读写python数据,这个功能并不安全,如果把一个pickle暴露给别人,有被植入恶意程序的风险,文中通过代码给大家讲解的非常详细,需要的朋友可以参考下
    2024-01-01
  • Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)

    Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.

    这篇文章主要介绍了Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程(显卡MX250+CUDA9.0+cudnn),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • django框架面向对象ORM模型继承用法实例分析

    django框架面向对象ORM模型继承用法实例分析

    这篇文章主要介绍了django框架面向对象ORM模型继承用法,结合实例形式分析了Django框架ORM模型抽象类继承、多表继承及代理模型继承三种继承方式实现技巧,需要的朋友可以参考下
    2019-07-07
  • Python实现的可可爱爱的小粽子详解

    Python实现的可可爱爱的小粽子详解

    我突发奇想做一个关于粽子的小游戏,基本原理:操控粽子吃掉爱心,即可增加分数,经过朋友game多测尝试最终完成小游戏
    2022-06-06
  • jupyter notebook 调用环境中的Keras或者pytorch教程

    jupyter notebook 调用环境中的Keras或者pytorch教程

    这篇文章主要介绍了jupyter notebook 调用环境中的Keras或者pytorch教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • PyQt5 QTableView设置某一列不可编辑的方法

    PyQt5 QTableView设置某一列不可编辑的方法

    今天小编就为大家分享一篇PyQt5 QTableView设置某一列不可编辑的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python监控日志中的报错并进行邮件报警

    python监控日志中的报错并进行邮件报警

    这篇文章主要为大家介绍了python监控日志中的报错并进行邮件报警的实现实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 使用Python实现批量ping操作方法

    使用Python实现批量ping操作方法

    这篇文章主要介绍了使用Python实现批量ping操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Python sklearn 中的 make_blobs() 函数示例详解

    Python sklearn 中的 make_blobs() 函数示例详解

    make_blobs() 是 sklearn.datasets中的一个函数,这篇文章主要介绍了Python sklearn 中的 make_blobs() 函数,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Python 绘图库 Matplotlib 入门教程

    Python 绘图库 Matplotlib 入门教程

    Matplotlib是一个Python语言的2D绘图库,它支持各种平台,并且功能强大,能够轻易绘制出各种专业的图像。本文是对Python 绘图库 Matplotlib 入门教程,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-04-04

最新评论