def ConvertStrData(self, strData):myCodec='iso8859'sdata=''if True == isinstance(strData, str):sdata=unicode(strData,myCodec) //這句話到底是什么意思?elif True == isinstance(strData, unicode):sdata=strData.encode('utf8')sdata=sdata.decode(myCodec)else:numtmp=0if True == isinstance(strData, float):numtmp = int(strData)else:numtmp = strDatasdata = str(numtmp)sdata=unicode(sdata,myCodec)return sdata
2 回答

MYYA
TA貢獻1868條經驗 獲得超4個贊
unicode函數按它的上下文來理解應該說就是這一句話的意思sdata=sdata.decode(myCodec)
這個ConvertStrData函數應該是將所有的str ,unicode, int,float數據類型都轉換成utf-8,然后再直接解碼顯示出來。應該是做特殊用途的??赡苁墙虒W目的。也可能是編輯器的需要,或者說調試的需要。
一般不需要這么麻煩。似乎有一個"%b"%strData的辦法直接實現這個功能。不過我不記得格式符了。 應該不是%b
在python中unicode也只是一種特殊的編碼格式存放。我印象中似乎用的是utf-16,不過有些人說python3里用的是utf-8。
不過在邏輯上unicode是沒有編碼的格式。進行I/O輸出的時候一定要做encode("utf-8")這樣類似的操作。
不過unicode是python內部的函數。如果它這么用,顯然是自己重新定義了unicode。
如果它沒有重新定義,那么它的程序邏輯中有幾處就是錯的。 不一致。
添加回答
舉報
0/150
提交
取消