是否有任何理由unicode(somestring, 'utf8')
相反somestring.decode('utf8')
?
我唯一想到的是这.decode()
是一个绑定方法,所以python可以更有效地解决它,但如果我错了,请纠正我.
它很容易进行基准测试:
>>> from timeit import Timer >>> ts = Timer("s.decode('utf-8')", "s = 'ééé'") >>> ts.timeit() 8.9185450077056885 >>> tu = Timer("unicode(s, 'utf-8')", "s = 'ééé'") >>> tu.timeit() 2.7656929492950439 >>>
显然,unicode()
更快.
FWIW,我不知道你在哪里得到的方法会更快 - 这恰恰相反.
我更喜欢,'something'.decode(...)
因为unicode
Python 3.0中的类型不再存在,但text = b'binarydata'.decode(encoding)
仍然有效.