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,然后再直接解码显示出来。应该是做特殊用途的。可能是教学目的。也可能是编辑器的需要,或者说调试的需要。
一般不需要这么麻烦。似乎有一个"%b"%strData的办法直接实现这个功能。不过我不记得格式符了。 应该不是%b
在python中unicode也只是一种特殊的编码格式存放。我印象中似乎用的是utf-16,不过有些人说python3里用的是utf-8。
不过在逻辑上unicode是没有编码的格式。进行I/O输出的时候一定要做encode("utf-8")这样类似的操作。
不过unicode是python内部的函数。如果它这么用,显然是自己重新定义了unicode。
如果它没有重新定义,那么它的程序逻辑中有几处就是错的。 不一致。
添加回答
举报
0/150
提交
取消