Python3新增的Byte类型解读

 更新时间:2023年09月07日 08:37:20   作者:Adragon-Liu  
这篇文章主要介绍了Python3新增的Byte类型,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python3新增的Byte类型

在python2中字节类型同字符类型区分不大,但是在python3中最重要的特性是对文本和二进制数据做了更加清晰的区分。

文本总是Unicode,由字符类型表示,而二进制数据则由byte类型表示。

python3不会以任意隐式方式混用字节型和字符型,也因此在python3中不能拼接字符串和字节包(python2中可以,会自动进行转换),也不能在字节包中搜索字符串,也不能将字符串传入参数为字节包的函数。

需要注意的是,在网络数据传输过程中,python2可以通过字符串(string)方式传输,但是python3只能通过二进制(bytes)方式来传输,因此要对传输文本进行转换。

转化方式:

  • str → byte 用encode()方法
  • byte → str 用decode()方法

例如下面的例子:

>>>'你好'.encode('utf-8')
b'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8')
'你好'
>>>'你好'.encode('utf-8').decode('utf-8')
'你好'
  • encode()和decode()方法中默认编码为utf-8,但是为了避免错误,最好将编码加上。
  • encode()出来的结果的==“b”==代表二进制(binary)

UTF-8格式的编码方式

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。

UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

gbk字库

GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification)

Python数据类型转成byte[]

用Python调用jar包时,有个方法需要传入byte[]类型的参数,需把Python的数据类型转成该类型,

方法如下:

from jpype import JByte

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 图解Python中深浅copy(通俗易懂)

    图解Python中深浅copy(通俗易懂)

    这篇文章主要介绍了图解Python中深浅copy(通俗易懂),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 通过python爬虫赚钱的方法

    通过python爬虫赚钱的方法

    在本篇文章里小编给大家分享了关于通过python爬虫赚钱的方法,有兴趣的朋友们学习下。
    2019-01-01
  • python中(str,list,tuple)基础知识汇总

    python中(str,list,tuple)基础知识汇总

    本文给大家汇总介绍的是python中str(字符串)、list(列表)、tuple(元组)、dict(字典)的一些基础知识,有需要的小伙伴可以参考下
    2018-02-02
  • Python3利用SMTP协议发送E-mail电子邮件的方法

    Python3利用SMTP协议发送E-mail电子邮件的方法

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。下面这篇文章主要给大家介绍了关于Python3如何利用SMTP协议发送E-mail电子邮件的方法,需要的朋友可以参考下。
    2017-09-09
  • Python的numpy库中将矩阵转换为列表等函数的方法

    Python的numpy库中将矩阵转换为列表等函数的方法

    下面小编就为大家分享一篇Python的numpy库中将矩阵转换为列表等函数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python实现打印详细报错日志,获取报错信息位置行数

    Python实现打印详细报错日志,获取报错信息位置行数

    这篇文章主要介绍了Python实现打印详细报错日志,获取报错信息位置行数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • pycharm 复制代码出现空格的解决方式

    pycharm 复制代码出现空格的解决方式

    这篇文章主要介绍了pycharm 复制代码出现空格的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 详解在Python中使用OpenCV进行直线检测

    详解在Python中使用OpenCV进行直线检测

    在图像处理中,直线检测是一种常见的算法,它通常获取n个边缘点的集合,并找到通过这些边缘点的直线。本文将介绍如何在Python中利用OpenCV进行直线检测,需要的可以参考一下
    2022-03-03
  • Python copy()与deepcopy()方法之间有什么区别

    Python copy()与deepcopy()方法之间有什么区别

    这篇文章主要介绍了Python中的copy()和deepcopy(),下面详细介绍该内容并附上详细代码,需要的朋友可以参考一下文章的具体内容,希望对你有所帮助
    2022-10-10
  • Python中容易被忽视的核心功能总结

    Python中容易被忽视的核心功能总结

    Python是一门富有魅力的编程语言,拥有丰富的功能和库,以及强大的社区支持,然而,有一些核心功能经常被忽视,而它们实际上可以极大地提高代码的质量、可读性和性能,本文将给大家详细的介绍一下这些容易被忽视的功能,需要的朋友可以参考下
    2023-11-11

最新评论