mirror of
https://github.com/python/cpython.git
synced 2024-11-25 10:54:51 +08:00
41980caf64
ut-32-be). On narrow builds the codecs combine surrogate pairs in the unicode object into one codepoint on encoding and create surrogate pairs for codepoints outside the BMP on decoding. Lone surrogates are passed through unchanged in all cases. Backport to the trunk will follow.
38 lines
930 B
Python
38 lines
930 B
Python
"""
|
|
Python 'utf-32-le' Codec
|
|
"""
|
|
import codecs
|
|
|
|
### Codec APIs
|
|
|
|
encode = codecs.utf_32_le_encode
|
|
|
|
def decode(input, errors='strict'):
|
|
return codecs.utf_32_le_decode(input, errors, True)
|
|
|
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
|
def encode(self, input, final=False):
|
|
return codecs.utf_32_le_encode(input, self.errors)[0]
|
|
|
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
|
_buffer_decode = codecs.utf_32_le_decode
|
|
|
|
class StreamWriter(codecs.StreamWriter):
|
|
encode = codecs.utf_32_le_encode
|
|
|
|
class StreamReader(codecs.StreamReader):
|
|
decode = codecs.utf_32_le_decode
|
|
|
|
### encodings module API
|
|
|
|
def getregentry():
|
|
return codecs.CodecInfo(
|
|
name='utf-32-le',
|
|
encode=encode,
|
|
decode=decode,
|
|
incrementalencoder=IncrementalEncoder,
|
|
incrementaldecoder=IncrementalDecoder,
|
|
streamreader=StreamReader,
|
|
streamwriter=StreamWriter,
|
|
)
|