def test_utf_32_decode(self): # When BOM present: it is removed and the proper UTF-32 variant is automatically selected string, num_processed = codecs.utf_32_decode(codecs.BOM_UTF32_LE + b'a\0\0\0b\0\0\0c\0\0\0') self.assertEqual(string, "abc") self.assertEqual(num_processed, 4 * 4) string, num_processed = codecs.utf_32_decode(codecs.BOM_UTF32_BE + b'\0\0\0a\0\0\0b\0\0\0c') self.assertEqual(string, "abc") self.assertEqual(num_processed, 4 * 4) # When no BOM: on little-endian systems, UTF-32 defaults to UTF-32-LE string, num_processed = codecs.utf_32_decode(b'a\0\0\0b\0\0\0c\0\0\0') self.assertEqual(string, 'abc') self.assertEqual(num_processed, 3 * 4) with self.assertRaises(UnicodeDecodeError): codecs.utf_32_decode(b'\0\0\0a\0\0\0b\0\0\0c')
def test_codecs_builtins(self): s = "abc" encoded = codecs.utf_8_encode(s) self.assertEqual(s, codecs.utf_8_decode(encoded[0])[0]) encoded = codecs.utf_7_encode(s) self.assertEqual(s, codecs.utf_7_decode(encoded[0])[0]) encoded = codecs.utf_16_encode(s) self.assertEqual(s, codecs.utf_16_decode(encoded[0])[0]) encoded = codecs.utf_16_le_encode(s) self.assertEqual(s, codecs.utf_16_le_decode(encoded[0])[0]) encoded = codecs.utf_16_be_encode(s) self.assertEqual(s, codecs.utf_16_be_decode(encoded[0])[0]) encoded = codecs.utf_32_encode(s) self.assertEqual(s, codecs.utf_32_decode(encoded[0])[0]) encoded = codecs.utf_32_le_encode(s) self.assertEqual(s, codecs.utf_32_le_decode(encoded[0])[0]) encoded = codecs.utf_32_be_encode(s) self.assertEqual(s, codecs.utf_32_be_decode(encoded[0])[0]) encoded = codecs.utf_32_be_encode(s) self.assertEqual(s, codecs.utf_32_be_decode(encoded[0])[0]) encoded = codecs.raw_unicode_escape_encode(s) self.assertEqual(s, codecs.raw_unicode_escape_decode(encoded[0])[0]) encoded = codecs.unicode_escape_encode(s) self.assertEqual(s, codecs.unicode_escape_decode(encoded[0])[0]) encoded = codecs.latin_1_encode(s) self.assertEqual(s, codecs.latin_1_decode(encoded[0])[0]) encoded = codecs.ascii_encode(s) self.assertEqual(s, codecs.ascii_decode(encoded[0])[0])
def decode(input, errors="strict"): return codecs.utf_32_decode(input, errors, True)
def decode(input, errors='strict'): return codecs.utf_32_decode(input, errors, True)
def update_event(self, inp=-1): self.set_output_val( 0, codecs.utf_32_decode(self.input(0), self.input(1), self.input(2)))