PYTHONUNICODE(pythonunicode转换函数)
python程序采用unicode编码,一个中文字符对应几个
python程序采用unicode编码,一个中文字符对应两个字节。Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。
python遇到‘\u’开头的unicode编码
web信息中常会遇到“\u4f60\u597d”类型的字符。首先’\u‘开头就基本表明是跟unicode编码相关的,“\u”后的16进制字符串是相应汉字的utf-16编码。python里decode()和encode()为我们提供了解码和编码的方法。其中decode('unicode_escape')能将此种字符串解码为unicode字符串。
比如:
有篇讲python编码的文章比较好,
python 字符串格式的unicode编码转中文
?python对于Unicode编码可以使用decode进行转换成中文:
str = b'\xe8\xb4\xb9\xe8\x84\x91\xe5\xad\x90'
str.decode('utf-8')
'费脑子'
如果是字符串类型的Unicode编码没办法直接用decode进行转换:
?str ="\\xe8\\xb4\\xb9\\xe8\\x84\\x91\\xe5\\xad\\x90"
?str.decode('utf-8')
Traceback (most recent call last):
? File "stdin", line 1, in module
AttributeError: 'str' object has no attribute 'decode'
处理方式:
?str = eval("b" + "\"" + str + "\"")
?str.decode('utf-8')
'费脑子'
python unicode编码
python unicode编码:
下面的代码创建了一个Unicode字符串,用UTF-8编码器将它编码,然后写入到一个文件中去,接着把数据从文件中读回来,解码成Unicode字符串对象,最后,打印出Unicode字符串,用以确认程序正确地运行。
在Linux中编写,在VIM中输入如下代码,保存为uniFile.py
#?/home/xiaopeng/python/code/uniFile.py
'''
An?example?of?reading?and?writing?Unicode?strings:Writes
a?Unicode?string?to?a?file?in?utf-8?and?reads?it?back?in
'''
CODEC?=?'utf-8'?编码方式
FILE?=?'unicode.txt'?要存的文件名
hello_out?=?u"Hello?world\n"?创建了一个Unicode格式的字符串
bytes_out?=?hello_out.encode(CODEC)?用UTF-8编码
f?=?open(FILE,'w')
f.write(bytes_out)?写入指定文件中
f.close()
f?=?open(FILE,'r')
bytes_in?=?f.read()?读取
f.close()
hello_in?=?bytes_in.decode(CODEC)?解码
print?hello_in?打印
在终端中输入:python uniFile.py
结果打印出 Hello world
然后在python目录下会发现多了一个名为unicode.txt的文件,用cat命令查看一下,发现里面的内容和打印的结果一样.
把Unicode应用到实际中注意一下四点:
1?程序中出现字符串时一定要加一个前缀u
2?不要用str()函数,用Unicode()代替
3 不要用过时的string模块。如果传给它非ASCII码,它会把一切搞砸。
4 不到必须时不要在你的程序里编解码Unicode字符,只在你要写入文件或者数据库或者网络时,才调用encode()函数和decode()函数。
python unicode麻烦帮我按句解释下,unicode()函数作用到底是什么?
UNICODE函数wei 预先编写的公式,可以对一个或多个值执行运算,并返回一个或多个值。函数可以简化和缩短工作表中的公式,尤其在用公式执行很长或复杂的计算时的公式语法和用法。如果文本包含部分代理项或数据类型无效,则UNICODE返回错误值#VALUE!。
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。
因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串ABC在Python内部都是ASCII编码的。
扩展资料
Unicode为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。
很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况)。
Unicode编码包含了不同写法的字,如“ɑ/a”、“户/户/戸”。然而在汉字方面引起了一字多形的认定争议。
参考资料来源:百度百科-Unicode
参考资料来源:百度百科-UNICODE 函数
python中怎样将unicode转换成原来的中文?
python默认就是unicode存储。如果是从文件读取的,在open的参数中指定encoding关键字参数就行。如下:
#coding=utf-8/import?json /def?LoadQuestion():? /f?=?open("test.json",'r')? qas?=?json.load(f)? question?=?qas['documents'] /return?question/t?=?LoadQuestion() /print?str(t).decode("unicode-escape") ? ??
拓展资料:
通常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')