(root)/
Python-3.12.0/
Lib/
encodings/
charmap.py
       1  """ Generic Python Character Mapping Codec.
       2  
       3      Use this codec directly rather than through the automatic
       4      conversion mechanisms supplied by unicode() and .encode().
       5  
       6  
       7  Written by Marc-Andre Lemburg (mal@lemburg.com).
       8  
       9  (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
      10  
      11  """#"
      12  
      13  import codecs
      14  
      15  ### Codec APIs
      16  
      17  class ESC[4;38;5;81mCodec(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mCodec):
      18  
      19      # Note: Binding these as C functions will result in the class not
      20      # converting them to methods. This is intended.
      21      encode = codecs.charmap_encode
      22      decode = codecs.charmap_decode
      23  
      24  class ESC[4;38;5;81mIncrementalEncoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mIncrementalEncoder):
      25      def __init__(self, errors='strict', mapping=None):
      26          codecs.IncrementalEncoder.__init__(self, errors)
      27          self.mapping = mapping
      28  
      29      def encode(self, input, final=False):
      30          return codecs.charmap_encode(input, self.errors, self.mapping)[0]
      31  
      32  class ESC[4;38;5;81mIncrementalDecoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mIncrementalDecoder):
      33      def __init__(self, errors='strict', mapping=None):
      34          codecs.IncrementalDecoder.__init__(self, errors)
      35          self.mapping = mapping
      36  
      37      def decode(self, input, final=False):
      38          return codecs.charmap_decode(input, self.errors, self.mapping)[0]
      39  
      40  class ESC[4;38;5;81mStreamWriter(ESC[4;38;5;149mCodec,ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamWriter):
      41  
      42      def __init__(self,stream,errors='strict',mapping=None):
      43          codecs.StreamWriter.__init__(self,stream,errors)
      44          self.mapping = mapping
      45  
      46      def encode(self,input,errors='strict'):
      47          return Codec.encode(input,errors,self.mapping)
      48  
      49  class ESC[4;38;5;81mStreamReader(ESC[4;38;5;149mCodec,ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamReader):
      50  
      51      def __init__(self,stream,errors='strict',mapping=None):
      52          codecs.StreamReader.__init__(self,stream,errors)
      53          self.mapping = mapping
      54  
      55      def decode(self,input,errors='strict'):
      56          return Codec.decode(input,errors,self.mapping)
      57  
      58  ### encodings module API
      59  
      60  def getregentry():
      61      return codecs.CodecInfo(
      62          name='charmap',
      63          encode=Codec.encode,
      64          decode=Codec.decode,
      65          incrementalencoder=IncrementalEncoder,
      66          incrementaldecoder=IncrementalDecoder,
      67          streamwriter=StreamWriter,
      68          streamreader=StreamReader,
      69      )