fly*_*ire 9 python unicode urlencode utf-8 internationalization
我想url编码python字符串并获得希伯来字符串的异常.我无法解决它并开始做一些猜测导向的编程.最后,mystr = mystr.encode("utf8")
在将其发送到url编码器之前执行保存当天.
有人可以解释发生了什么吗?.encode("utf8")有什么作用?我的原始字符串无论如何都是unicode字符串(即以au为前缀).
det*_*tly 13
我的原始字符串无论如何都是unicode字符串(即以au为前缀)
......这是问题所在.它不是"字符串",而是"Unicode对象".它包含一系列Unicode代码点.当然,这些代码点必须具有Python所知道的一些内部表示,但无论它是什么都被抽象掉了,\uXXXX
当你这些代码时它们被显示为那些实体print repr(my_u_str)
.
要获得另一个程序可以理解的字节序列,您需要获取Unicode代码点序列并对其进行编码.您需要决定编码,因为有很多可供选择.UTF8和UTF16是常见的选择.ASCII也可以,如果它适合.u"abc".encode('ascii')
工作得很好.
不要my_u_str = u"\u2119ython"
再type(my_u_str)
和type(my_u_str.encode('utf8'))
看到类型的区别:第一是<type 'unicode'>
,第二个是<type 'str'>
.(无论如何,在Python 2.5和2.6下).
Python 3中的情况有所不同,但由于我很少使用它,如果我试图说出任何权威的话,我就会说出来.
归档时间: |
|
查看次数: |
9223 次 |
最近记录: |