Python二進位制串轉換為通用字串的方法

2022-09-27 08:15:13 字數 765 閱讀 1787

乙個小問題

今天在做乙個實驗時,需要對乙個包含中英文詞彙的txt檔案進行讀入和整理。

python**的編碼規則為utf-8。在讀入時,檔案的每www.cppcns.com行是二進位制串,形如:

b'heroes\xff.....

在對每行進一步進行處理時,要求處理物件必須為通用字串,所以:

linevec = str(line).strip().split('\t')

此時ickft的linevec的元素型別為string,但輸出是仍然是 「b'heros\xff…..」 ,仍然無法擺脫二進位制標誌的影響。然而,尷尬的是,在後邊對以linevec元素作為鍵的字典進行索引時,只能獲得通用字串的鍵。所以,每次索引都以keyerror退出。

在多次嘗試之後,我發現:二進位制串在經過str()函式轉化之後,已經將所有的內容都轉化成了乙個通用的字串。也就是說,「b'heros\xff……」中的所有字元都是可以用python的字串處理手段處理的。

給定乙個 word=」b'heros」,如果希望得到通用字串形式的單詞」heros」,那麼我們程式設計客棧可以直接取字串word的第3至最後乙個字母,或將「b'程式設計客棧」直接替換掉:

newword = word[2:-1]

#或newword = word.replace("b'",'') #因為單引號是python中表示字串的特殊功能字元,所以被替換的字

符寫作'b''會報錯。需要用雙引號把單引號括起來。

在用上面的方法把字典鍵都更新了一遍之後,世界瞬間和諧了。

一些擴充

十進位制 轉換為 二進位制

聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...

Python下十進位制轉換為二進位制

前兩天,在讀高中的姨弟找我,說他資訊考試有一道題不會,要在python下把十進位制轉換為二進位制,問我會不會,我沒學過python,c只學會了皮毛,靠著一丁點對程式設計的了解,網上查了查,總算拼湊出來了。ps python下是有現成函式的,只不過不符合題目要求,所以沒用 如下 coding utf ...

將負數轉換為二進位制

我們已經知道計算機中,所有資料最終都是使用二進位制數表達。我們也已經學會如何將乙個10進製數如何轉換為二進位制數。不過,我們仍然沒有學習乙個負數如何用二進位制表達。比如,假設有一 int 型別的數,值為5,那麼,我們知道它在計算機中表示為 00000000 00000000 00000000 000...