python - 如何修复不是在字符串格式化期间转换的所有参数?
问题描述
我想将一些二进制流更改为十进制,但在字符串格式化期间我没有转换所有参数。关键是我在使用binaryToDecimal (10100000)
哪个10100000
是我列表的第一个值时得到了结果。但是当我使用binaryToDecimal (instream_chunks[0])
which is my for
loop 我得到了上述错误。我该如何解决?我是 python 新手对不起我的简单问题.......
def binaryToDecimal(binary):
binary1 = binary
decimal, i, n = 0, 0, 0
while(binary != 0):
dec = binary % 10
decimal = decimal + dec * pow(2, i)
binary = binary//10
i += 1
print(decimal)
instream = '1010000000011000000110000000001'
instream_chunks = [instream[i:i+8]for i in range (0, len(instream), 8)]
for i in range (len(instream_chunks)):
img_value = binaryToDecimal (instream_chunks[i])
解决方案
在对字符串使用函数之前,您需要将字符串转换为整数。像这样:
def binaryToDecimal(binary):
binary1 = binary
decimal, i, n = 0, 0, 0
while(binary != 0):
dec = binary % 10
decimal = decimal + dec * pow(2, i)
binary = binary//10
i += 1
print(decimal)
instream = '1010000000011000000110000000001'
instream_chunks = [instream[i:i+8]for i in range (0, len(instream), 8)]
for i in range (len(instream_chunks)):
img_value = binaryToDecimal (int(instream_chunks[i]))
推荐阅读
- java - 如何在coldfusion中实现jCrypt java类?
- firebase - React Native Notification Websockets v/s Firestore listener v/s SSE
- azure-active-directory - Azure B2C Active Directory:更新所有用户的一个属性
- java - Javax 验证不适用于值为数组或列表的 Hashmap
- php - 如何从文件返回 ['field1','field2'] 打开数组
- python - 我无法在将用于数据库连接的函数之外访问此变量
- javascript - 扩展 textarea onload 不会扩展 HTML
- c++ - UE4 和 Azure 存储 sdk
- rxjs - redux-observable testing forkJoin 大理石图
- microsoft-graph-api - Microsoft Graph 502 Bad Gateway - 创建专用通道时无法执行后端请求(测试版 API)