python中文字符串前为什么加u?

Python020

python中文字符串前为什么加u?,第1张

python中文字符串前为什么加u?因为u可以针对任何字符串。u不只连接汉语, 可以连接所有的字符串。它表示可以对字符串进行unicode编码.常理来说英文字符在使用各种编码下, 一般都可以正常解析, 所以一般也就不带u了。

Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。 Python是纯粹的自由软件,源代码和解释器CPython遵循GPL协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。 Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

# -*- coding: UTF-8 -*- 这句是告诉python程序中的文本是utf-8编码,让python可以按照utf-8读取程

中文前加u就是告诉python后面的是个unicode编码,存储时按unicode格式存储。

# -*- coding: gbk -*-

import sys

reload(sys)

print sys.getdefaultencoding()

print u'中文'

print unicode('中文','gbk')

你运行下这个程序,就能看出来,python2默认是ascii,虽然你文件使用的gbk,但是不会影响默认编码。

print u'中文',这个是直接定义一个unicode字符串。

unicode('中文')这个是生成unicode对象,解释器会对内容使用默认编码进行解码,转换成unicode,默认的是ascii,所以报错,你指定gbk就可以了。

如果解决了您的问题请采纳!

如果未解决请继续追问