當前位置:首頁 » 編程語言 » 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")
請勿酒後駕車
熱點內容
會員管理系統php 發布:2024-11-27 02:15:41 瀏覽:234
企業php網站系統 發布:2024-11-27 02:14:14 瀏覽:253
佛滔算命源碼 發布:2024-11-27 02:11:01 瀏覽:764
重新搭建伺服器得多久 發布:2024-11-27 02:09:55 瀏覽:796
淘寶秒殺腳本2021 發布:2024-11-27 01:57:09 瀏覽:126
編程刷題網站 發布:2024-11-27 01:56:35 瀏覽:686
python變數存在 發布:2024-11-27 01:56:30 瀏覽:856
手機怎樣更新uc瀏覽器緩存 發布:2024-11-27 01:17:32 瀏覽:75
基因密碼編譯生物 發布:2024-11-27 01:16:23 瀏覽:245
演算法spj 發布:2024-11-27 01:12:02 瀏覽:291