Python十六進制字元
⑴ python如何將16進制轉換成字元串
s=''.join(map(lambda e:'%X' %(ord(e)),repr('中國')))
print s
⑵ python 16進制字元串怎樣顯示
你自己做一個函數
或
x=22
print '%x'%x
⑶ python 16進制轉字元串
#將16進制字元轉成二進制字元
defstr2byte(s):
base='0123456789ABCDEF'
i=0
s=s.upper()
s1=''
whilei<len(s):
c1=s[i]
c2=s[i+1]
i+=2
b1=base.find(c1)
b2=base.find(c2)
ifb1==-1orb2==-1:
returnNone
s1+=chr((b1<<4)+b2)
returns1
s='C7EBCEF0BEC6BAF3BCDDB3B5'.replace('','')#去掉空格
s1=str2byte(s)
prints1.decode('gbk')#以gbk編碼解碼輸出
#結果
>>>s1
''
>>>prints1.decode('gbk')
請勿酒後駕車
⑷ python 16進制字元串轉int
python里常規整型數的位數和機器的位數以及編譯器位數有關,分為32位和64位。從python2.2開始,如果int()的參數超出常規整型數范圍,結果會自動轉換成長整型,而長整型數的位數只和機器的內存大小有關。
所以你要想像C那樣自動截取超出的位,估計只能用位運算了。
你可以參考這個文檔,看有沒有其他辦法。
html">http://legacy.python.org/dev/peps/pep-0237/
⑸ python 把16進制字元串轉化為16進制數字, 比如『0x0012e』,轉化為0x0012e
Python2.7.13(default,Jan192017,14:48:08)
[GCC6.3.020170118]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>s='0x0012e'
>>>b=int(s,16)
>>>b
302
>>>print('{:x}'.format(b))
12e
>>>print('{:#x}'.format(b))
0x12e
>>>print('{:#07x}'.format(b))
0x0012e
⑹ python 如何將16進制數據字元串去掉0x部分,然後轉換成16進制數據寫入到文件中
#-*-coding:utf-8-*-
__author__='lpe234'
__date__='2015-04-01'
hex_list=['0xAA','0xED','0xEF','0xDE']
f=file('x.txt','a+')
forxinhex_list:
ifx.startswith('0x'):
x=x[2:]
printx
f.write(x+' ')
f.close()
輸出文件:
AA
ED
EF
DE
⑺ python里怎麼把字元串轉化為16進製表示
python里常規整型數的位數和機器的位數以及編譯器位數有關,分為32位和64位。從python2.2開始,如果int()的參數超出常規整型數范圍,結果會自動轉換成長整型,而長整型數的位數只和機器的內存大小有關。
所以你要想像C那樣自動截取超出的位,估計只能用位運算了。
你可以參考這個文檔,看有沒有其他辦法。
http://legacy.python.org/dev/peps/pep-0237/
⑻ python讀取字元串中間的16進制數字
這個轉了十進制又轉了十六進制,都是string,而不是數值
print出來,是以string 輸出的。
分享一個我以前的
#比如hex.log 裡面是E3F2A1
#就要往文件out.bin里寫 0xE3 0xF2 0xA1
import string
HEX_file_name = "hex.log"
BIN_file_name = "out.bin"
input_file = open(HEX_file_name,'r')
output_file = open(BIN_file_name,'wb')
for lines in input_file.readlines():
lines = lines.replace(' ','').replace('\n','').upper()
for i in range(0, len(lines), 2):
chars = lines[i:i+2]
output_file.write(chr(int(chars, 16)))
input_file.close()
output_file.close()
核心就是
for i in range(0, len(lines), 2):
chars = lines[i:i+2]
output_file.write(chr(int(chars, 16)))
看懂了就懂了
out.bin可以用ultraedit或者notepad++十六進制查看
⑼ python 16進制字元串怎麼轉換成16進制整數
hex_str = "0xff"
hex_int = int(hex_str, 16)
print(hex_int)#255