(root)/
Python-3.11.7/
Lib/
test/
testcodec.py
       1  """ Test Codecs (used by test_charmapcodec)
       2  
       3  Written by Marc-Andre Lemburg (mal@lemburg.com).
       4  
       5  (c) Copyright 2000 Guido van Rossum.
       6  
       7  """#"
       8  import codecs
       9  
      10  ### Codec APIs
      11  
      12  class ESC[4;38;5;81mCodec(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mCodec):
      13  
      14      def encode(self,input,errors='strict'):
      15  
      16          return codecs.charmap_encode(input,errors,encoding_map)
      17  
      18      def decode(self,input,errors='strict'):
      19  
      20          return codecs.charmap_decode(input,errors,decoding_map)
      21  
      22  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):
      23      pass
      24  
      25  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):
      26      pass
      27  
      28  ### encodings module API
      29  
      30  def getregentry():
      31  
      32      return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
      33  
      34  ### Decoding Map
      35  
      36  decoding_map = codecs.make_identity_dict(range(256))
      37  decoding_map.update({
      38          0x78: "abc", # 1-n decoding mapping
      39          b"abc": 0x0078,# 1-n encoding mapping
      40          0x01: None,   # decoding mapping to <undefined>
      41          0x79: "",    # decoding mapping to <remove character>
      42  })
      43  
      44  ### Encoding Map
      45  
      46  encoding_map = {}
      47  for k,v in decoding_map.items():
      48      encoding_map[v] = k