1. 程式人生 > >輸出的字串中有空格並且無法替換B e a r e r N D c y Z T g 4 N z A t N 2 N h Z C 0 0 Y 2 E 4 L T g x M W E t O D Y

輸出的字串中有空格並且無法替換B e a r e r N D c y Z T g 4 N z A t N 2 N h Z C 0 0 Y 2 E 4 L T g x M W E t O D Y

###1.檔案如下:

Request url: appv2.qichacha.net/app/v1/extras/getVersion?platform=android&version=11.3.0&timestamp=1543816102814&sign=ddcd278ee55ab7feebef448ef4629663ba23483d
Request header:
GET /app/v1/extras/getVersion?platform=android&version=11.3.0&timestamp=1543816102814&sign=ddcd278ee55ab7feebef448ef4629663ba23483d HTTP/1.1
Authorization: Bearer NDcyZTg4NzAtN2NhZC00Y2E4LTgxMWEtODYxZmZlYmNjNDlm
Host: appv2.qichacha.net
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.6.0

Request body: 

Response code: 200
Response body: {"status":200,"message":"成功","result":{"version_no":"11.7.0","platform":"android","content":"【新增】新增超級會員SVIP模式,享有更多特權;\n【新增】企業主頁新增人脈雷達,求合作找熟人引薦;\n【新增】老闆主頁風險掃描新增:限制消費;\n【新增】新增應用:終本案件查詢;\n【新增】新增更多行政處罰資訊;\n【優化】更多細節優化,不斷提升體驗","description":"","url":"https://co-image.qichacha.com/upload/apk/qichacha_11.7.0.apk","home_page":"","force_update":"0","is_lastest_version":"0","build_no":""}}


2.獲取檔案中的Authorization的值

data = []
for line in open("e.txt","r",errors='ignore'):
    data.append(line)
if data[3]:
    Authorization = data[3].encode("utf8").decode("utf8").split(":")[-1]
    print(Authorization)

3.以上程式碼執行結果中一直有空格

B e a r e r N D c y Z T g 4 N z A t N 2 N h Z C 0 0 Y 2 E 4 L T g x M W E t O D Y x Z m Z l Y m N j N D l m

最後找到原因,

因為我的e.txt是fiddler抓包自動儲存下來的,預設的儲存的編碼方式是gbk。

解決辦法,將e.txt另存一下,選擇編碼方式為utf-8.就可以正常輸出Authorization的值:

Bearer NDcyZTg4NzAtN2NhZC00Y2E4LTgxMWEtODYxZmZlYmNjNDlm