當前位置:首頁 » 編程語言 » 16進制字元串python

16進制字元串python

發布時間: 2024-06-12 05:55:19

python3 16進制字元串、列表、字元串之間的轉換

在Python操作數據內容時,多數情況下可能遇到下面3種類型的數據處理:

hexstring 如:ƇC532145697A8B6F'

str 如:'x1Cx53x21x45x69x7Ax8Bx6F'

list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]

各種第三方模塊(如pyDes),或者自己寫的介面中,可能存在由於類型不統一需要在這3種數據中來回切換的情況。

需要用到的核心的方法如下:

list() 將對象轉換為list

str() 將對象轉換為str

bytearray() 將對象轉換為bytearray

bytearray.fromhex() 將對象從hexstring轉換為bytearray

binascii.b2a_hex() 將對象從str轉換為hexstring

如:[0x53, 0x21, 0x6A] -> 'x53x21x6a'

方法:list -> bytearray -> str

如:'x53x216a' -> [0x53, 0x21, 0x6A]
方法:逐個字元轉成十進制

如: [0x53, 0x21, 0x6A] -> �A'
方法:list -> bytearray -> str -> hexstring

如: �A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list

如: �A' -> 'x53x21x6A'
方法:hexstring -> bytearray -> str

以上內容轉自: https://blog.csdn.net/diaoxuesong/article/details/72123415#

⑵ 如何用python將utf8編碼的16進制字元串轉換成對應的文字

#coding:utf-8
'''
參考用
mystery=b"xe5x88xab"
x=mystery.decode('utf-8')
print(x)


y=bytearray.fromhex(xe5x88xab).decode()
print(y)
'''

var=1
whilevar==1:
a=input('輸入UTF-8的16進制編碼: ')

b=list(a)

#print(b)

leng=len(b)

i=0

while(i<(1.5*leng)):
b.insert(i,'\x')
i+=3

#print(b)

c=str(''.join(b))

#print(c)

d='b'+"'"+c+"'"

#print(d)

x=eval(d).decode('utf8')
print('轉換結果為: {} '.format(x))

我這個是輸入沒有x這種形式的,如輸入「44」(代表「D」的16進制UTF8碼),輸出"D"

如果你需要輸入形如x44這種,需要自己修改一下。

⑶ 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
2.6以後內置函數
#10進制轉為2進制
>>>
bin(10)
'0b1010'
#2進制轉為10進制
>>>
int("1001",2)
9
#10進制轉為16進制
>>>
hex(10)
'0xa'
#16進制到10進制
>>>
int('ff',
16)
255
>>>
int('0xab',
16)
171
#十進制轉為八進制
>>print("%o"
%
10)
>>12
#16進制到2進制
>>>
bin(0xa)
'0b1010'
>>>

⑸ 在Python里 16進制的字元串怎麼轉化為漢字呢

做下進制轉換就行了
#python 2.6以後內置函數

#10進制轉為2進制
>>> bin(10)
'0b1010'

#2進制轉為10進制
>>> int("1001",2)
9

#10進制轉為16進制
>>> hex(10)
'0xa'

#16進制到10進制
>>> int('ff', 16)
255

>>> int('0xab', 16)
171

#十進制轉為八進制
>>print("%o" % 10)
>>12

#16進制到2進制
>>> bin(0xa)
'0b1010'
>>>

⑹ 如何用python將utf8編碼的16進制字元串轉換成對應的文字

你所指的utf-8編碼的16進制字元串應該是在IDE中顯示的問題。如果你要顯示對應的文字,可以將它轉為字元串數據(如果你是用list形式顯示了字元串信息而顯示出來是16進制的話),也可以將它輸出到文本中。

⑺ python我怎麼把數組裡面的每個字元串轉換成16進制數啊

  1. 先把字元串轉化為數字格式,

  2. 再用hex()把十進度數字轉化為十六進制數

代碼如下:

source=['1','2','3','4']
destination=[]
foriteminsource:
destination.append(hex(int(item)))
print(destination)

輸出如下:

['0x1','0x2','0x3','0x4']

⑻ python 16進制轉字元串

你的16進制的串「C7 EB CE F0 BE C6 BA F3 BC DD B3 B5」是gbk編碼的,通過以下方法可以轉為字元串。

>>>s="C7EBCEF0BEC6BAF3BCDDB3B5"
>>>s=s.replace("","")
>>>prints.decode("hex")
請勿酒後駕車
熱點內容
renderscriptandroid 發布:2025-01-18 09:32:18 瀏覽:992
安卓手機如何拍游戲素材 發布:2025-01-18 09:30:59 瀏覽:347
廣州日立壓縮機有限公司 發布:2025-01-18 09:15:08 瀏覽:623
伺服器兩條寬頻如何疊加網速 發布:2025-01-18 08:52:17 瀏覽:730
oracle存儲過程集合 發布:2025-01-18 08:42:39 瀏覽:884
洋蔥數學緩存 發布:2025-01-18 08:38:36 瀏覽:918
電影的文件夾都是 發布:2025-01-18 08:21:49 瀏覽:835
post提交php 發布:2025-01-18 08:21:42 瀏覽:460
如何禁止寫入文件夾 發布:2025-01-18 08:21:04 瀏覽:363
360雲盤等待上傳 發布:2025-01-18 08:21:03 瀏覽:796