rpct.net
当前位置:首页 >> python uniCoDE转换的问题 >>

python uniCoDE转换的问题

word = "\u65b0\u5a18\u8857\u4fe1\u606f"print eval("u'%s'"%word)

1、python2与python3稍微有点区别 2、python2中默认的字符编码格式都是unicode,在字符串前加'u',表示unicode 编码 3、将unicode转换成中文,只需要用deconde解码就可以了 >>> u='欢迎' >>> e=u.encode() >>> e b'\xe6\xac\xa2\xe8\xbf\x8e' >>>

1、python2与python3稍微2113有点区别2、python2中默认的字符编码格式都是unicode,在字符串前5261加'u',表示unicode 编码3、将4102unicode转换成中文,只需要用deconde解码就可以了1653>>> u='欢迎'>>> e=u.encode()>>> eb'\xe6\xac\xa2\xe8\xbf\x8e'>>> e.decode()#python3中默认就是回utf-8编码'欢迎'>>> e.decode('gbk')#如果解码为gbk就是乱码'娆四'python2编码环境比较复杂,在这里答不做详细说明

用decode()就行.decode()方法必须传入一个参数,这个参数就是当前待转码的编码,此函数方法的用意就是将当前编码为Unicode编码.比如就你这提问的此页面:用的编码是gbk,那么你解码为Unicode的方法就是:decode('gbk').声

loads取出后是unicode?我怀疑你用的是python3通常python2时所有IO读写都是byte方式.也就是编码后的.java也是这样子.只有python3还有某些特定的模块才会自动将byte重新转换成unicode在python2里的确可以使用s.decode('gbk','ignore')之类的变成unicode.不过在python3里应该是这样子, s.encode('gbk','ignore')这样就变成了byte如果你喜欢 utf-8,可以s.encode('utf-8','ignore')和s.decode('utf-8','ignore')多试试就可以了. console和文件只支持编码过的字符串.

搂住的说法不准确阿.Unicode跟UTF-8,16之类的完全是不同的.字符有两种,Unicode字符,和normal字符(或叫做bytestring)通常是这样,编码类型A经过解码成为Unicode字符,然后Unicode字符在编码成其他编码类型的字符,这么两种不同编码的字符就可以相互转换.__unicode__()输出的应该是Unicode字符.你说的请考虑两个问题,第一是Python可以做到,第二是C可以收到.第一个问题Python肯定可以做到,第二个问题,我就不知道了,没有研究过和其他语言通信问题.不过还是希望先把概念搞清楚,后面好开展工作啊.

中文格式就是utf8呗 In [1]: s = u"中国" In [2]: s Out[2]: u'\u4e2d\u56fd' In [3]: new = s.encode("utf8") In [4]: print new 中国 In [5]: new Out[5]: '\xe4\xb8\xad\xe5\x9b\xbd' In [6]:如果解决了您的问题请采纳!如果未解决请继续追问

看这个效果估计是py2,特此作答.write方法的参数类型是str,str是二进制流(不包含编码信息),当你给出一个unicode对象时,会执行str函数转换成str类型再送给write方法.unicode转str包含一次编码,如不指定则默认使用ascii编码,而ascii

处理中文编码,最好使用Python3,Python对Unicode的处理更加正确一些.str编码encode会转换为bytesbytes解码decode会转换成str

实现代码如下:a = 'abce'# print type(a)b = a.decode("ascii")# print type(b)c = a.decode("ascii").encode("utf-8")# print type(c) 在python中进行编码转换都是通过unicode作为中间值实现的.所以要先decode成unicode字符,然后再使用encode转换成utf-8编码的str.可以把注释取消了,看下转换过程中的类型.

网站首页 | 网站地图
All rights reserved Powered by www.rpct.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com