Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Diese Schreibweise dient dem Compiler dazu *bevor* das Programm abläuft beliebige Bytewerte als ASCII-Zeichenfolgen verarbeiten zu können. Das hier sollte gehen:
@winterfest: Wenn es Dir soweit klar ist, dann habe ich Dir gerade die Lösung gesagt. Wo ist denn da jetzt das Problem? Das '\x..' ist eine Schreibweise für *literale* Bytewerte. Das ist für den Quelltext und die Übersetzung und nicht für die Laufzeit.
Ich denke mal du brauchst chr(var) - zumindest in Python 2.x. Alternativ koennte auch das Modul struct von Interesse sein. In Python 3 liefert chr einen unicode string zurueck - ob's da auch was fuer bytes gibt weiss vielleicht jemand hier.
@winterfest: Dein Problem wurde verstanden, Du ignorierst bloss die Antwort. Hier ist noch einmal die gleiche Antwort wie oben (für Python 3.x, denn bei Python 2.x würden die b'…' nicht so viel Sinn machen):
@winterfest: Jetzt hör doch bitte mal mit dem b'\x' + irgendwas auf. Nach dem x müssen zur *Übersetzungszeit* zwei *feste* Zeichen *direkt* in der *gleichen* Zeichen-/Bytekette im *Quelltext* stehen. Noch so viel Wünschen und Hoffen Deinerseits, dass man den Quatsch nur oft genug hinschreiben muss und dann geht das irgendwann auf magische Weise, wird daran etwas ändern.
`var` musst Du nicht zusammen bauen, das ist der Bytewert. Eine Zahl. In Deinem Fall dann wohl die Länge von der Nachricht.