PYTHON字符串转数字,数字转字符串;数字转bytes,bytes转数字;字符串转bytes,bytes转字符串。数字表达字符串

字符串str转数字:
  • float(str)
  • int(str)
数字num转字符串
  • str(num)
a ='1234'
print('a = ',a)
print(type(a))
b = int(a)
print('b = ',b)
print(type(b))
c = float(a)
print('c = ',c)
print(type(c))
d = str(b)
print('d = ',d)
print(type(d))
f = 1.234
ff = str(f)
print('ff = ',ff)
print(type(ff))

在这里插入图片描述

数字num转bytes
  • 需将num转为str,再利用codec的encode函数,将str转为bytes:encode(str(num))
bytes转数字
  • int(bytes)
  • float(bytes)
from codecs import encode, decode

b = b'1.234'
print('b = ',b)
print(type(b))
c = float(b)
print('c = ',c)
print(type(c))
d = str(c)
e = encode(d)
print('e = ',e)
print(type(e))
f = decode(e)
print('f = ',f)
print(type(f))

在这里插入图片描述

字符串转bytes

方法1

from codec import encode,decode
encode(str)

方法2

bytes(str,'UTF-8')

bytes转字符串

方法1

from codec import encode,decode
decode(bytes)

方法2

str(bytes,'UTF-8')

数字表达字符串

cmd ='\x02\x73\x54\x49\x20\x03\x0a'

在这里插入图片描述

综合例子

在这里插入图片描述
在这里插入图片描述

SPLIT = '\x20'
LF ='\x0a'

def controller_resp(cmd,statuses,data = None):
    '''
    cmd: 接收到的控制器命令,用于返回给控制器,字符串
    statuses: 对靶装置状态信息,用于返回给控制器,字符串
    data: 发送给控制器的数据,用于返回给控制器,注意:data为列表!!里面的数据为str类型!!
    '''
    data_str = ''
    # 生成要发送的数据:数据+校验和+分割符(0x20)
    if data != None:
        for i in data:
            data_str = data_str + i + 'P'+SPLIT #字符串

    statuses_part = statuses + 'P'+SPLIT #字符串

        #if self.__check_cmd(cmd,self.CONTROLLER_LOGOUT):
            #cmd[:-2]表明去掉最后的'\n'
            # 命令行+状态部分+ 数据部分
    if cmd[-1] == '\n' and cmd[-2] == chr(0x03):
        command = cmd[:-2] + statuses_part + data_str + LF
    elif cmd[-1] == chr(0x03):
        command = cmd[:-1] + statuses_part + data_str + LF
    
    return command #返回命令行字符串
cmd ='\x02\x73\x4c\x44\x20\x03\x0a'
print(cmd)
#cmd = bytes(cmd,'UTF-8')

print(cmd[-1] == '\n')
statuses = '00'

result = controller_resp(cmd,statuses)
print(result)
for i in result:
    
    print(ord(i),i)

在这里插入图片描述

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值