当前位置: 首页 > news >正文

延边州建设局网站百度一下百度首页官网

延边州建设局网站,百度一下百度首页官网,cms影视源码采集,公司网站开发立项文档文章目录int 与 bytes转换int 转 bytesbytes 转 intstr 与 bytes互转其他格式转字节格式说明转字节字节转其他字节在存储的时候根据存储的格式不同,可能会有大端小端之分,如果是数字,还有有符号无符号的区分,所以在自己处理的时候…

文章目录

  • int 与 bytes转换
    • int 转 bytes
    • bytes 转 int
  • str 与 bytes互转
  • 其他格式转字节
    • 格式说明
    • 转字节
    • 字节转其他

字节在存储的时候根据存储的格式不同,可能会有大端小端之分,如果是数字,还有有符号无符号的区分,所以在自己处理的时候可能会有一些麻烦。所以记录一下转换的方法,希望有同样遇到的人可以对其提供一些帮助。

常见的数据类型:

数据类型字节长度取值范围
int81-128 ~ 127
uint810 ~ 255
int162-32768 ~ 32767
uint1620 ~ 65535
int324-2^31 ~ 2^31 -1
uint3240 ~ 2^32 -1

int 与 bytes转换

int与bytes转换,在python3中还是比较简单的,int已经自带了方法,可以直接使用,不过需要事先确定:数据存储方式是大端存储还是小端存储,数据类型是什么。

int 转 bytes

例子:

# int 转 bytes
int.to_bytes(字节长度, 大端/小端存储, 关键字参数有符号还是无符号)
- 大端:big
- 小端:little# 例如:将数字128存储为int16类型的字节,在计算机里小端存储
# 如果实际数字超出了存储字节的长度,将会报错
int(128).to_bytes(2, 'little', signed=True)# 结果:b'\x80\x00'

bytes 转 int

例子:

# bytes 转 int
int.from_bytes(字节, 大端/小端存储, 关键字参数有符号还是无符号)
- 大端:big
- 小端:little# 例如:将刚刚存入的结果转回来
int.from_bytes(b'\x80\x00', 'little', signed=True)
# 如果你使用大端模式解析出来,你会发现一个完全不一样的数字
# 如果是只有一个字节的数据,大端小端也就无所谓了

str 与 bytes互转

这个还是比较简单的。
例如:

# str 转 bytes
# 这个转化只需要对str进行编码就好了,默认使用 utf-8编码
'章三'.encode()# bytes 转 str
# 相应的,只需要对bytes数据进行解码,默认使用 utf-8 编码
b''.decode()

其他格式转字节

其他格式转字节的话,可以借助struct 库来完成,这里简单介绍一下它的使用方式和一些参数。

在使用struct 库进行转化的时候,需要一个格式字符串说明数据是什么类型的,什么存储方式之类的信息,所以先介绍一下他的格式说明。

格式说明

格式设置字符如下:
第一个字符:存储方式

符号说明
@本机存储顺序、存储大小、存储队列 (默认选项)
=本机存储顺序,标准存储大小、存储队列
<小端序、标准存储大小、存储队列
>大端序、标准存储大小、存储队列
!与 > 相同

其余字符表示参数的类型,必须完全匹配;这些可以在十进制重复计数之前:

符号说明
x填充字节,不是数据
c字符
bbyte类型,1字节整型
B无符号byte
?_Bool (需要 C99;如果不可用,则使用 char 代替)
hshort类型 2字节整型
H无符号short
iint类型 4字节整型
I(大写i)无符号int
l(小写L)long类型 8字节整型
L无符号long
ffloat类型 (32为浮点类型)
ddouble类型
ehalf-float (16位浮点类型)
sstring类型,也可以理解成字节数组。需要在s前存在一个十进制数字表示字符串的长度

格式为:
存储方式 + 类型

例如:

# 小端存储的 uinit32类型
<I# 大端存储的 float32 类型
>f# 小端存储的 10个字节的字符串数据
<10s

转字节

转字节使用struct.pack() 方法
该方法可以接收多个参数,分别是:

  • 格式
  • 变量1
  • 变量2

单个转
例如:

# 还是将128转化小端存储的,为2个字节存储的有符号数字类型
struct.pack('<h', 128)
# 因为是2个字节有符号的数字,所以应该选择 short 类型 所以格式为 '<h'
# 结果为:b'\x80\x00'# 将128.0 转化为小端存储的float类型的字节
struct.pack('<f', 128.)
# 结果为: b'\x00\x00\x00C'

转多个
例如:

# 第一个是无符号整数 128 ,然后后变有一个3个字节的字符串 '秀', 使用小端存储
struct.pack('<I3s', 128, u'秀'.encode())
# 结果:b'\x80\x00\x00\x00\xe7\xa7\x80'

字节转其他

字节转化为其他类型,使用 struct.unpack() 方法,结果是一个元组
该方法可以接收2个参数,分别是:

  • 格式
  • 字节

例如:

# 将第一个是无符号整数 128 ,然后后变有一个3个字节的字符串 '秀', 使用小端存储的数据转回来
struct.unpack('<I3s', b'\x80\x00\x00\x00\xe7\xa7\x80')
# 结果为:(128, b'\xe7\xa7\x80')# 将使用小端存储的128.0的字节转换回来
struct.unpack('<f', b'\x00\x00\x00C')
# 结果为: (128.0,)

希望可以帮到你!


曾经沧海难为水,
除却巫山不是云。
取次花丛懒回顾,
半缘修道半缘君。

http://www.zhongyajixie.com/news/17114.html

相关文章:

  • 博物馆网站建设策划书怎么在百度发广告
  • 烟台网站建设电话网络推广费用预算表
  • 门户 网站开发周期找营销推广团队
  • 网站界面设计基础深圳网站建设
  • ps网站制作教程上海百度seo
  • 廊坊建站无锡百度seo优化
  • 公众号链接的手机网站怎么做平台推广方案模板
  • 周至做网站的公司百度商业账号登录
  • 新化网站建设百度seo自动优化
  • 哪些网站做批发衣服培训学校招生营销方案
  • 做房产抵押网站需要什么手续网络查询网站
  • 建设银行插u盾网站上不去企业文化建设
  • 做网站用什么做win7优化
  • 莱芜雪野湖自驾游攻略求职seo服务
  • 武汉专业建站注意事项河南做网站的公司
  • 建设银行e路通网网站浙江企业网站建设
  • 哪个网站系统做的好成都seo优化排名公司
  • 黑龙江高端网站建设网站优化推广平台
  • 哪个网站能免费下载seo怎么优化简述
  • 福州网站建设香港网站建设自助建站系统哪个好
  • 券优惠网站如何做加盟网络营销推广公司
  • 石家庄城乡建设网站网络营销的含义特点
  • 动态网站开发的系统源码seo关键词排优化软件
  • 做网站安全联盟解品牌推广策略有哪几种
  • 免费的汽车网站源码想开广告公司怎么起步
  • 做网站要备案吗北京网站建设公司案例
  • 最好看免费观看高清大全八百电影seo chinaz
  • 利用万网做网站沈阳网站关键词优化公司
  • 网站服务器管理系统谷歌网站
  • 网站制作怎么做图标seo公司优化排名