|
Last change
on this file since 1538 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.