'&' 在 python 字节数组中代表什么

from bs4 import BeautifulSoup

import re


html = """

<div class="ACA_TabRow ACA_FLeft">

 Mailing

 <br/>

 1961 MAIN ST #186

 <br/>

 WATSONVILLE, CA, 95076

 <br/>

 United States

 <br/>

</div>

"""

soup = BeautifulSoup(html,"lxml")

items = soup.find(class_="ACA_TabRow")


items_list = items.text.split('\n')


results = [ x.strip() for x in items_list if x.strip() != '' ]

输出:


print (results)

['Mailing', '1961 MAIN ST #186', 'WATSONVILLE, CA, 95076', 'United States']


繁星点点滴滴
浏览 216回答 1
1回答

有只小跳蛙

它只是带有值26(十进制 38)的字节的表示,这是'&'ASCII 中的字符。如果您打印您使用的字节文字的实际字节值,您可以清楚地看到这一点:>>> print(' '.join('%02x' % b for b in b'\x00\x00\x04\x12\xaa\x12\x12&'))00 00 04 12 aa 12 12 26与repr所述的bytearray物体倾向于代表字节使用ASCII字符,而不是六角逸出只要有可能。所以它会更喜欢表示'&'而不是'\x26',即使它们在技术上是等效的:>>> bytearray([0x00, 0x00, 0x04, 0x12, 0xAA, 0x12, 0x12, 0x26])bytearray(b'\x00\x00\x04\x12\xaa\x12\x12&')>>> b'\x26' == b'&'True
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python