这是脚本:
#!/usr/bin/python
#coding: utf-8
str='ŞÜÖ'
a = len(str)
print str
print a
输出是:
ŞÜÖ
6
第一个问题是:如何让它向我展示它声称的6个字符..
,第二个问题是..
是否可以确保python可以将这些视为" 1"上面例子中每个字符的字符换句话说总共3个字符?
答案 0 :(得分:8)
在Python2中,str
是一个字节序列。该字符串由6个字节组成:
In [136]: text = 'ŞÜÖ'
In [137]: list(text)
Out[137]: ['\xc5', '\x9e', '\xc3', '\x9c', '\xc3', '\x96']
如果您解码str
以制作unicode
:
In [138]: unitext = text.decode('utf-8')
然后unitext
由3个unicode字符组成:
In [139]: len(unitext)
Out[139]: 3
In [140]: list(unitext)
Out[140]: [u'\u015e', u'\xdc', u'\xd6']