Exemplo n.º 1
0
    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')
Exemplo n.º 2
0
    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])
Exemplo n.º 3
0
def decode(input, errors="strict"):
    return codecs.utf_32_decode(input, errors, True)
Exemplo n.º 4
0
def decode(input, errors='strict'):
    return codecs.utf_32_decode(input, errors, True)
Exemplo n.º 5
0
 def update_event(self, inp=-1):
     self.set_output_val(
         0, codecs.utf_32_decode(self.input(0), self.input(1),
                                 self.input(2)))