python unicode麻烦帮我按句解释下,unicode()函数作用到底是什么?

defConvertStrData(self,strData):myCodec='iso8859'sdata=''ifTrue==isinstance(strData,s... 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=0
if True == isinstance(strData, float):
numtmp = int(strData)
else:
numtmp = strData
sdata = str(numtmp)
sdata=unicode(sdata,myCodec)
return sdata
展开
 我来答
生活类答题小能手
高能答主

2020-04-26 · 专注生活类答题,解决生活问题
生活类答题小能手
采纳数:1644 获赞数:295656

向TA提问 私信TA
展开全部

UNICODE函数wei 预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时的公式语法和用法。如果文本包含部分代理项或数据类型无效,则UNICODE返回错误值#VALUE!。

Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串ABC在Python内部都是ASCII编码的。



扩展资料

Unicode为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。

很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况)。

Unicode编码包含了不同写法的字,如“ɑ/a”、“户/户/戸”。然而在汉字方面引起了一字多形的认定争议。

参考资料来源:百度百科-Unicode

参考资料来源:百度百科-UNICODE 函数

bdwisyou7d
推荐于2017-11-25 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1079万
展开全部
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。

如果它没有重新定义,那么它的程序逻辑中有几处就是错的。 不一致。
更多追问追答
追问
请问,sdata=strData.encode('utf8')
sdata=sdata.decode(myCodec)
这句话倒过来是不是效果是一样的?
都是将strDdata转化成utf-8?
追答
不是这样子的。你这个程序我一直感觉它有问题。有可能它是错的。你从哪里弄来的代码?
比如:sdata=strData.encode('utf8')这句话的意思是将unicde编码成utf-8
而随之来的问题是sdata=sdata.decode(myCodec), 这句话是将string的bytecode,解压成unicode。

不过你原来是用utf-8编码的。为什么解码要用iso8859-1。这样显然是错误的。通常会出现异常。而且这样解码出来的也是乱码啦。

如果它仅仅是为了拿到原始内存中的bytecode,也不用这么decode啊。所以我才认为这个代码有问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
普洛智应
2013-06-27 · 知道合伙人互联网行家
普洛智应
知道合伙人互联网行家
采纳数:410 获赞数:1586
虚拟现实(VR/AR)以及游戏相关技术,物联网以及传感器技术

向TA提问 私信TA
展开全部
就是返回按照myCodec='iso8859'解释的unicode字符串。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式