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)