考慮到該bytes類型不一定是一個(gè)字符串,一個(gè)如何可以看到的實(shí)際字節(jié)(一和零,或八進(jìn)制/十六進(jìn)制的這樣的表示)bytes對(duì)象?嘗試print()或使用pprint()這樣的對(duì)象會(huì)導(dǎo)致打印對(duì)象的字符串表示形式(假設(shè)使用某種編碼,可能是ASCII或UTF-8),并在b其前加上字符以表明數(shù)據(jù)類型實(shí)際上是字節(jié):$ python3Python 3.2.3 (default, Oct 19 2012, 19:53:16) >>> from pprint import pprint>>> s = 'hi'>>> print(str(type(s)))<class 'str'>>>> se = s.encode('utf-8')>>> print(str(type(se)))<class 'bytes'>>>> print(se)b'hi'>>> pprint(se)b'hi'>>>請(qǐng)注意,我專門指的是Python3。謝謝!
3 回答

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
使用bin,oct或hex和訪問使用括號(hào)標(biāo)記字節(jié):
>>> print(hex(se[0]))
0x68
>>> print(hex(se[1]))
0x69
顯然一個(gè)周期會(huì)更好:
for a_byte in se:
print (bin(a_byte))

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用Python字符串格式顯示字節(jié)的十六進(jìn)制值:
>>> se = b'hi'
>>> ["{0:0>2X}".format(b) for b in se]
['68', '69']

隔江千里
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
>>> s = b'hi'
>>> s
b'hi'
>>> print(s)
b'hi'
>>> for i in s:
print(i)
104
105
>>> y = 'hi'
>>> for i in y:
print(i)
h
i
>>>
添加回答
舉報(bào)
0/150
提交
取消