Ham ikili veriler içeren bir tcp çerçeve oluşturmam gerekiyor, ancak baytlar hakkında konuştuğum tüm örnekler ve eğiticiler her zaman bir dizeden dönüştürme içeriyor ve buna ihtiyacım yok. Kısacası Python 3 Bayt dizisi oluşturma
, sadece bir bayt dizisi oluşturmak gerekir:0xA2 0x01 0x02 0x03 0x04
C/C++ Dünya geldiğini unutmayınız.
Bu denedim: İstediğimi içermiyor çerçeve olarak beklendiği gibi ... Sonra
frame = b""
frame += bytes(int('0xA2',16))
frame += bytes(int('0x01',16))
frame += bytes(int('0x02',16))
frame += bytes(int('0x03',16))
frame += bytes(int('0x04',16))
, soket yöntemini göndermek için bu çerçeve değişkeni atmak, ancak çalışmıyor
Bu Python hakkında çok basit bir soru olduğunu biliyorum, bu yüzden bana doğru yönde bana işaret edebilirseniz ...
Yukarıdaki kodla ilgili sorun, bir liste yerine bir tamsayı verilirse, baytların çok farklı davranmasıdır. Frame + = bayt ([int ('0xa2', 16)]) 'kullanmalısınız. –
Bunu dinamik olarak yapmak istediğinizi biliyorum (ed), ancak tamamen belirsiz olan şey şudur: giriş baytları nereden geliyor? Metin dosyasından onaltılık notasyon okuyor musunuz? Her baytı aşağı kaynak koduna yazarsınız? Onları stdin'den ikili okumadan aldığın bir arkadaşın var mı? –