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