Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中解码字节对象的最快方法是什么?_Python_Utf 8 - Fatal编程技术网

在Python中解码字节对象的最快方法是什么?

在Python中解码字节对象的最快方法是什么?,python,utf-8,Python,Utf 8,我正在解码大量的小utf-8字符串 什么是最快的解码方式?如果你所说的最快是指运行最快,那么正常的字节解码方式应该可以做到这一点 py -m timeit "b'test'.decode('utf8')" 1000000 loops, best of 5: 215 nsec per loop py -m timeit "str(b'test', 'utf8')" 1000000 loops, best of 5: 339 nsec per loop 如

我正在解码大量的小utf-8字符串


什么是最快的解码方式?

如果你所说的最快是指运行最快,那么正常的字节解码方式应该可以做到这一点

py -m timeit "b'test'.decode('utf8')"
1000000 loops, best of 5: 215 nsec per loop

py -m timeit "str(b'test', 'utf8')"
1000000 loops, best of 5: 339 nsec per loop
如果您对差异感兴趣,我猜这是因为str经过了两次实例创建机制。str开始实例化一个新字符串,从而产生开销,到达uuu new_uuuu,然后从encodedobject转到PyUnicode_


然而,bytes.decode直接从encodedobject到同一个PyUnicode_,事先不做任何操作。

编码最快?跑得最快?另外,请提供一些示例输入和预期结果output@snakecharmerbstr开始创建实例并产生开销,到达uu new_uu,然后从encodedobject转到PyUnicode_,而bytes.decode直接从encodedobject转到PyUnicode_。我更新了我的答案以反映这一点。非常感谢!如何获取相关的Python源代码?@SeanChambers1 Python的源代码托管在GitHub上。字节的相关代码是