17db96d56Sopenharmony_ci""" Python 'utf-8' Codec
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ciWritten by Marc-Andre Lemburg (mal@lemburg.com).
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ci(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
77db96d56Sopenharmony_ci
87db96d56Sopenharmony_ci"""
97db96d56Sopenharmony_ciimport codecs
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ci### Codec APIs
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ciencode = codecs.utf_8_encode
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_cidef decode(input, errors='strict'):
167db96d56Sopenharmony_ci    return codecs.utf_8_decode(input, errors, True)
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ciclass IncrementalEncoder(codecs.IncrementalEncoder):
197db96d56Sopenharmony_ci    def encode(self, input, final=False):
207db96d56Sopenharmony_ci        return codecs.utf_8_encode(input, self.errors)[0]
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ciclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):
237db96d56Sopenharmony_ci    _buffer_decode = codecs.utf_8_decode
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ciclass StreamWriter(codecs.StreamWriter):
267db96d56Sopenharmony_ci    encode = codecs.utf_8_encode
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ciclass StreamReader(codecs.StreamReader):
297db96d56Sopenharmony_ci    decode = codecs.utf_8_decode
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci### encodings module API
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_cidef getregentry():
347db96d56Sopenharmony_ci    return codecs.CodecInfo(
357db96d56Sopenharmony_ci        name='utf-8',
367db96d56Sopenharmony_ci        encode=encode,
377db96d56Sopenharmony_ci        decode=decode,
387db96d56Sopenharmony_ci        incrementalencoder=IncrementalEncoder,
397db96d56Sopenharmony_ci        incrementaldecoder=IncrementalDecoder,
407db96d56Sopenharmony_ci        streamreader=StreamReader,
417db96d56Sopenharmony_ci        streamwriter=StreamWriter,
427db96d56Sopenharmony_ci    )
43