![](/img/trans.png)
[英]How to convert FlatBuffer message from binary to human readable text format with Python?
[英]Convert a binary number to human readable text
我正在使用Python 3.3。
我從串行端口獲取數據,每個字節對應一個整數。 (沒有數字大於255,因此沒有多字節數字)。
我一直在嘗試長時間將其以人類可讀的文本形式寫入文本文件,因此我尋求幫助。
如果我從串行端口獲取值0b10000111,如何在文本文件中將此數字顯示為“ 135”? 這聽起來像一個簡單的任務,但是我已經很努力了!
我還想添加一個逗號來分隔值(字節)。
這就是我一直在嘗試的:
import sys
import serial
port = serial.Serial('COM4', 115200)
fileID = open('output.txt', 'a')
while(1):
data = port.read(size=1)
if data != 0:
#MISSING SOME CONVERSION HERE... Tried a lot of things,
#but none have been correct.
fileID.write(data)
fileID.write(',')
您知道data
的大小為1,而您感興趣的只是第一個字節。 首先,您需要將該字節轉換為整數,然后轉換為字符串。
fileID.write(str(ord(data[0])))
現在可以正常工作了,我想與其他很棒的人分享代碼:
import sys
import serial
port = serial.Serial('COM4', 115200, timeout=0)
data = b''
while(1):
data = port.read()
print(data)
if data != b'':
fileID = open('output.txt', 'a')
fileID.write(str(ord(data)))
fileID.write(',')
fileID.close()
port.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.