假設我從Python 中的套接字讀取了一些內容,並且必須將它解碼爲UTF-8。在從Python中的套接字讀取時解碼內容
我不能保留所有內容, ,所以我必須解碼它,因爲我收到並保存到文件。
可能會發生這種情況,我只接收字符的部分字節 (例如,在Python中,信號由三個字節表示爲'\ xe2 \ x82 \ xac')。
假設我只收到前兩個字節(\ xe2 \ x82),如果我試圖解碼 它,我得到'UnicodeDecodeError',如預期的那樣。
我總是可以嘗試對當前內容進行解碼,並檢查它拋出一個異常
- 但是,如何可靠的是這種做法?
- 如何知道或確定我是否可以解碼當前內容?
- 如何正確使用?
感謝
它的工作原理(使用Python 2.7進行)!這個解碼器保持狀態嗎?否則,它如何知道其中已有的可用字節?內存消耗如何? 我需要在每個時間段重新創建解碼器嗎? – user2624744
它可能在某處存儲未解碼的字節。使用UTF-8就意味着它最多可以存儲3個字節。 decode()的第二個參數完成當前的解碼操作,並允許你使用reset()來回收它。 –