from __future__ import unicode_literals

吃可爱长大的小学妹 提交于 2019-11-29 03:26:43

在Python中有些库的接口要求参数必须是str类型字符串,有些接口要求参数必须是unicode类型字符串。
    对于str类型的字符串,调用len()和遍历时,其实都是以字节为单位的,这个太坑爹了,同一个字符使用不同的编码格式,长度往往是不同的。
    对unicode类型的字符串调用len()和遍历才是以字符为单位,这是我们所要的。
  另外,Django,Django REST framework的接口都是返回unicode类型的字符串。
    为了统一,我个人建议使用from __future__ import unicode_literals,将模块中显式出现的所有字符串转为unicode类型,不过,对于必须使用str字符串的地方要加以注意。
关于字符串类型,也是Python2坑爹的地方

 

为了适应Python 3.x的新的字符串的表示方法,在2.7版本的代码中,可以通过unicode_literals来使用Python 3.x的新的语法

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!