komme nicht weiter und im Netz habe ich schon einige Beispeile gefunden, jedoch keine für mich umsetzbare Lösung. Wie ich das herausgelesen habe, ist es entscheidend welche Python Version ich nutze. Benutze die 3.2.2
Zunächst bekomme ich Daten aus einer seriellen Schnittstelle. Wenn ich die Daten direkt in Hex umwandle habe ich keine Probleme. Jedoch entferne ich aus den Daten die Zeilenumbrüche "/n". Nun möchte ich den String auch in Hex umwandeln. Habe schon codecs und binascii es versucht jedoch ohne Erfolg. Wie bekomme ich den string in einen hexstring? Oder kann ich in einem Hexstring die "\n" auch entfernen?
So sieht der Hexstring ohne Formatierung/Replace aus:
b'afc54d48352d2d2d2d65485a2dc53030b2b8c58d0a8d0ab12d303a302e302e30aab2353528b230b83336b2b7b8a98d0ab12d303ab12eb82eb1aab235352830b1303939b82eb83339b1a98d0ab12d303ab22eb82eb1aab235352830b2b4b2b4b72e30b1b2b4a98d0ab12d303a39362e352e35aab2353528b8b2a98d0a302d303a39362eb12eb23535aab2353528303030b2b4b7b73635b2a98d0a218d0aafc54d48352d2d2d2d65485a2dc53030b2b8c58d0a8d0ab12d303a302e302e30aab2353528b230b83336b2'
Code: Alles auswählen
#!/usr/bin/python
#tutorialspoint.com
import serial
from time import *
import os,sys
import time
from struct import *
import binascii
import codecs
while True:
ser = serial.Serial("/dev/ttyUSB0", 9600)
ser.close()
print ("serclose")
#print (Zeichen)
Input = str(Zeichen)
print ("ohne \n:")
Input = Input.replace ("\n","",5)
print ("Ende")
####################################################
# 12.03.2016
hex_zeichen = binascii.hexlify(Zeichen)
print ("Hex:")
print (hex_zeichen)
print ("Ende Hex")
print("String to hex")
string_zeichen = hex(Input)
#string_zeichen = codecs.encode(Input, 'hex')
#string_zeichen = Input.decode("hex")
#string_zeichen = binascii.hexlify(Input)
print (string_zeichen)
print ("Ende string")