gpt4 book ai didi

python - 在 Python 中使用字节数组

转载 作者:行者123 更新时间:2023-11-30 23:54:39 24 4
gpt4 key购买 nike

如何在 Python 中实现以下代码(ActionScript)?

var bytes:ByteArray = new ByteArray();
var text:String = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus etc.";

bytes.writeUTFBytes(text); // write the text to the ByteArray
trace("The length of the ByteArray is: " + bytes.length); // 70
bytes.position = 0; // reset position
while (bytes.bytesAvailable > 0 && (bytes.readUTFBytes(1) != 'a')) {
//read to letter a or end of bytes
}
if (bytes.position < bytes.bytesAvailable) {
trace("Found the letter a; position is: " + bytes.position); // 23
trace("and the number of bytes available is: " + bytes.bytesAvailable); // 47
}

我查看了 bytearray,认为这段代码涵盖了前 4 行:

text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus etc."
bytes = bytearray(text)
print "The length of the ByteArray is: " + str(len(bytes))

从第 5 行开始,我不确定 Python 的等效项。例如,我找不到 position 方法,但可以使用 bytes[i],其中 i 是我想要检索的字节数组中的位置。

谢谢。

最佳答案

try:
index = bytes.index('a')
print "Found letter a in position", index
# we substract 1 because the array is 0-indexed.
print "Bytes available:", len(bytes) - index - 1
except ValueError:
print "Letter a not found"

这个解决方案比 ActionScript 代码更清晰、更易读,甚至遵循 EAFP Python哲学。

x[x.index('a')] == 'a',这意味着 x.index('a') 将返回a 第一次出现(如果字节数组中没有 a,则会引发 ValueError)。

关于python - 在 Python 中使用字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5022556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com