读取一个字符串 :return:
(self)
| 183 | |
| 184 | @ranges((0x00, 0x1f), (0x30, 0x33), 0x52, ord('S')) |
| 185 | def read_string(self): |
| 186 | """ |
| 187 | 读取一个字符串 |
| 188 | :return: |
| 189 | """ |
| 190 | value = self.read_byte() |
| 191 | string = '' |
| 192 | while value == 'R': |
| 193 | length = unpack('!h', self.read_bytes(2))[0] |
| 194 | string += self._read_utf(length) |
| 195 | value = self.read_byte() |
| 196 | |
| 197 | if value == ord('S'): |
| 198 | length = unpack('!h', self.read_bytes(2))[0] |
| 199 | elif 0x00 <= value <= 0x1f: |
| 200 | length = value |
| 201 | else: |
| 202 | length = (value - 0x30) << 8 | self.read_byte() |
| 203 | |
| 204 | string += self._read_utf(length) |
| 205 | return string |
| 206 | |
| 207 | @ranges((0x60, 0x6f), ord('O')) |
| 208 | def read_object(self): |
no test coverage detected