python
def isG(s): rc = s.decode("GB18030"); for i in rc: k = i.encode("GB18030"); if len(k) != 2: return False; return True;
看到这样一段代码,不是很理解。为什么要从GB18030解码成Unicode后,又编码成GB18030呢?这段程序的用意是什么?
这个程序是判断s是否都为汉字
(python解释器中实验如下)
>>>for i in rc:
... k = i.encode("GB18030")
... print len(k)
...
2
>>> for i in rc:
... print len(i)
...
1
可见汉字GB18030编码一个字符的长度为2,从而进行判断。
判断参数s是不是都是汉字