Base64 解码

原始数据是这样的:

20180418164146,1,3,1,600,653576,3681,-614,68,1,14,0,0,10006,0,117317608,31874154,1,1,3853,1,49,3818,1,2,32,1,1,31,96,DvsO9Q8ADw0O7g7zDwgO9Q8ADwcO7Q8GDu8O7Q8DDvEPCA7uDvoO/w7vDwkO8Q7vDwIO8g8KDvEO/w7uDu4O8A7uDv0O8g7wDvAO+w7vDu4O7w78Du8O7g7sDvoO7Q7vDuoO7A7uDu0O7Q74Du0O7Q7sDvwO8A7xDu8O+g7uDvAO7g78Du8O8A7xDv0O8Q70DvEO+w7vDwoO8g7xDwAO8Q8IDu4O+g8FDvAPCQ7wDu8PAQ7xDwgO8A78DwMO7g7x,5,R0hHR0c=,0,0,2,48,3648,630,74,3720,-634

其中,我们所需要的字段为

DvsO9Q8ADw0O7g7zDwgO9Q8ADwcO7Q8GDu8O7Q8DDvEPCA7uDvoO/w7vDwkO8Q7vDwIO8g8KDvEO/w7uDu4O8A7uDv0O8g7wDvAO+w7vDu4O7w78Du8O7g7sDvoO7Q7vDuoO7A7uDu0O7Q74Du0O7Q7sDvwO8A7xDu8O+g7uDvAO7g78Du8O8A7xDv0O8Q70DvEO+w7vDwoO8g7xDwAO8Q8IDu4O+g8FDvAPCQ7wDu8PAQ7xDwgO8A78DwMO7g7x

这是Base64编码的数值,利用Python解码:

import base64
a = 'DvsO9Q8ADw0O7g7zDwgO9Q8ADwcO7Q8GDu8O7Q8DDvEPCA7uDvoO/w7vDwkO8Q7vDwIO8g8KDvEO/w7uDu4O8A7uDv0O8g7wDvAO+w7vDu4O7w78Du8O7g7sDvoO7Q7vDuoO7A7uDu0O7Q74Du0O7Q7sDvwO8A7xDu8O+g7uDvAO7g78Du8O8A7xDv0O8Q70DvEO+w7vDwoO8g7xDwAO8Q8IDu4O+g8FDvAPCQ7wDu8PAQ7xDwgO8A78DwMO7g7x'
b = base64.b64decode(a)

这时编码a被解码为一个16进制(HEX)的类型为byte的元素b。

其中,\x代表16进制

        \为转义字符

        八进制转义字符。由反斜杠'\'和随后的1~3个八进制数字构成的字符序列。例如,'\60'、'\101'、'\141'分别表示字符'0'、'A'和'a'。因为字符'0'、'A'和'a'的ASCII码的八进制值分别为60、101和141。

          十六进制转义字符。由反斜杠'\'和字母x(或X)及随后的1~2个十六进制数字构成的字符序列。例如,'\x30'、'\x41'、'\X61'分别表示字符'0'、'A'和'a'。因为字符'0'、'A'和'a'的ASCII码的十六进制值分别为0x30、0x41和0x61。

 

不看每一个“\x”,每四位16进制数组成了一个单体的电压。如:第一个单体电压为0efb(HEX),转换成十进制为3835(DEC),即3.835V

第k个单体电压即为:

c = (b[k*2] * 16 *16 + b[2*k+1])/1000

 

       

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值