欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 十六進(jìn)制整數(shù)與ASCii編碼字符串相互轉(zhuǎn)換方法

 更新時(shí)間:2018年07月09日 13:58:51   作者:假小牙  
今天小編就為大家分享一篇Python 十六進(jìn)制整數(shù)與ASCii編碼字符串相互轉(zhuǎn)換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在使用Pyserial與STM32進(jìn)行通訊時(shí),遇到了需要將十六進(jìn)制整數(shù)以Ascii碼編碼的字符串進(jìn)行發(fā)送并且將接收到的Ascii碼編碼的字符串轉(zhuǎn)換成十六進(jìn)制整型的問題。查閱網(wǎng)上的資料后,均沒有符合要求的,遂結(jié)合各家之長(zhǎng),用了以下方法。

環(huán)境

Python2.7 + Binascii模塊

十六進(jìn)制整數(shù)轉(zhuǎn)ASCii編碼字符串

# -*- coding: utf-8 -*-
import binascii
#16進(jìn)制整數(shù)轉(zhuǎn)ASCii編碼字符串
a = 0x665554
b = hex(a) #轉(zhuǎn)換成相同的字符串即'0x665554'
b = b[2:]  #截取掉'0x'
c = binascii.a2b_hex(b) #轉(zhuǎn)換成ASCii編碼的字符串
print("a:%x, b:%s,c:%s" %(a,b,c))
print type(a)
print type(b)
print type(c)

測(cè)試結(jié)果:

a:665554, b:665554,c:fUT
<type 'int'>
<type 'str'>
<type 'str'>

ASCii編碼字符串轉(zhuǎn)十六進(jìn)制整數(shù)

# -*- coding: utf-8 -*-
import binascii
c = 'fUT'
e = 0  #暫存結(jié)果
for i in c:
  d = ord(i) #單個(gè)字符轉(zhuǎn)換成ASCii碼
  e = e*256 + d  #將單個(gè)字符轉(zhuǎn)換成的ASCii碼相連
print("e:%x" %e)
print type(e)

測(cè)試結(jié)果:

e:665554
<type 'int'>

可以看到,以上兩段小程序順利實(shí)現(xiàn)了這個(gè)設(shè)計(jì)要求

以上這篇Python 十六進(jìn)制整數(shù)與ASCii編碼字符串相互轉(zhuǎn)換方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論