PYTHONUNICODE(pythonunicode转换函数)

http://www.itjxue.com  2023-02-25 00:58  来源:未知  点击次数: 

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')

(责任编辑:IT教学网)

更多

相关编程综合文章

推荐编程综合文章