python常用的十进制、1陆进制、字符串、字节串之间的转移

字符串转整数:

  • 10进制字符串: int(’10’)  ==>  10
  • 16进制字符串: int(‘十’, 1六)  ==>  1陆
  • 1陆进制字符串: int(‘0x拾’, 1陆)  ==>  1陆

python常用的10进制、1陆进制、字符串、字节串之间的转移(短时间更新帖)

开始展览协商剖析时,总是会遇上精彩纷呈的数码转变的难题,从二进制到10进制,从字节串到整数等等

废话不多上,直接上例子

平头之间的进制调换:

拾进制转1陆进制: hex(1陆) ==> 0x1016进制转10进制: int(‘0x十’, 16)
==> 1陆 类似的还有oct(), bin()


字符串转整数:
十进制字符串: int(’10’) ==> 101陆进制字符串: int(‘十’, 16) ==>
161陆进制字符串: int(‘0x10’, 1六) ==> 1陆


字节串转整数:
转义为short型整数: struct.unpack(‘ (1, 0)转义为long型整数:
struct.unpack(‘ (1,)


平头转字节串:
转为多个字节: struct.pack(‘ b’\x01\x00\x02\x00’转为八个字节:
struct.pack(‘ b’\x01\x00\x00\x00\x02\x00\x00\x00’


字符串转字节串:
字符串编码为字节码: ‘1贰abc’.encode(‘ascii’) ==>
b’1贰abc’数字或字符数组: bytes([1,2, ord(‘1’),ord(‘2’)]) ==>
b’\x01\x021二’1陆进制字符串: bytes().fromhex(‘010二拾’) ==>
b’\x01\x02\x10’1陆进制字符串: bytes(map(ord, ‘\x01\x02\x31\x32′))
==> b’\x01\x021二’1陆进制数组: bytes([0x01,0x02,0x31,0x32]) ==>
b’\x01\x0212’


字节串转字符串:
字节码解码为字符串: bytes(b’\x31\x32\x61\x6二’).decode(‘ascii’)
==> 1二ab字节串转1六进制表示,夹带ascii:
str(bytes(b’\x01\x0212′))[2:-1] ==>
\x01\x0212字节串转1陆进制表示,固定多个字符表示:
str(binascii.b二a_hex(b’\x01\x0212′))[2:-1] ==>
0102313二字节串转1六进制数组: [hex(x) for x in bytes(b’\x01\x0212′)]
==> [‘0x1’, ‘0x2’, ‘0x31’, ‘0x32’]

===================

测试用的python源码

'''
Created on 2014年8月21日

@author: lenovo
'''
import binascii
import struct


def example(express, result=None):
    if result == None:
        result = eval(express)
    print(express, ' ==> ', result)


if __name__ == '__main__':

    print('整数之间的进制转换:')
    print("10进制转16进制", end=': ');example("hex(16)")
    print("16进制转10进制", end=': ');example("int('0x10', 16)")
    print("类似的还有oct(), bin()")

    print('\n-------------------\n')

    print('字符串转整数:')
    print("10进制字符串", end=": ");example("int('10')")
    print("16进制字符串", end=": ");example("int('10', 16)")
    print("16进制字符串", end=": ");example("int('0x10', 16)")

    print('\n-------------------\n')

    print('字节串转整数:')
    print("转义为short型整数", end=": ");example(r"struct.unpack('

以上原理都相比较轻便,看一下就明白了。这里仅仅是进行试探,有更加好更简便易行的形式,应接迎接

http://www.bkjia.com/Pythonjc/872020.htmlwww.bkjia.comtruehttp://www.bkjia.com/Pythonjc/872020.htmlTechArticlepython常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
举行议和分析时,总是会遭遇丰富多彩的数量调换的主题素材,从二进…

测试用的python源码

 

import binascii  
import struct  


def example(express, result=None):  
    if result == None:  
        result = eval(express)  
    print(express, ' ==> ', result)  


if __name__ == '__main__':  

    print('整数之间的进制转换:')  
    print("10进制转16进制", end=': ');example("hex(16)")  
    print("16进制转10进制", end=': ');example("int('0x10', 16)")  
    print("类似的还有oct(), bin()")  

    print('\n-------------------\n')  

    print('字符串转整数:')  
    print("10进制字符串", end=": ");example("int('10')")  
    print("16进制字符串", end=": ");example("int('10', 16)")  
    print("16进制字符串", end=": ");example("int('0x10', 16)")  

    print('\n-------------------\n')  

    print('字节串转整数:')  
    print("转义为short型整数", end=": ");example(r"struct.unpack('<hh', bytes(b'\x01\x00\x00\x00'))")  
    print("转义为long型整数", end=": ");example(r"struct.unpack('<L', bytes(b'\x01\x00\x00\x00'))")  

    print('\n-------------------\n')  

    print('整数转字节串:')  
    print("转为两个字节", end=": ");example("struct.pack('<HH', 1,2)")  
    print("转为四个字节", end=": ");example("struct.pack('<LL', 1,2)")  

    print('\n-------------------\n')  

    print('字符串转字节串:')  
    print('字符串编码为字节码', end=": ");example(r"'12abc'.encode('ascii')")  
    print('数字或字符数组', end=": ");example(r"bytes([1,2, ord('1'),ord('2')])")  
    print('16进制字符串', end=': ');example(r"bytes().fromhex('010210')")  
    print('16进制字符串', end=': ');example(r"bytes(map(ord, '\x01\x02\x31\x32'))")  
    print('16进制数组', end =': ');example(r'bytes([0x01,0x02,0x31,0x32])')  

    print('\n-------------------\n')  

    print('字节串转字符串:')  
    print('字节码解码为字符串', end=": ");example(r"bytes(b'\x31\x32\x61\x62').decode('ascii')")  
    print('字节串转16进制表示,夹带ascii', end=": ");example(r"str(bytes(b'\x01\x0212'))[2:-1]")  
    print('字节串转16进制表示,固定两个字符表示', end=": ");example(r"str(binascii.b2a_hex(b'\x01\x0212'))[2:-1]")  
    print('字节串转16进制数组', end=": ");example(r"[hex(x) for x in bytes(b'\x01\x0212')]")  


    print('\n===================\n')  

 

 

转自:https://blog.csdn.net/crylearner/article/details/38521685

 

字节串转整数:

  • 转义为short型整数: struct.unpack(‘<hh’,
    bytes(b’\x01\x00\x00\x00′))  ==>  (1, 0)
  • 转义为long型整数: struct.unpack(‘<L’,
    bytes(b’\x01\x00\x00\x00′))  ==>  (1,)

废话不多上,间接上例子

平头转字节串:

  • 转为七个字节: struct.pack(‘<HH’, 一,二)  ==>
     b’\x01\x00\x02\x00′
  • 转为多个字节: struct.pack(‘<LL’, 一,贰)  ==>
     b’\x01\x00\x00\x00\x02\x00\x00\x00′

平头之间的进制调换:

  • 10进制转16进制: hex(16)  ==>  0x10
  • 16进制转10进制: int(‘0x10’, 16)  ==>  16

就像的还有oct(), bin()


字符串转字节串:

  • 字符串编码为字节码: ’12abc’.encode(‘ascii’)  ==>  b’1二abc’
  • 数字或字符数组: bytes([1,2, ord(‘1’),ord(‘2′)])  ==>
     b’\x01\x0212’
  • 1陆进制字符串: bytes().fromhex(‘0十2拾’)  ==>  b’\x01\x02\x10′
  • 16进制字符串: bytes(map(ord, ‘\x01\x02\x31\x32′))  ==>
     b’\x01\x0212’
  • 1陆进制数组: bytes([0x01,0x02,0x31,0x32])  ==>  b’\x01\x0212′

进行协商解析时,总是会蒙受五光十色的多寡转换的标题,从二进制到十进制,从字节串到整数等等

字节串转字符串:

  • 字节码解码为字符串: bytes(b’\x31\x32\x61\x62′).decode(‘ascii’)
     ==>  12ab
  • 字节串转16进制表示,夹带ascii: str(bytes(b’\x01\x0212′))[2:-1]
     ==>  \x01\x0212
  • 字节串转1六进制表示,固定七个字符表示:
    str(binascii.b2a_hex(b’\x01\x0212′))[2:-1]  ==>  01023132
  • 字节串转1六进制数组: [hex(x) for x in bytes(b’\x01\x0212′)]
     ==>  [‘0x1’, ‘0x2’, ‘0x31’, ‘0x32’]

===================

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图