(root)/
Python-3.12.0/
Lib/
encodings/
mbcs.py
       1  """ Python 'mbcs' Codec for Windows
       2  
       3  
       4  Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py,
       5  which was written by Marc-Andre Lemburg (mal@lemburg.com).
       6  
       7  (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
       8  
       9  """
      10  # Import them explicitly to cause an ImportError
      11  # on non-Windows systems
      12  from codecs import mbcs_encode, mbcs_decode
      13  # for IncrementalDecoder, IncrementalEncoder, ...
      14  import codecs
      15  
      16  ### Codec APIs
      17  
      18  encode = mbcs_encode
      19  
      20  def decode(input, errors='strict'):
      21      return mbcs_decode(input, errors, True)
      22  
      23  class ESC[4;38;5;81mIncrementalEncoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mIncrementalEncoder):
      24      def encode(self, input, final=False):
      25          return mbcs_encode(input, self.errors)[0]
      26  
      27  class ESC[4;38;5;81mIncrementalDecoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mBufferedIncrementalDecoder):
      28      _buffer_decode = mbcs_decode
      29  
      30  class ESC[4;38;5;81mStreamWriter(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamWriter):
      31      encode = mbcs_encode
      32  
      33  class ESC[4;38;5;81mStreamReader(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamReader):
      34      decode = mbcs_decode
      35  
      36  ### encodings module API
      37  
      38  def getregentry():
      39      return codecs.CodecInfo(
      40          name='mbcs',
      41          encode=encode,
      42          decode=decode,
      43          incrementalencoder=IncrementalEncoder,
      44          incrementaldecoder=IncrementalDecoder,
      45          streamreader=StreamReader,
      46          streamwriter=StreamWriter,
      47      )