MQTTメッセージのバイナリデータ使用の検証

933 ワード

python 3はテキストおよびバイナリデータを比較的明確に区別した.テキストは常にUnicodeであり、strタイプで表され、バイナリデータはbytesで表され、strbytesをこっそり混ぜ合わせることなく、両者の違いがより明らかになる.
 # print("       "+str(msg.payload.decode(encoding="utf-8")))
   # print("           :"+str(type(msg.payload.decode(encoding="utf-8"))))

このように元のプログラムではmsg.payloadの後ろの復号decodequを求めます.
この部分は
    
    print("     :"+msg.topic)
    print("       "+str(msg.payload))
    print("       "+str(type(msg.payload)))

送信先が
while(1):
    d=input("       :")
    
    #a=time.asctime(time.localtime(time.time()))
    #a=time.time()
    client.publish("A",d)
    
   
    time.sleep(1)
  

このような運転結果は
受信データのタイプはbytesであり、以前のstrタイプではないことが検出された.