2017-09-06 35 views
0

我使用Python 3.5將字節轉換爲ascii並保存在Python中?

我有一對夫婦表示文本的字節串,在不同的編解碼器編碼的這樣:b'mybytesstring',現在有些Utf8另一編碼是latin1等。我想要在以下順序是:

  • 將字節字符串轉換爲ascii像字符串。
  • 將ascii like字符串轉換回字節字符串。
  • 使用正確的編解碼器解碼字節串。

的問題是,我不得不字節字符串移動到的東西,不接受字節的目標,所以我正在尋找一個解決方案,讓我做bytes -> ascii -> bytes安全。

+0

容易得多你的意思是你有不同的'bytes'對象,每個編碼不同?我不明白你想要做什麼'bytes --ascii - > str - ??? - > bytes'? –

+0

是的我有一組'bytes'對象都有不同的編碼。我需要將它們全部放入一個容器,該容器不接受只有字節對象的字節對象。然後,我將它們從容器中取出,並且可以使用正確的編碼正確解碼它們。 – Thagor

回答

0

OK我發現了一個解決方案,它比我想象的

mybytes = 'ëýđþé'.encode() 
str_mybytes = str(mybytes) 
again_mybytes = eval(str_mybytes) 
decoded = again_mybytes.decode('utf8') 
1
x = x.decode().encode('ascii',errors='ignore') 
0

您使用encodedecode方法對於這一點,並提供所需的編碼給他們。我不清楚你是否事先知道編碼。如果你不知道你有麻煩。您可能不得不以某種方式猜測編碼,從而冒着垃圾輸出的風險。

+1

如果你不知道編碼,你可以嘗試使用[chardet](https://pypi.python.org/pypi/chardet)來猜測。 – Eric

相關問題