Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Bytes in String

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Bytes in String

    Ich habe hier ein Registerliste aus dem Modbus. Dort ist ein Text in Bytes. Wann das letzten Byte 0 ist, ist der Text zu Ende. Wie kann ich mit python eine Byte-Kette in einen Strng umwandeln?

    Probiert habe ich da smit dem BinaryPayloadDecoder, aber da kommt nur Unsinn raus:

    Code:
    registerValue = self._Pluggit.read_holding_registers(values[self.DICT_READ_ADDRESS], values[self.DICT_ADDRESS_QUANTITY])
    vdecoder = BinaryPayloadDecoder.fromRegisters(registerValue.registers, byteorder=Endian.Big, wordorder=Endian.Little)
    vresult = vdecoder.decode_string(8)
    Zuletzt geändert von Cannon; 04.05.2020, 22:39.

    #2
    Also

    Code:
    foo = b'Eine Zeichenkette mit Daten\x00hier kommt nur noch iregenwas anderes ausser null eun derferjher'
    bar = foo.split(b'\x00')[0]
    baz = bar.decode('ascii')
    bar sollte nur noch deinen String enthalten. Jetzt kannst Du das noch in utf-8 konvertieren wie mit baz gezeigt unter der Annahme, das im String reine ASCII Daten sind. Wenn Du da eine andere Zeichencodierung hast, so mußt Du da was anderes angeben.

    Kommentar

    Lädt...
    X