1.python中字符与字符串在类型上是没有区别的,即字符只是是长度为1的字符串。这一点不同于C语言。
2.由于计算机只认识数字(确切的讲,只认识0和1),而不认识字符图形这些东西。因此为了表现字符这东西,它就建立了一张表,大概如下:
1->a
2->b
......
然后在需要表示字符的时候就根据数字去查这张表。
这就是字符和字符值的转换转换的缘由,当然实际上的表,由于编码系统的不同,内容也不尽相同。
python中比较典型的有ascii 码表,unicode码表以及utf-8码表。
linux 下,查看ascii码表可以在shell命令行下,执行:man ascii
查找码表将字符转换成对应的码值 ord 函数:
ascii -> dec
print (ord('a'))
unicode -> dec
print (ord(u"你")) #u表明字符串是unicode编码的,在这里的意思是让ord函数从unicode码表中找值
查找码表将对应的码值转换成 chr函数及unichr函数
dec -> ascii
print chr(97) #从ascii码表查值
dec->unicode
print unichr(20320) #从unicode码表查值
注意:
=======================
python中有一个函数str容易与chr混淆。对比例子:
print chr(97) # a
print str(97) #'97'