python bytes(some_string,' UTF-8')和str(some_string,' UTF-8')

时间:2016-12-22 08:31:56

标签: python string encoding utf-8 character-encoding

我想将为python3编写的代码改编为python2.7而这样做我因为这两个而得到错误

  

字节(some_string,' UTF-8')和str(some_string,' UTF-8')

我的问题:

遵循正确的方式来调整str(some_string,' UTF-8')

  

a = str(some_string)

     

a = a.encode(' UTF-8')

以及如何在python3中引入字节(some_string,' UTF-8'),因为python3中引入了字节。

1 个答案:

答案 0 :(得分:2)

只需some_stringstr(some_string)将在python2中执行,因为some_string已经是ascii字符串,并且这两个操作都将其转换为str类型。 在python 3中,str类型与python 2中的unicode类型相同。

请阅读this answer,我认为它可以很好地回答您的问题。

  

在Python 2中,str和bytes的类型相同:

     

bytes is str True在Python 3中,str类型是Python 2的unicode类型,它是所有字符串的默认编码。

换句话说,python 2中的bytes(some_string, 'UTF-8')只是str(some_string),因为str 一个字节字符串。