将Python 2 Unicode移植到Python 3

时间:2013-03-12 04:20:12

标签: python unicode python-3.x porting

我目前正在将一些代码从Python 2.x移植到3.x,但我遇到了麻烦。当我试图改变时:

base = unicode(base, FSENCODING, "replace")

我认为3想要的是,

base = str(base, FSENCODING, "replace")

不能说str无法解码。如果我尝试:

base = b'\x80abc'.decode(base, FSENCODING, "replace")

我得到一个错误,说这只能用两个参数而不是我提供的三个参数。

2 个答案:

答案 0 :(得分:1)

尝试:

base = b'\x80abc'.decode(FSENCODING, "replace")

答案 1 :(得分:1)

base = str(base, FSENCODING, "replace")

是对的。你也可以这样做:

base = base.decode(FSENCODING, "replace")

这是一回事。

如果没有错误信息,可能会出现问题。