NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

hex_codec.py (1205B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\encodings\hex_codec.py
      2 import codecs, binascii
      3 
      4 def hex_encode(input, errors = 'strict'):
      5     output = binascii.b2a_hex(input)
      6     return (output, len(input))
      7 
      8 
      9 def hex_decode(input, errors = 'strict'):
     10     output = binascii.a2b_hex(input)
     11     return (output, len(input))
     12 
     13 
     14 class Codec(codecs.Codec):
     15 
     16     def encode(self, input, errors = 'strict'):
     17         return hex_encode(input, errors)
     18 
     19     def decode(self, input, errors = 'strict'):
     20         return hex_decode(input, errors)
     21 
     22 
     23 class IncrementalEncoder(codecs.IncrementalEncoder):
     24 
     25     def encode(self, input, final = False):
     26         return binascii.b2a_hex(input)
     27 
     28 
     29 class IncrementalDecoder(codecs.IncrementalDecoder):
     30 
     31     def decode(self, input, final = False):
     32         return binascii.a2b_hex(input)
     33 
     34 
     35 class StreamWriter(Codec, codecs.StreamWriter):
     36     pass
     37 
     38 
     39 class StreamReader(Codec, codecs.StreamReader):
     40     pass
     41 
     42 
     43 def getregentry():
     44     return codecs.CodecInfo(name='hex', encode=hex_encode, decode=hex_decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, streamreader=StreamReader)