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