Python判断编码的问题

pythondef 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呢?这段程序的用意是什么?

阅读 3k
2 个回答

这个程序是判断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是不是都是汉字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题