mirror of
				https://github.com/python/cpython.git
				synced 2025-10-23 01:43:53 +00:00 
			
		
		
		
	 98297ee781
			
		
	
	
		98297ee781
		
	
	
	
	
		
			
			No detailed change log; just check out the change log for the py3k-pep3137 branch. The most obvious changes: - str8 renamed to bytes (PyString at the C level); - bytes renamed to buffer (PyBytes at the C level); - PyString and PyUnicode are no longer compatible. I.e. we now have an immutable bytes type and a mutable bytes type. The behavior of PyString was modified quite a bit, to make it more bytes-like. Some changes are still on the to-do list.
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """ Test Codecs (used by test_charmapcodec)
 | |
| 
 | |
| Written by Marc-Andre Lemburg (mal@lemburg.com).
 | |
| 
 | |
| (c) Copyright 2000 Guido van Rossum.
 | |
| 
 | |
| """#"
 | |
| import codecs
 | |
| 
 | |
| ### Codec APIs
 | |
| 
 | |
| class Codec(codecs.Codec):
 | |
| 
 | |
|     def encode(self,input,errors='strict'):
 | |
| 
 | |
|         return codecs.charmap_encode(input,errors,encoding_map)
 | |
| 
 | |
|     def decode(self,input,errors='strict'):
 | |
| 
 | |
|         return codecs.charmap_decode(input,errors,decoding_map)
 | |
| 
 | |
| class StreamWriter(Codec,codecs.StreamWriter):
 | |
|     pass
 | |
| 
 | |
| class StreamReader(Codec,codecs.StreamReader):
 | |
|     pass
 | |
| 
 | |
| ### encodings module API
 | |
| 
 | |
| def getregentry():
 | |
| 
 | |
|     return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
 | |
| 
 | |
| ### Decoding Map
 | |
| 
 | |
| decoding_map = codecs.make_identity_dict(range(256))
 | |
| decoding_map.update({
 | |
|         0x78: "abc", # 1-n decoding mapping
 | |
|         b"abc": 0x0078,# 1-n encoding mapping
 | |
|         0x01: None,   # decoding mapping to <undefined>
 | |
|         0x79: "",    # decoding mapping to <remove character>
 | |
| })
 | |
| 
 | |
| ### Encoding Map
 | |
| 
 | |
| encoding_map = {}
 | |
| for k,v in decoding_map.items():
 | |
|     encoding_map[v] = k
 |