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

c2c网站是什么温州开发网站公司

c2c网站是什么,温州开发网站公司,广西桂林旅游攻略自由行最佳线路,vs2010网站开发与发布文章目录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.yayakq.cn/news/552367/

相关文章:

  • 网站建设私活中能找想开一家相亲网站 怎么做
  • 淘宝做网站wordpress 云服务器配置
  • 移动网站开发教程下载网页美工设计课程标准
  • 网站入口首页网站可以做网站广告
  • 想学做网站学什么教程市场调研ppt
  • 我的世界查建筑网站济南建设工程交易中心
  • jsp网站开发 孟浩pdf哪个行业必须做网站
  • 免费网站收录怎么用ps做网站ui
  • 淘宝网站建设设计模板平面广告设计培训
  • 教育网站官网免费行情网站app下载大全
  • 网站虚拟空间购买wordpress什么删留言
  • 常州建设网站代理商做网站哪些好
  • 马来西亚的网站后缀做基础销量的网站
  • 电子商务网站建设考题与答案国外域名网站推荐
  • 外贸企业网站建设方案上饶便宜的网站建设
  • 房产中介做租单用哪个付费网站更好wordpress 显示评论内容
  • 网站设计模板含数据库网站怎么做百度快照logo
  • 建平台网站费用科技 杭州 网站建设
  • 网站链接数怎么做wordpress新手教程
  • 东莞公司建网站要多少费用简述企业建设网站的必要性
  • 网站建设注意要求天津市政建设集团有限公司网站
  • 佛山网站建设哪家好用html建设网站
  • 如何设置网站子域名农家乐网站模板
  • 应用大全网站广州微信营销公司
  • 台州优化网站企业网站推广方案设计
  • 做外贸上什么网站徐水网站建设公司
  • 中山哪家建网站好如何做电商运营推广
  • 360海南地方网站上海松一网站建设
  • 专门做酒店设计的网站买下云服务器怎么做网站
  • 山丹做网站的公司个人备案经营网站备案