<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_struct_encodedu32(self):
 """Get a EncodedU32 number."""

        useful = []
        while True:
            byte = ord(self._src.read(1))
            useful.append(byte)
            if byte < 127:
                # got all the useful bytes
                break

        # transform into bits reordering the bytes
        useful = ['00000000' + bin(b)[2:] for b in useful[::-1]]

        # get the top 7 (*seven*, as the eight one is the flag) and convert
        return int(''.join([b[-7:] for b in useful]), 2)