Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_Integer - Fatal编程技术网

Python 将字符串转换为整数的快速有效方法

Python 将字符串转换为整数的快速有效方法,python,string,integer,Python,String,Integer,我想将四个字符的字符串文本转换为32位整数,例如,四个空格字符串应返回0x202020。所有字符串元素都是ASCII。我知道像这样的方法很管用 number = ord(text[0]) << 24 | ord(text[1]) << 16 | ord(text[2]) << 8 | ord(text[3]) << 0 但这是相当缓慢和低效的。有没有更快的办法 编辑:这是通过C/Assembler脚本向LCD显示器发送字符串的算法的一部分。字符串

我想将四个字符的字符串文本转换为32位整数,例如,四个空格字符串应返回0x202020。所有字符串元素都是ASCII。我知道像这样的方法很管用

number = ord(text[0]) << 24 | ord(text[1]) << 16 | ord(text[2]) << 8 | ord(text[3]) << 0
但这是相当缓慢和低效的。有没有更快的办法

编辑:这是通过C/Assembler脚本向LCD显示器发送字符串的算法的一部分。字符串必须拆分为包含数字的列表,每个数字代表四个字符


注意。

您可以使用text=>bytes=>int:

int.from_bytes(text.encode(),'big')
快速时间比较:

import timeit

print(timeit.timeit("int.from_bytes(text.encode(),'big')","text = 'abcd'"))
print(timeit.timeit("ord(text[0]) << 24 | ord(text[1]) << 16 | ord(text[2]) << 8 | ord(text[3]) << 0","text = 'abcd'"))

因此,int.from_字节的速度大约是显式位移位速度的两倍。

根据您的应用程序,idtext可能是一个选项。此转换有什么用途?@schwobasegll将数据发送到C/汇编脚本,然后将其发送到LCD显示器
0.21847990699999997
0.4186516309999999