2016-03-09 89 views
0

我正在使用python3調用另一種語言編寫的函數。該函數返回一個應該是中文字符的字符串。但是我只收到一個字符串b'\ xbb \ xf9 \ xb2 \ xee',而不是我期待的中文字符。我如何將它轉換回我想要的角色?謝謝。python字符串編碼錯誤

更新:該代碼是

temp=ts.RemoteCallFunc("StockIndexFutures_basis",["IF00","SH000300",ts.EncodeDate(2012,3,7),ts.EncodeDate(2012,5,1),"日線"],{}); 

,其結果是一個列表:

[{B '\ XBB \ xf9 \ XB2 \ XEE':7.313000000000102, b'SH000300' :2631.487 , b'date ':b'2012-04-26', b'IF00 ':2638.8},{ b' \ XBB \ xf9 \ XB2 \ XEE ':12.442999999999756, b'SH000300':2626.157, b'date':b'2012-04-27', b'IF00':2638.6}]

+0

發佈您的代碼。 – Idos

+0

除了你的文本以外,哪種編碼是?它看起來不像UTF-8。 –

回答

2

如果要將字節字符串b'\xbb\xf9\xb2\xee'轉換爲正確的字符,可以在字節字符串上調用decode並指定standard codecs之一。例如:

x = b'\xbb\xf9\xb2\xee' 
x.decode('gbk') # gbk is listed as the "unified Chinese" codec 

'基差' 

我只是猜測編解碼器,你可能想試驗一下。

目前尚不清楚您使用的是哪種Python 3.x版本,所以我使用Python 3.1,3.2,3.3和3.4測試了它,結果對於所有版本都是相同的。

+0

謝謝,這正是我正在尋找的。 – cone001