title: How to find first byte of a serial stream with python?
body: <p>I am trying to read a Datastream from RS232 with python 3.3.2 and pyserial. I start the stream with:</p>
  
  <pre><code>ser = serial.Serial('/dev/ttyUSB0', baudrate=19200, timeout=3, stopbits=serial.STOPBITS_TWO)
  ser.write(bytes([0x05, 0x69, 0x02, 0x0A, 0x86]))
  </code></pre>
  
  <p>After this i get every second a 107 byte long dataset. First byte should be 107 (number of bytes) and second one should be 105 (Code).</p>
  
  <p>What is the best way to seperate one 107 byte long dataset starting with 107 and 105? If I use <code>print(ser.read(107))</code> a few times I get:</p>
  
  <pre><code>b'\x00\x00\x00\x00\x00P\xbf\x99\x10\xe0}\x86\xaaV\xd4\xeeg\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87}i\xdf\n\x00\x00\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\xc3k\x00\x00\x00\xc0t\xb4\xbd\xf0\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Y\x00\x00\x00\x00\x00\x00\x80\x01\x00\x80\xc7\x10\xc0\xcd\xe6G\x0b\x99\xd4\xcb.'
  b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xeck\x00\x00\x00\xc0\xf4\xb3\xbd\xf0\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0V\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\xc8\x10@\xcd\xe67\x8b\x99\xd4\x0b/\x00\x00@\x00\xf6\xb7\xbf\xfd\xed\xaf:\x00\x00\x00\xe8\xf3J\xaf\x04\x00\x00\x00\x00\x00p\xbf\x99\x18\xe0}\x86\xaaV\xd4\xeeg\x12\x00\x00\x00\x00\x00\x00\x00'
  </code></pre>
  
  <p>The <code>k</code> (ascii for 107) is somewhere in the middle.</p>