1""" Python Character Mapping Codec iso8859_8 generated from 'MAPPINGS/ISO8859/8859-8.TXT' with gencodec.py. 2 3"""#" 4 5import codecs 6 7### Codec APIs 8 9class Codec(codecs.Codec): 10 11 def encode(self,input,errors='strict'): 12 return codecs.charmap_encode(input,errors,encoding_table) 13 14 def decode(self,input,errors='strict'): 15 return codecs.charmap_decode(input,errors,decoding_table) 16 17class IncrementalEncoder(codecs.IncrementalEncoder): 18 def encode(self, input, final=False): 19 return codecs.charmap_encode(input,self.errors,encoding_table)[0] 20 21class IncrementalDecoder(codecs.IncrementalDecoder): 22 def decode(self, input, final=False): 23 return codecs.charmap_decode(input,self.errors,decoding_table)[0] 24 25class StreamWriter(Codec,codecs.StreamWriter): 26 pass 27 28class StreamReader(Codec,codecs.StreamReader): 29 pass 30 31### encodings module API 32 33def getregentry(): 34 return codecs.CodecInfo( 35 name='iso8859-8', 36 encode=Codec().encode, 37 decode=Codec().decode, 38 incrementalencoder=IncrementalEncoder, 39 incrementaldecoder=IncrementalDecoder, 40 streamreader=StreamReader, 41 streamwriter=StreamWriter, 42 ) 43 44 45### Decoding Table 46 47decoding_table = ( 48 u'\x00' # 0x00 -> NULL 49 u'\x01' # 0x01 -> START OF HEADING 50 u'\x02' # 0x02 -> START OF TEXT 51 u'\x03' # 0x03 -> END OF TEXT 52 u'\x04' # 0x04 -> END OF TRANSMISSION 53 u'\x05' # 0x05 -> ENQUIRY 54 u'\x06' # 0x06 -> ACKNOWLEDGE 55 u'\x07' # 0x07 -> BELL 56 u'\x08' # 0x08 -> BACKSPACE 57 u'\t' # 0x09 -> HORIZONTAL TABULATION 58 u'\n' # 0x0A -> LINE FEED 59 u'\x0b' # 0x0B -> VERTICAL TABULATION 60 u'\x0c' # 0x0C -> FORM FEED 61 u'\r' # 0x0D -> CARRIAGE RETURN 62 u'\x0e' # 0x0E -> SHIFT OUT 63 u'\x0f' # 0x0F -> SHIFT IN 64 u'\x10' # 0x10 -> DATA LINK ESCAPE 65 u'\x11' # 0x11 -> DEVICE CONTROL ONE 66 u'\x12' # 0x12 -> DEVICE CONTROL TWO 67 u'\x13' # 0x13 -> DEVICE CONTROL THREE 68 u'\x14' # 0x14 -> DEVICE CONTROL FOUR 69 u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE 70 u'\x16' # 0x16 -> SYNCHRONOUS IDLE 71 u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK 72 u'\x18' # 0x18 -> CANCEL 73 u'\x19' # 0x19 -> END OF MEDIUM 74 u'\x1a' # 0x1A -> SUBSTITUTE 75 u'\x1b' # 0x1B -> ESCAPE 76 u'\x1c' # 0x1C -> FILE SEPARATOR 77 u'\x1d' # 0x1D -> GROUP SEPARATOR 78 u'\x1e' # 0x1E -> RECORD SEPARATOR 79 u'\x1f' # 0x1F -> UNIT SEPARATOR 80 u' ' # 0x20 -> SPACE 81 u'!' # 0x21 -> EXCLAMATION MARK 82 u'"' # 0x22 -> QUOTATION MARK 83 u'#' # 0x23 -> NUMBER SIGN 84 u'$' # 0x24 -> DOLLAR SIGN 85 u'%' # 0x25 -> PERCENT SIGN 86 u'&' # 0x26 -> AMPERSAND 87 u"'" # 0x27 -> APOSTROPHE 88 u'(' # 0x28 -> LEFT PARENTHESIS 89 u')' # 0x29 -> RIGHT PARENTHESIS 90 u'*' # 0x2A -> ASTERISK 91 u'+' # 0x2B -> PLUS SIGN 92 u',' # 0x2C -> COMMA 93 u'-' # 0x2D -> HYPHEN-MINUS 94 u'.' # 0x2E -> FULL STOP 95 u'/' # 0x2F -> SOLIDUS 96 u'0' # 0x30 -> DIGIT ZERO 97 u'1' # 0x31 -> DIGIT ONE 98 u'2' # 0x32 -> DIGIT TWO 99 u'3' # 0x33 -> DIGIT THREE 100 u'4' # 0x34 -> DIGIT FOUR 101 u'5' # 0x35 -> DIGIT FIVE 102 u'6' # 0x36 -> DIGIT SIX 103 u'7' # 0x37 -> DIGIT SEVEN 104 u'8' # 0x38 -> DIGIT EIGHT 105 u'9' # 0x39 -> DIGIT NINE 106 u':' # 0x3A -> COLON 107 u';' # 0x3B -> SEMICOLON 108 u'<' # 0x3C -> LESS-THAN SIGN 109 u'=' # 0x3D -> EQUALS SIGN 110 u'>' # 0x3E -> GREATER-THAN SIGN 111 u'?' # 0x3F -> QUESTION MARK 112 u'@' # 0x40 -> COMMERCIAL AT 113 u'A' # 0x41 -> LATIN CAPITAL LETTER A 114 u'B' # 0x42 -> LATIN CAPITAL LETTER B 115 u'C' # 0x43 -> LATIN CAPITAL LETTER C 116 u'D' # 0x44 -> LATIN CAPITAL LETTER D 117 u'E' # 0x45 -> LATIN CAPITAL LETTER E 118 u'F' # 0x46 -> LATIN CAPITAL LETTER F 119 u'G' # 0x47 -> LATIN CAPITAL LETTER G 120 u'H' # 0x48 -> LATIN CAPITAL LETTER H 121 u'I' # 0x49 -> LATIN CAPITAL LETTER I 122 u'J' # 0x4A -> LATIN CAPITAL LETTER J 123 u'K' # 0x4B -> LATIN CAPITAL LETTER K 124 u'L' # 0x4C -> LATIN CAPITAL LETTER L 125 u'M' # 0x4D -> LATIN CAPITAL LETTER M 126 u'N' # 0x4E -> LATIN CAPITAL LETTER N 127 u'O' # 0x4F -> LATIN CAPITAL LETTER O 128 u'P' # 0x50 -> LATIN CAPITAL LETTER P 129 u'Q' # 0x51 -> LATIN CAPITAL LETTER Q 130 u'R' # 0x52 -> LATIN CAPITAL LETTER R 131 u'S' # 0x53 -> LATIN CAPITAL LETTER S 132 u'T' # 0x54 -> LATIN CAPITAL LETTER T 133 u'U' # 0x55 -> LATIN CAPITAL LETTER U 134 u'V' # 0x56 -> LATIN CAPITAL LETTER V 135 u'W' # 0x57 -> LATIN CAPITAL LETTER W 136 u'X' # 0x58 -> LATIN CAPITAL LETTER X 137 u'Y' # 0x59 -> LATIN CAPITAL LETTER Y 138 u'Z' # 0x5A -> LATIN CAPITAL LETTER Z 139 u'[' # 0x5B -> LEFT SQUARE BRACKET 140 u'\\' # 0x5C -> REVERSE SOLIDUS 141 u']' # 0x5D -> RIGHT SQUARE BRACKET 142 u'^' # 0x5E -> CIRCUMFLEX ACCENT 143 u'_' # 0x5F -> LOW LINE 144 u'`' # 0x60 -> GRAVE ACCENT 145 u'a' # 0x61 -> LATIN SMALL LETTER A 146 u'b' # 0x62 -> LATIN SMALL LETTER B 147 u'c' # 0x63 -> LATIN SMALL LETTER C 148 u'd' # 0x64 -> LATIN SMALL LETTER D 149 u'e' # 0x65 -> LATIN SMALL LETTER E 150 u'f' # 0x66 -> LATIN SMALL LETTER F 151 u'g' # 0x67 -> LATIN SMALL LETTER G 152 u'h' # 0x68 -> LATIN SMALL LETTER H 153 u'i' # 0x69 -> LATIN SMALL LETTER I 154 u'j' # 0x6A -> LATIN SMALL LETTER J 155 u'k' # 0x6B -> LATIN SMALL LETTER K 156 u'l' # 0x6C -> LATIN SMALL LETTER L 157 u'm' # 0x6D -> LATIN SMALL LETTER M 158 u'n' # 0x6E -> LATIN SMALL LETTER N 159 u'o' # 0x6F -> LATIN SMALL LETTER O 160 u'p' # 0x70 -> LATIN SMALL LETTER P 161 u'q' # 0x71 -> LATIN SMALL LETTER Q 162 u'r' # 0x72 -> LATIN SMALL LETTER R 163 u's' # 0x73 -> LATIN SMALL LETTER S 164 u't' # 0x74 -> LATIN SMALL LETTER T 165 u'u' # 0x75 -> LATIN SMALL LETTER U 166 u'v' # 0x76 -> LATIN SMALL LETTER V 167 u'w' # 0x77 -> LATIN SMALL LETTER W 168 u'x' # 0x78 -> LATIN SMALL LETTER X 169 u'y' # 0x79 -> LATIN SMALL LETTER Y 170 u'z' # 0x7A -> LATIN SMALL LETTER Z 171 u'{' # 0x7B -> LEFT CURLY BRACKET 172 u'|' # 0x7C -> VERTICAL LINE 173 u'}' # 0x7D -> RIGHT CURLY BRACKET 174 u'~' # 0x7E -> TILDE 175 u'\x7f' # 0x7F -> DELETE 176 u'\x80' # 0x80 -> <control> 177 u'\x81' # 0x81 -> <control> 178 u'\x82' # 0x82 -> <control> 179 u'\x83' # 0x83 -> <control> 180 u'\x84' # 0x84 -> <control> 181 u'\x85' # 0x85 -> <control> 182 u'\x86' # 0x86 -> <control> 183 u'\x87' # 0x87 -> <control> 184 u'\x88' # 0x88 -> <control> 185 u'\x89' # 0x89 -> <control> 186 u'\x8a' # 0x8A -> <control> 187 u'\x8b' # 0x8B -> <control> 188 u'\x8c' # 0x8C -> <control> 189 u'\x8d' # 0x8D -> <control> 190 u'\x8e' # 0x8E -> <control> 191 u'\x8f' # 0x8F -> <control> 192 u'\x90' # 0x90 -> <control> 193 u'\x91' # 0x91 -> <control> 194 u'\x92' # 0x92 -> <control> 195 u'\x93' # 0x93 -> <control> 196 u'\x94' # 0x94 -> <control> 197 u'\x95' # 0x95 -> <control> 198 u'\x96' # 0x96 -> <control> 199 u'\x97' # 0x97 -> <control> 200 u'\x98' # 0x98 -> <control> 201 u'\x99' # 0x99 -> <control> 202 u'\x9a' # 0x9A -> <control> 203 u'\x9b' # 0x9B -> <control> 204 u'\x9c' # 0x9C -> <control> 205 u'\x9d' # 0x9D -> <control> 206 u'\x9e' # 0x9E -> <control> 207 u'\x9f' # 0x9F -> <control> 208 u'\xa0' # 0xA0 -> NO-BREAK SPACE 209 u'\ufffe' 210 u'\xa2' # 0xA2 -> CENT SIGN 211 u'\xa3' # 0xA3 -> POUND SIGN 212 u'\xa4' # 0xA4 -> CURRENCY SIGN 213 u'\xa5' # 0xA5 -> YEN SIGN 214 u'\xa6' # 0xA6 -> BROKEN BAR 215 u'\xa7' # 0xA7 -> SECTION SIGN 216 u'\xa8' # 0xA8 -> DIAERESIS 217 u'\xa9' # 0xA9 -> COPYRIGHT SIGN 218 u'\xd7' # 0xAA -> MULTIPLICATION SIGN 219 u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 220 u'\xac' # 0xAC -> NOT SIGN 221 u'\xad' # 0xAD -> SOFT HYPHEN 222 u'\xae' # 0xAE -> REGISTERED SIGN 223 u'\xaf' # 0xAF -> MACRON 224 u'\xb0' # 0xB0 -> DEGREE SIGN 225 u'\xb1' # 0xB1 -> PLUS-MINUS SIGN 226 u'\xb2' # 0xB2 -> SUPERSCRIPT TWO 227 u'\xb3' # 0xB3 -> SUPERSCRIPT THREE 228 u'\xb4' # 0xB4 -> ACUTE ACCENT 229 u'\xb5' # 0xB5 -> MICRO SIGN 230 u'\xb6' # 0xB6 -> PILCROW SIGN 231 u'\xb7' # 0xB7 -> MIDDLE DOT 232 u'\xb8' # 0xB8 -> CEDILLA 233 u'\xb9' # 0xB9 -> SUPERSCRIPT ONE 234 u'\xf7' # 0xBA -> DIVISION SIGN 235 u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 236 u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER 237 u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF 238 u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS 239 u'\ufffe' 240 u'\ufffe' 241 u'\ufffe' 242 u'\ufffe' 243 u'\ufffe' 244 u'\ufffe' 245 u'\ufffe' 246 u'\ufffe' 247 u'\ufffe' 248 u'\ufffe' 249 u'\ufffe' 250 u'\ufffe' 251 u'\ufffe' 252 u'\ufffe' 253 u'\ufffe' 254 u'\ufffe' 255 u'\ufffe' 256 u'\ufffe' 257 u'\ufffe' 258 u'\ufffe' 259 u'\ufffe' 260 u'\ufffe' 261 u'\ufffe' 262 u'\ufffe' 263 u'\ufffe' 264 u'\ufffe' 265 u'\ufffe' 266 u'\ufffe' 267 u'\ufffe' 268 u'\ufffe' 269 u'\ufffe' 270 u'\ufffe' 271 u'\u2017' # 0xDF -> DOUBLE LOW LINE 272 u'\u05d0' # 0xE0 -> HEBREW LETTER ALEF 273 u'\u05d1' # 0xE1 -> HEBREW LETTER BET 274 u'\u05d2' # 0xE2 -> HEBREW LETTER GIMEL 275 u'\u05d3' # 0xE3 -> HEBREW LETTER DALET 276 u'\u05d4' # 0xE4 -> HEBREW LETTER HE 277 u'\u05d5' # 0xE5 -> HEBREW LETTER VAV 278 u'\u05d6' # 0xE6 -> HEBREW LETTER ZAYIN 279 u'\u05d7' # 0xE7 -> HEBREW LETTER HET 280 u'\u05d8' # 0xE8 -> HEBREW LETTER TET 281 u'\u05d9' # 0xE9 -> HEBREW LETTER YOD 282 u'\u05da' # 0xEA -> HEBREW LETTER FINAL KAF 283 u'\u05db' # 0xEB -> HEBREW LETTER KAF 284 u'\u05dc' # 0xEC -> HEBREW LETTER LAMED 285 u'\u05dd' # 0xED -> HEBREW LETTER FINAL MEM 286 u'\u05de' # 0xEE -> HEBREW LETTER MEM 287 u'\u05df' # 0xEF -> HEBREW LETTER FINAL NUN 288 u'\u05e0' # 0xF0 -> HEBREW LETTER NUN 289 u'\u05e1' # 0xF1 -> HEBREW LETTER SAMEKH 290 u'\u05e2' # 0xF2 -> HEBREW LETTER AYIN 291 u'\u05e3' # 0xF3 -> HEBREW LETTER FINAL PE 292 u'\u05e4' # 0xF4 -> HEBREW LETTER PE 293 u'\u05e5' # 0xF5 -> HEBREW LETTER FINAL TSADI 294 u'\u05e6' # 0xF6 -> HEBREW LETTER TSADI 295 u'\u05e7' # 0xF7 -> HEBREW LETTER QOF 296 u'\u05e8' # 0xF8 -> HEBREW LETTER RESH 297 u'\u05e9' # 0xF9 -> HEBREW LETTER SHIN 298 u'\u05ea' # 0xFA -> HEBREW LETTER TAV 299 u'\ufffe' 300 u'\ufffe' 301 u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK 302 u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK 303 u'\ufffe' 304) 305 306### Encoding table 307encoding_table=codecs.charmap_build(decoding_table) 308