Patch #429957: Add support for cp1140, which is identical to cp037,

with the addition of the euro character.
Also added a few EDBDIC aliases.
This commit is contained in:
Martin v. Löwis 2001-06-07 19:39:25 +00:00
parent e2ccb89513
commit 13b8bc5478
2 changed files with 50 additions and 0 deletions

View File

@ -32,6 +32,11 @@ aliases = {
# ASCII
'us_ascii': 'ascii',
# EBCDIC
'ebcdic_cp_us': 'cp037',
'ibm039': 'cp037',
'ibm1140': 'cp1140',
# ISO
'8859': 'latin_1',
'iso8859': 'latin_1',

45
Lib/encodings/cp1140.py Normal file
View File

@ -0,0 +1,45 @@
""" Python Character Mapping Codec for cp1140
Written by Brian Quinlan(brian@sweetapp.com). NO WARRANTY.
"""
import codecs
import copy
import cp037
### 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 = copy.copy(cp037.decoding_map)
decoding_map.update({
0x009f: 0x20ac # EURO SIGN
})
### Encoding Map
encoding_map = codecs.make_encoding_map(decoding_map)