开发者

Python3新增的Byte类型解读

开发者 https://www.devze.com 2023-11-19 11:31 出处:网络 作者: Adragon-Liu
目录python3新增的Byte类型UTF-8格式的编码方式gbk字库Python数据类型转成byte[]总结Python3新增的Byte类型
目录
  • python3新增的Byte类型
    • UTF-8格式的编码方式
    • gbk字库
  • Python数据类型转成byte[]
    • 总结

      Python3新增的Byte类型

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

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

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

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

      转化方式:

      • str → androidbyte 用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 Ujsnicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。

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

      gbk字库

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

      Python数据类型转成byte[]

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

      方法如下:

      from jpype import JByte

      Python3新增的Byte类型解读

      总结

      以上为个人经验,希望能给javascript大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号