Python中的字符串
首先,需要说明python的字符串类型。在python中,字符串的类型分为str和unicode两种类型。
str使用的是ASCII编码,只能表示英文字符串。
unicode使用的是unicode编码,可以表示任何类型的字符串。在使用时需要在字符串前加’u'或者‘U'。 (注:python中没有像C语言中的char类型来表示单个字符,在python中单个字符也是字符串)
其次,python可以将任何输入值转化为字符串。利用的就是str()和repr()两个函数。理论上两种函数有着比较大的差别。
str()转化为便于人阅读的形式
repr()转化为编译解释器读取的形式
针对字符串和浮点数时,两种解读方式才会有比较大的差别,这里不再做详细讨论。
实战小程序:print repr(u'中国') 的运行结果是什么?
样例代码:
#coding=utf-8
print repr(u'中国')
输出结果为:
u'\u4e2d\u56fd'
另一种可能的输出结果为:
u'\xd6\xd0\xb9\xfa'
这里的答案就是原始的十六进制编码,上面的输出为解码后的情况
样例代码中事先声明了utf-8的编码格式(utf-8是一种传输和保存的编码格式),所以会在程序中对unicode进行再编码。