Last change
on this file since 610 was 2, checked in by Yuri Dario, 15 years ago |
Initial import for vendor code.
|
-
Property svn:eol-style
set to
native
|
File size:
1.0 KB
|
Line | |
---|
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 Codec(codecs.Codec):
|
---|
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 StreamWriter(Codec,codecs.StreamWriter):
|
---|
23 | pass
|
---|
24 |
|
---|
25 | class StreamReader(Codec,codecs.StreamReader):
|
---|
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: u"abc", # 1-n decoding mapping
|
---|
39 | "abc": 0x0078,# 1-n encoding mapping
|
---|
40 | 0x01: None, # decoding mapping to <undefined>
|
---|
41 | 0x79: u"", # 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
|
---|
Note:
See
TracBrowser
for help on using the repository browser.