summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2005-12-25 23:18:31 (GMT)
committerTim Peters <tim.peters@gmail.com>2005-12-25 23:18:31 (GMT)
commit536cf99536bce562cfcb44a856fac1c84b9de4c3 (patch)
tree80cf0f425cfc703b228aad716ed66cd4a5080c03
parent83a8c393b06d24b3c6b252b7614c34110c369c43 (diff)
downloadcpython-536cf99536bce562cfcb44a856fac1c84b9de4c3.zip
cpython-536cf99536bce562cfcb44a856fac1c84b9de4c3.tar.gz
cpython-536cf99536bce562cfcb44a856fac1c84b9de4c3.tar.bz2
Whitespace normalization.
-rw-r--r--Lib/SimpleXMLRPCServer.py12
-rw-r--r--Lib/codecs.py4
-rw-r--r--Lib/cookielib.py2
-rw-r--r--Lib/encodings/cp037.py1027
-rw-r--r--Lib/encodings/cp1006.py1025
-rw-r--r--Lib/encodings/cp1026.py1027
-rw-r--r--Lib/encodings/cp1140.py1027
-rw-r--r--Lib/encodings/cp1250.py1017
-rw-r--r--Lib/encodings/cp1251.py1025
-rw-r--r--Lib/encodings/cp1252.py1017
-rw-r--r--Lib/encodings/cp1253.py993
-rw-r--r--Lib/encodings/cp1254.py1013
-rw-r--r--Lib/encodings/cp1255.py981
-rw-r--r--Lib/encodings/cp1256.py1027
-rw-r--r--Lib/encodings/cp1257.py1003
-rw-r--r--Lib/encodings/cp1258.py1009
-rw-r--r--Lib/encodings/cp424.py951
-rw-r--r--Lib/encodings/cp437.py1284
-rw-r--r--Lib/encodings/cp500.py1027
-rw-r--r--Lib/encodings/cp737.py1284
-rw-r--r--Lib/encodings/cp775.py1284
-rw-r--r--Lib/encodings/cp850.py1284
-rw-r--r--Lib/encodings/cp852.py1284
-rw-r--r--Lib/encodings/cp855.py1284
-rw-r--r--Lib/encodings/cp856.py945
-rw-r--r--Lib/encodings/cp857.py1276
-rw-r--r--Lib/encodings/cp860.py1284
-rw-r--r--Lib/encodings/cp861.py1284
-rw-r--r--Lib/encodings/cp862.py1284
-rw-r--r--Lib/encodings/cp863.py1284
-rw-r--r--Lib/encodings/cp864.py1268
-rw-r--r--Lib/encodings/cp865.py1284
-rw-r--r--Lib/encodings/cp866.py1284
-rw-r--r--Lib/encodings/cp869.py1266
-rw-r--r--Lib/encodings/cp874.py965
-rw-r--r--Lib/encodings/cp875.py1015
-rw-r--r--Lib/encodings/iso8859_1.py1027
-rw-r--r--Lib/encodings/iso8859_10.py1027
-rw-r--r--Lib/encodings/iso8859_11.py995
-rw-r--r--Lib/encodings/iso8859_13.py1027
-rw-r--r--Lib/encodings/iso8859_14.py1027
-rw-r--r--Lib/encodings/iso8859_15.py1027
-rw-r--r--Lib/encodings/iso8859_16.py1027
-rw-r--r--Lib/encodings/iso8859_2.py1027
-rw-r--r--Lib/encodings/iso8859_3.py999
-rw-r--r--Lib/encodings/iso8859_4.py1027
-rw-r--r--Lib/encodings/iso8859_5.py1027
-rw-r--r--Lib/encodings/iso8859_6.py867
-rw-r--r--Lib/encodings/iso8859_7.py1015
-rw-r--r--Lib/encodings/iso8859_8.py921
-rw-r--r--Lib/encodings/iso8859_9.py1027
-rw-r--r--Lib/encodings/koi8_r.py1027
-rw-r--r--Lib/encodings/koi8_u.py1027
-rw-r--r--Lib/encodings/mac_arabic.py1284
-rw-r--r--Lib/encodings/mac_centeuro.py1027
-rw-r--r--Lib/encodings/mac_croatian.py1027
-rw-r--r--Lib/encodings/mac_cyrillic.py1027
-rw-r--r--Lib/encodings/mac_farsi.py1027
-rw-r--r--Lib/encodings/mac_greek.py1027
-rw-r--r--Lib/encodings/mac_iceland.py1027
-rw-r--r--Lib/encodings/mac_roman.py1027
-rw-r--r--Lib/encodings/mac_romanian.py1027
-rw-r--r--Lib/encodings/mac_turkish.py1027
-rw-r--r--Lib/encodings/tis_620.py991
-rw-r--r--Lib/test/bad_coding2.py2
-rw-r--r--Lib/test/test_code.py2
-rw-r--r--Lib/test/test_exception_variations.py360
-rw-r--r--Lib/test/test_generators.py2
-rw-r--r--Lib/test/test_minidom.py6
-rw-r--r--Lib/test/test_poll.py2
-rw-r--r--Lib/test/test_quopri.py20
-rw-r--r--Lib/test/test_xmlrpc.py2
-rw-r--r--Lib/webbrowser.py4
-rw-r--r--Lib/xmlcore/etree/ElementInclude.py1
-rw-r--r--Lib/xmlcore/etree/ElementPath.py1
-rw-r--r--Parser/asdl.py8
-rwxr-xr-xParser/asdl_c.py100
-rw-r--r--Parser/spark.py1520
-rw-r--r--Tools/bgen/bgen/bgenGenerator.py4
-rw-r--r--Tools/bgen/bgen/bgenHeapBuffer.py11
-rwxr-xr-xTools/compiler/dumppyc.py2
-rw-r--r--Tools/unicode/gencodec.py6
82 files changed, 33987 insertions, 34035 deletions
diff --git a/Lib/SimpleXMLRPCServer.py b/Lib/SimpleXMLRPCServer.py
index cdf1fb6..052a8e4 100644
--- a/Lib/SimpleXMLRPCServer.py
+++ b/Lib/SimpleXMLRPCServer.py
@@ -253,10 +253,10 @@ class SimpleXMLRPCDispatcher:
response = self._dispatch(method, params)
# wrap response in a singleton tuple
response = (response,)
- response = xmlrpclib.dumps(response, methodresponse=1,
+ response = xmlrpclib.dumps(response, methodresponse=1,
allow_none=self.allow_none, encoding=self.encoding)
except Fault, fault:
- response = xmlrpclib.dumps(fault, allow_none=self.allow_none,
+ response = xmlrpclib.dumps(fault, allow_none=self.allow_none,
encoding=self.encoding)
except:
# report exception back to server
@@ -427,8 +427,8 @@ class SimpleXMLRPCRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
"""
try:
- # Get arguments by reading body of request.
- # We read this in chunks to avoid straining
+ # Get arguments by reading body of request.
+ # We read this in chunks to avoid straining
# socket.read(); around the 10 or 15Mb mark, some platforms
# begin to have problems (bug #792570).
max_chunk_size = 10*1024*1024
@@ -490,8 +490,8 @@ class SimpleXMLRPCServer(SocketServer.TCPServer,
SimpleXMLRPCDispatcher.__init__(self, allow_none, encoding)
SocketServer.TCPServer.__init__(self, addr, requestHandler)
- # [Bug #1222790] If possible, set close-on-exec flag; if a
- # method spawns a subprocess, the subprocess shouldn't have
+ # [Bug #1222790] If possible, set close-on-exec flag; if a
+ # method spawns a subprocess, the subprocess shouldn't have
# the listening socket open.
if hasattr(fcntl, 'FD_CLOEXEC'):
flags = fcntl.fcntl(self.fileno(), fcntl.F_GETFD)
diff --git a/Lib/codecs.py b/Lib/codecs.py
index 9d29acc..932f01b 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -269,7 +269,7 @@ class StreamReader(Codec):
if self.linebuffer:
self.charbuffer = "".join(self.linebuffer)
self.linebuffer = None
-
+
# read until we get the required number of characters (if available)
while True:
# can the request can be satisfied from the character buffer?
@@ -335,7 +335,7 @@ class StreamReader(Codec):
if not keepends:
line = line.splitlines(False)[0]
return line
-
+
readsize = size or 72
line = ""
# If size is given, we call read() only once
diff --git a/Lib/cookielib.py b/Lib/cookielib.py
index b84ca4a..f0a89a5 100644
--- a/Lib/cookielib.py
+++ b/Lib/cookielib.py
@@ -1528,7 +1528,7 @@ class CookieJar:
for cookie in cookies:
if cookie.version == 1:
cookie.rfc2109 = True
- if rfc2109_as_ns:
+ if rfc2109_as_ns:
# treat 2109 cookies as Netscape cookies rather than
# as RFC2965 cookies
cookie.version = 0
diff --git a/Lib/encodings/cp037.py b/Lib/encodings/cp037.py
index 3933ec7..5864c4b 100644
--- a/Lib/encodings/cp037.py
+++ b/Lib/encodings/cp037.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x9c' # 0x04 -> CONTROL
- u'\t' # 0x05 -> HORIZONTAL TABULATION
- u'\x86' # 0x06 -> CONTROL
- u'\x7f' # 0x07 -> DELETE
- u'\x97' # 0x08 -> CONTROL
- u'\x8d' # 0x09 -> CONTROL
- u'\x8e' # 0x0A -> CONTROL
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x9d' # 0x14 -> CONTROL
- u'\x85' # 0x15 -> CONTROL
- u'\x08' # 0x16 -> BACKSPACE
- u'\x87' # 0x17 -> CONTROL
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x92' # 0x1A -> CONTROL
- u'\x8f' # 0x1B -> CONTROL
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u'\x80' # 0x20 -> CONTROL
- u'\x81' # 0x21 -> CONTROL
- u'\x82' # 0x22 -> CONTROL
- u'\x83' # 0x23 -> CONTROL
- u'\x84' # 0x24 -> CONTROL
- u'\n' # 0x25 -> LINE FEED
- u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
- u'\x1b' # 0x27 -> ESCAPE
- u'\x88' # 0x28 -> CONTROL
- u'\x89' # 0x29 -> CONTROL
- u'\x8a' # 0x2A -> CONTROL
- u'\x8b' # 0x2B -> CONTROL
- u'\x8c' # 0x2C -> CONTROL
- u'\x05' # 0x2D -> ENQUIRY
- u'\x06' # 0x2E -> ACKNOWLEDGE
- u'\x07' # 0x2F -> BELL
- u'\x90' # 0x30 -> CONTROL
- u'\x91' # 0x31 -> CONTROL
- u'\x16' # 0x32 -> SYNCHRONOUS IDLE
- u'\x93' # 0x33 -> CONTROL
- u'\x94' # 0x34 -> CONTROL
- u'\x95' # 0x35 -> CONTROL
- u'\x96' # 0x36 -> CONTROL
- u'\x04' # 0x37 -> END OF TRANSMISSION
- u'\x98' # 0x38 -> CONTROL
- u'\x99' # 0x39 -> CONTROL
- u'\x9a' # 0x3A -> CONTROL
- u'\x9b' # 0x3B -> CONTROL
- u'\x14' # 0x3C -> DEVICE CONTROL FOUR
- u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
- u'\x9e' # 0x3E -> CONTROL
- u'\x1a' # 0x3F -> SUBSTITUTE
- u' ' # 0x40 -> SPACE
- u'\xa0' # 0x41 -> NO-BREAK SPACE
- u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x48 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
- u'\xa2' # 0x4A -> CENT SIGN
- u'.' # 0x4B -> FULL STOP
- u'<' # 0x4C -> LESS-THAN SIGN
- u'(' # 0x4D -> LEFT PARENTHESIS
- u'+' # 0x4E -> PLUS SIGN
- u'|' # 0x4F -> VERTICAL LINE
- u'&' # 0x50 -> AMPERSAND
- u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
- u'!' # 0x5A -> EXCLAMATION MARK
- u'$' # 0x5B -> DOLLAR SIGN
- u'*' # 0x5C -> ASTERISK
- u')' # 0x5D -> RIGHT PARENTHESIS
- u';' # 0x5E -> SEMICOLON
- u'\xac' # 0x5F -> NOT SIGN
- u'-' # 0x60 -> HYPHEN-MINUS
- u'/' # 0x61 -> SOLIDUS
- u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x68 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xa6' # 0x6A -> BROKEN BAR
- u',' # 0x6B -> COMMA
- u'%' # 0x6C -> PERCENT SIGN
- u'_' # 0x6D -> LOW LINE
- u'>' # 0x6E -> GREATER-THAN SIGN
- u'?' # 0x6F -> QUESTION MARK
- u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
- u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
- u'`' # 0x79 -> GRAVE ACCENT
- u':' # 0x7A -> COLON
- u'#' # 0x7B -> NUMBER SIGN
- u'@' # 0x7C -> COMMERCIAL AT
- u"'" # 0x7D -> APOSTROPHE
- u'=' # 0x7E -> EQUALS SIGN
- u'"' # 0x7F -> QUOTATION MARK
- u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
- u'a' # 0x81 -> LATIN SMALL LETTER A
- u'b' # 0x82 -> LATIN SMALL LETTER B
- u'c' # 0x83 -> LATIN SMALL LETTER C
- u'd' # 0x84 -> LATIN SMALL LETTER D
- u'e' # 0x85 -> LATIN SMALL LETTER E
- u'f' # 0x86 -> LATIN SMALL LETTER F
- u'g' # 0x87 -> LATIN SMALL LETTER G
- u'h' # 0x88 -> LATIN SMALL LETTER H
- u'i' # 0x89 -> LATIN SMALL LETTER I
- u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xf0' # 0x8C -> LATIN SMALL LETTER ETH (ICELANDIC)
- u'\xfd' # 0x8D -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0x8E -> LATIN SMALL LETTER THORN (ICELANDIC)
- u'\xb1' # 0x8F -> PLUS-MINUS SIGN
- u'\xb0' # 0x90 -> DEGREE SIGN
- u'j' # 0x91 -> LATIN SMALL LETTER J
- u'k' # 0x92 -> LATIN SMALL LETTER K
- u'l' # 0x93 -> LATIN SMALL LETTER L
- u'm' # 0x94 -> LATIN SMALL LETTER M
- u'n' # 0x95 -> LATIN SMALL LETTER N
- u'o' # 0x96 -> LATIN SMALL LETTER O
- u'p' # 0x97 -> LATIN SMALL LETTER P
- u'q' # 0x98 -> LATIN SMALL LETTER Q
- u'r' # 0x99 -> LATIN SMALL LETTER R
- u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
- u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
- u'\xb8' # 0x9D -> CEDILLA
- u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
- u'\xa4' # 0x9F -> CURRENCY SIGN
- u'\xb5' # 0xA0 -> MICRO SIGN
- u'~' # 0xA1 -> TILDE
- u's' # 0xA2 -> LATIN SMALL LETTER S
- u't' # 0xA3 -> LATIN SMALL LETTER T
- u'u' # 0xA4 -> LATIN SMALL LETTER U
- u'v' # 0xA5 -> LATIN SMALL LETTER V
- u'w' # 0xA6 -> LATIN SMALL LETTER W
- u'x' # 0xA7 -> LATIN SMALL LETTER X
- u'y' # 0xA8 -> LATIN SMALL LETTER Y
- u'z' # 0xA9 -> LATIN SMALL LETTER Z
- u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
- u'\xbf' # 0xAB -> INVERTED QUESTION MARK
- u'\xd0' # 0xAC -> LATIN CAPITAL LETTER ETH (ICELANDIC)
- u'\xdd' # 0xAD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xAE -> LATIN CAPITAL LETTER THORN (ICELANDIC)
- u'\xae' # 0xAF -> REGISTERED SIGN
- u'^' # 0xB0 -> CIRCUMFLEX ACCENT
- u'\xa3' # 0xB1 -> POUND SIGN
- u'\xa5' # 0xB2 -> YEN SIGN
- u'\xb7' # 0xB3 -> MIDDLE DOT
- u'\xa9' # 0xB4 -> COPYRIGHT SIGN
- u'\xa7' # 0xB5 -> SECTION SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
- u'[' # 0xBA -> LEFT SQUARE BRACKET
- u']' # 0xBB -> RIGHT SQUARE BRACKET
- u'\xaf' # 0xBC -> MACRON
- u'\xa8' # 0xBD -> DIAERESIS
- u'\xb4' # 0xBE -> ACUTE ACCENT
- u'\xd7' # 0xBF -> MULTIPLICATION SIGN
- u'{' # 0xC0 -> LEFT CURLY BRACKET
- u'A' # 0xC1 -> LATIN CAPITAL LETTER A
- u'B' # 0xC2 -> LATIN CAPITAL LETTER B
- u'C' # 0xC3 -> LATIN CAPITAL LETTER C
- u'D' # 0xC4 -> LATIN CAPITAL LETTER D
- u'E' # 0xC5 -> LATIN CAPITAL LETTER E
- u'F' # 0xC6 -> LATIN CAPITAL LETTER F
- u'G' # 0xC7 -> LATIN CAPITAL LETTER G
- u'H' # 0xC8 -> LATIN CAPITAL LETTER H
- u'I' # 0xC9 -> LATIN CAPITAL LETTER I
- u'\xad' # 0xCA -> SOFT HYPHEN
- u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0xCC -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
- u'}' # 0xD0 -> RIGHT CURLY BRACKET
- u'J' # 0xD1 -> LATIN CAPITAL LETTER J
- u'K' # 0xD2 -> LATIN CAPITAL LETTER K
- u'L' # 0xD3 -> LATIN CAPITAL LETTER L
- u'M' # 0xD4 -> LATIN CAPITAL LETTER M
- u'N' # 0xD5 -> LATIN CAPITAL LETTER N
- u'O' # 0xD6 -> LATIN CAPITAL LETTER O
- u'P' # 0xD7 -> LATIN CAPITAL LETTER P
- u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
- u'R' # 0xD9 -> LATIN CAPITAL LETTER R
- u'\xb9' # 0xDA -> SUPERSCRIPT ONE
- u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xDC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
- u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\\' # 0xE0 -> REVERSE SOLIDUS
- u'\xf7' # 0xE1 -> DIVISION SIGN
- u'S' # 0xE2 -> LATIN CAPITAL LETTER S
- u'T' # 0xE3 -> LATIN CAPITAL LETTER T
- u'U' # 0xE4 -> LATIN CAPITAL LETTER U
- u'V' # 0xE5 -> LATIN CAPITAL LETTER V
- u'W' # 0xE6 -> LATIN CAPITAL LETTER W
- u'X' # 0xE7 -> LATIN CAPITAL LETTER X
- u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
- u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
- u'\xb2' # 0xEA -> SUPERSCRIPT TWO
- u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd6' # 0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
- u'0' # 0xF0 -> DIGIT ZERO
- u'1' # 0xF1 -> DIGIT ONE
- u'2' # 0xF2 -> DIGIT TWO
- u'3' # 0xF3 -> DIGIT THREE
- u'4' # 0xF4 -> DIGIT FOUR
- u'5' # 0xF5 -> DIGIT FIVE
- u'6' # 0xF6 -> DIGIT SIX
- u'7' # 0xF7 -> DIGIT SEVEN
- u'8' # 0xF8 -> DIGIT EIGHT
- u'9' # 0xF9 -> DIGIT NINE
- u'\xb3' # 0xFA -> SUPERSCRIPT THREE
- u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\x9f' # 0xFF -> CONTROL
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x9c' # 0x04 -> CONTROL
+ u'\t' # 0x05 -> HORIZONTAL TABULATION
+ u'\x86' # 0x06 -> CONTROL
+ u'\x7f' # 0x07 -> DELETE
+ u'\x97' # 0x08 -> CONTROL
+ u'\x8d' # 0x09 -> CONTROL
+ u'\x8e' # 0x0A -> CONTROL
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x9d' # 0x14 -> CONTROL
+ u'\x85' # 0x15 -> CONTROL
+ u'\x08' # 0x16 -> BACKSPACE
+ u'\x87' # 0x17 -> CONTROL
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x92' # 0x1A -> CONTROL
+ u'\x8f' # 0x1B -> CONTROL
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u'\x80' # 0x20 -> CONTROL
+ u'\x81' # 0x21 -> CONTROL
+ u'\x82' # 0x22 -> CONTROL
+ u'\x83' # 0x23 -> CONTROL
+ u'\x84' # 0x24 -> CONTROL
+ u'\n' # 0x25 -> LINE FEED
+ u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
+ u'\x1b' # 0x27 -> ESCAPE
+ u'\x88' # 0x28 -> CONTROL
+ u'\x89' # 0x29 -> CONTROL
+ u'\x8a' # 0x2A -> CONTROL
+ u'\x8b' # 0x2B -> CONTROL
+ u'\x8c' # 0x2C -> CONTROL
+ u'\x05' # 0x2D -> ENQUIRY
+ u'\x06' # 0x2E -> ACKNOWLEDGE
+ u'\x07' # 0x2F -> BELL
+ u'\x90' # 0x30 -> CONTROL
+ u'\x91' # 0x31 -> CONTROL
+ u'\x16' # 0x32 -> SYNCHRONOUS IDLE
+ u'\x93' # 0x33 -> CONTROL
+ u'\x94' # 0x34 -> CONTROL
+ u'\x95' # 0x35 -> CONTROL
+ u'\x96' # 0x36 -> CONTROL
+ u'\x04' # 0x37 -> END OF TRANSMISSION
+ u'\x98' # 0x38 -> CONTROL
+ u'\x99' # 0x39 -> CONTROL
+ u'\x9a' # 0x3A -> CONTROL
+ u'\x9b' # 0x3B -> CONTROL
+ u'\x14' # 0x3C -> DEVICE CONTROL FOUR
+ u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
+ u'\x9e' # 0x3E -> CONTROL
+ u'\x1a' # 0x3F -> SUBSTITUTE
+ u' ' # 0x40 -> SPACE
+ u'\xa0' # 0x41 -> NO-BREAK SPACE
+ u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x48 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xa2' # 0x4A -> CENT SIGN
+ u'.' # 0x4B -> FULL STOP
+ u'<' # 0x4C -> LESS-THAN SIGN
+ u'(' # 0x4D -> LEFT PARENTHESIS
+ u'+' # 0x4E -> PLUS SIGN
+ u'|' # 0x4F -> VERTICAL LINE
+ u'&' # 0x50 -> AMPERSAND
+ u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
+ u'!' # 0x5A -> EXCLAMATION MARK
+ u'$' # 0x5B -> DOLLAR SIGN
+ u'*' # 0x5C -> ASTERISK
+ u')' # 0x5D -> RIGHT PARENTHESIS
+ u';' # 0x5E -> SEMICOLON
+ u'\xac' # 0x5F -> NOT SIGN
+ u'-' # 0x60 -> HYPHEN-MINUS
+ u'/' # 0x61 -> SOLIDUS
+ u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x68 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xa6' # 0x6A -> BROKEN BAR
+ u',' # 0x6B -> COMMA
+ u'%' # 0x6C -> PERCENT SIGN
+ u'_' # 0x6D -> LOW LINE
+ u'>' # 0x6E -> GREATER-THAN SIGN
+ u'?' # 0x6F -> QUESTION MARK
+ u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'`' # 0x79 -> GRAVE ACCENT
+ u':' # 0x7A -> COLON
+ u'#' # 0x7B -> NUMBER SIGN
+ u'@' # 0x7C -> COMMERCIAL AT
+ u"'" # 0x7D -> APOSTROPHE
+ u'=' # 0x7E -> EQUALS SIGN
+ u'"' # 0x7F -> QUOTATION MARK
+ u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'a' # 0x81 -> LATIN SMALL LETTER A
+ u'b' # 0x82 -> LATIN SMALL LETTER B
+ u'c' # 0x83 -> LATIN SMALL LETTER C
+ u'd' # 0x84 -> LATIN SMALL LETTER D
+ u'e' # 0x85 -> LATIN SMALL LETTER E
+ u'f' # 0x86 -> LATIN SMALL LETTER F
+ u'g' # 0x87 -> LATIN SMALL LETTER G
+ u'h' # 0x88 -> LATIN SMALL LETTER H
+ u'i' # 0x89 -> LATIN SMALL LETTER I
+ u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xf0' # 0x8C -> LATIN SMALL LETTER ETH (ICELANDIC)
+ u'\xfd' # 0x8D -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0x8E -> LATIN SMALL LETTER THORN (ICELANDIC)
+ u'\xb1' # 0x8F -> PLUS-MINUS SIGN
+ u'\xb0' # 0x90 -> DEGREE SIGN
+ u'j' # 0x91 -> LATIN SMALL LETTER J
+ u'k' # 0x92 -> LATIN SMALL LETTER K
+ u'l' # 0x93 -> LATIN SMALL LETTER L
+ u'm' # 0x94 -> LATIN SMALL LETTER M
+ u'n' # 0x95 -> LATIN SMALL LETTER N
+ u'o' # 0x96 -> LATIN SMALL LETTER O
+ u'p' # 0x97 -> LATIN SMALL LETTER P
+ u'q' # 0x98 -> LATIN SMALL LETTER Q
+ u'r' # 0x99 -> LATIN SMALL LETTER R
+ u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
+ u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
+ u'\xb8' # 0x9D -> CEDILLA
+ u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
+ u'\xa4' # 0x9F -> CURRENCY SIGN
+ u'\xb5' # 0xA0 -> MICRO SIGN
+ u'~' # 0xA1 -> TILDE
+ u's' # 0xA2 -> LATIN SMALL LETTER S
+ u't' # 0xA3 -> LATIN SMALL LETTER T
+ u'u' # 0xA4 -> LATIN SMALL LETTER U
+ u'v' # 0xA5 -> LATIN SMALL LETTER V
+ u'w' # 0xA6 -> LATIN SMALL LETTER W
+ u'x' # 0xA7 -> LATIN SMALL LETTER X
+ u'y' # 0xA8 -> LATIN SMALL LETTER Y
+ u'z' # 0xA9 -> LATIN SMALL LETTER Z
+ u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
+ u'\xbf' # 0xAB -> INVERTED QUESTION MARK
+ u'\xd0' # 0xAC -> LATIN CAPITAL LETTER ETH (ICELANDIC)
+ u'\xdd' # 0xAD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xAE -> LATIN CAPITAL LETTER THORN (ICELANDIC)
+ u'\xae' # 0xAF -> REGISTERED SIGN
+ u'^' # 0xB0 -> CIRCUMFLEX ACCENT
+ u'\xa3' # 0xB1 -> POUND SIGN
+ u'\xa5' # 0xB2 -> YEN SIGN
+ u'\xb7' # 0xB3 -> MIDDLE DOT
+ u'\xa9' # 0xB4 -> COPYRIGHT SIGN
+ u'\xa7' # 0xB5 -> SECTION SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
+ u'[' # 0xBA -> LEFT SQUARE BRACKET
+ u']' # 0xBB -> RIGHT SQUARE BRACKET
+ u'\xaf' # 0xBC -> MACRON
+ u'\xa8' # 0xBD -> DIAERESIS
+ u'\xb4' # 0xBE -> ACUTE ACCENT
+ u'\xd7' # 0xBF -> MULTIPLICATION SIGN
+ u'{' # 0xC0 -> LEFT CURLY BRACKET
+ u'A' # 0xC1 -> LATIN CAPITAL LETTER A
+ u'B' # 0xC2 -> LATIN CAPITAL LETTER B
+ u'C' # 0xC3 -> LATIN CAPITAL LETTER C
+ u'D' # 0xC4 -> LATIN CAPITAL LETTER D
+ u'E' # 0xC5 -> LATIN CAPITAL LETTER E
+ u'F' # 0xC6 -> LATIN CAPITAL LETTER F
+ u'G' # 0xC7 -> LATIN CAPITAL LETTER G
+ u'H' # 0xC8 -> LATIN CAPITAL LETTER H
+ u'I' # 0xC9 -> LATIN CAPITAL LETTER I
+ u'\xad' # 0xCA -> SOFT HYPHEN
+ u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0xCC -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
+ u'}' # 0xD0 -> RIGHT CURLY BRACKET
+ u'J' # 0xD1 -> LATIN CAPITAL LETTER J
+ u'K' # 0xD2 -> LATIN CAPITAL LETTER K
+ u'L' # 0xD3 -> LATIN CAPITAL LETTER L
+ u'M' # 0xD4 -> LATIN CAPITAL LETTER M
+ u'N' # 0xD5 -> LATIN CAPITAL LETTER N
+ u'O' # 0xD6 -> LATIN CAPITAL LETTER O
+ u'P' # 0xD7 -> LATIN CAPITAL LETTER P
+ u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
+ u'R' # 0xD9 -> LATIN CAPITAL LETTER R
+ u'\xb9' # 0xDA -> SUPERSCRIPT ONE
+ u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xDC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\\' # 0xE0 -> REVERSE SOLIDUS
+ u'\xf7' # 0xE1 -> DIVISION SIGN
+ u'S' # 0xE2 -> LATIN CAPITAL LETTER S
+ u'T' # 0xE3 -> LATIN CAPITAL LETTER T
+ u'U' # 0xE4 -> LATIN CAPITAL LETTER U
+ u'V' # 0xE5 -> LATIN CAPITAL LETTER V
+ u'W' # 0xE6 -> LATIN CAPITAL LETTER W
+ u'X' # 0xE7 -> LATIN CAPITAL LETTER X
+ u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
+ u'\xb2' # 0xEA -> SUPERSCRIPT TWO
+ u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd6' # 0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
+ u'0' # 0xF0 -> DIGIT ZERO
+ u'1' # 0xF1 -> DIGIT ONE
+ u'2' # 0xF2 -> DIGIT TWO
+ u'3' # 0xF3 -> DIGIT THREE
+ u'4' # 0xF4 -> DIGIT FOUR
+ u'5' # 0xF5 -> DIGIT FIVE
+ u'6' # 0xF6 -> DIGIT SIX
+ u'7' # 0xF7 -> DIGIT SEVEN
+ u'8' # 0xF8 -> DIGIT EIGHT
+ u'9' # 0xF9 -> DIGIT NINE
+ u'\xb3' # 0xFA -> SUPERSCRIPT THREE
+ u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\x9f' # 0xFF -> CONTROL
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x37, # END OF TRANSMISSION
- 0x0005: 0x2D, # ENQUIRY
- 0x0006: 0x2E, # ACKNOWLEDGE
- 0x0007: 0x2F, # BELL
- 0x0008: 0x16, # BACKSPACE
- 0x0009: 0x05, # HORIZONTAL TABULATION
- 0x000A: 0x25, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x3C, # DEVICE CONTROL FOUR
- 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x32, # SYNCHRONOUS IDLE
- 0x0017: 0x26, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x3F, # SUBSTITUTE
- 0x001B: 0x27, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x40, # SPACE
- 0x0021: 0x5A, # EXCLAMATION MARK
- 0x0022: 0x7F, # QUOTATION MARK
- 0x0023: 0x7B, # NUMBER SIGN
- 0x0024: 0x5B, # DOLLAR SIGN
- 0x0025: 0x6C, # PERCENT SIGN
- 0x0026: 0x50, # AMPERSAND
- 0x0027: 0x7D, # APOSTROPHE
- 0x0028: 0x4D, # LEFT PARENTHESIS
- 0x0029: 0x5D, # RIGHT PARENTHESIS
- 0x002A: 0x5C, # ASTERISK
- 0x002B: 0x4E, # PLUS SIGN
- 0x002C: 0x6B, # COMMA
- 0x002D: 0x60, # HYPHEN-MINUS
- 0x002E: 0x4B, # FULL STOP
- 0x002F: 0x61, # SOLIDUS
- 0x0030: 0xF0, # DIGIT ZERO
- 0x0031: 0xF1, # DIGIT ONE
- 0x0032: 0xF2, # DIGIT TWO
- 0x0033: 0xF3, # DIGIT THREE
- 0x0034: 0xF4, # DIGIT FOUR
- 0x0035: 0xF5, # DIGIT FIVE
- 0x0036: 0xF6, # DIGIT SIX
- 0x0037: 0xF7, # DIGIT SEVEN
- 0x0038: 0xF8, # DIGIT EIGHT
- 0x0039: 0xF9, # DIGIT NINE
- 0x003A: 0x7A, # COLON
- 0x003B: 0x5E, # SEMICOLON
- 0x003C: 0x4C, # LESS-THAN SIGN
- 0x003D: 0x7E, # EQUALS SIGN
- 0x003E: 0x6E, # GREATER-THAN SIGN
- 0x003F: 0x6F, # QUESTION MARK
- 0x0040: 0x7C, # COMMERCIAL AT
- 0x0041: 0xC1, # LATIN CAPITAL LETTER A
- 0x0042: 0xC2, # LATIN CAPITAL LETTER B
- 0x0043: 0xC3, # LATIN CAPITAL LETTER C
- 0x0044: 0xC4, # LATIN CAPITAL LETTER D
- 0x0045: 0xC5, # LATIN CAPITAL LETTER E
- 0x0046: 0xC6, # LATIN CAPITAL LETTER F
- 0x0047: 0xC7, # LATIN CAPITAL LETTER G
- 0x0048: 0xC8, # LATIN CAPITAL LETTER H
- 0x0049: 0xC9, # LATIN CAPITAL LETTER I
- 0x004A: 0xD1, # LATIN CAPITAL LETTER J
- 0x004B: 0xD2, # LATIN CAPITAL LETTER K
- 0x004C: 0xD3, # LATIN CAPITAL LETTER L
- 0x004D: 0xD4, # LATIN CAPITAL LETTER M
- 0x004E: 0xD5, # LATIN CAPITAL LETTER N
- 0x004F: 0xD6, # LATIN CAPITAL LETTER O
- 0x0050: 0xD7, # LATIN CAPITAL LETTER P
- 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
- 0x0052: 0xD9, # LATIN CAPITAL LETTER R
- 0x0053: 0xE2, # LATIN CAPITAL LETTER S
- 0x0054: 0xE3, # LATIN CAPITAL LETTER T
- 0x0055: 0xE4, # LATIN CAPITAL LETTER U
- 0x0056: 0xE5, # LATIN CAPITAL LETTER V
- 0x0057: 0xE6, # LATIN CAPITAL LETTER W
- 0x0058: 0xE7, # LATIN CAPITAL LETTER X
- 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
- 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
- 0x005B: 0xBA, # LEFT SQUARE BRACKET
- 0x005C: 0xE0, # REVERSE SOLIDUS
- 0x005D: 0xBB, # RIGHT SQUARE BRACKET
- 0x005E: 0xB0, # CIRCUMFLEX ACCENT
- 0x005F: 0x6D, # LOW LINE
- 0x0060: 0x79, # GRAVE ACCENT
- 0x0061: 0x81, # LATIN SMALL LETTER A
- 0x0062: 0x82, # LATIN SMALL LETTER B
- 0x0063: 0x83, # LATIN SMALL LETTER C
- 0x0064: 0x84, # LATIN SMALL LETTER D
- 0x0065: 0x85, # LATIN SMALL LETTER E
- 0x0066: 0x86, # LATIN SMALL LETTER F
- 0x0067: 0x87, # LATIN SMALL LETTER G
- 0x0068: 0x88, # LATIN SMALL LETTER H
- 0x0069: 0x89, # LATIN SMALL LETTER I
- 0x006A: 0x91, # LATIN SMALL LETTER J
- 0x006B: 0x92, # LATIN SMALL LETTER K
- 0x006C: 0x93, # LATIN SMALL LETTER L
- 0x006D: 0x94, # LATIN SMALL LETTER M
- 0x006E: 0x95, # LATIN SMALL LETTER N
- 0x006F: 0x96, # LATIN SMALL LETTER O
- 0x0070: 0x97, # LATIN SMALL LETTER P
- 0x0071: 0x98, # LATIN SMALL LETTER Q
- 0x0072: 0x99, # LATIN SMALL LETTER R
- 0x0073: 0xA2, # LATIN SMALL LETTER S
- 0x0074: 0xA3, # LATIN SMALL LETTER T
- 0x0075: 0xA4, # LATIN SMALL LETTER U
- 0x0076: 0xA5, # LATIN SMALL LETTER V
- 0x0077: 0xA6, # LATIN SMALL LETTER W
- 0x0078: 0xA7, # LATIN SMALL LETTER X
- 0x0079: 0xA8, # LATIN SMALL LETTER Y
- 0x007A: 0xA9, # LATIN SMALL LETTER Z
- 0x007B: 0xC0, # LEFT CURLY BRACKET
- 0x007C: 0x4F, # VERTICAL LINE
- 0x007D: 0xD0, # RIGHT CURLY BRACKET
- 0x007E: 0xA1, # TILDE
- 0x007F: 0x07, # DELETE
- 0x0080: 0x20, # CONTROL
- 0x0081: 0x21, # CONTROL
- 0x0082: 0x22, # CONTROL
- 0x0083: 0x23, # CONTROL
- 0x0084: 0x24, # CONTROL
- 0x0085: 0x15, # CONTROL
- 0x0086: 0x06, # CONTROL
- 0x0087: 0x17, # CONTROL
- 0x0088: 0x28, # CONTROL
- 0x0089: 0x29, # CONTROL
- 0x008A: 0x2A, # CONTROL
- 0x008B: 0x2B, # CONTROL
- 0x008C: 0x2C, # CONTROL
- 0x008D: 0x09, # CONTROL
- 0x008E: 0x0A, # CONTROL
- 0x008F: 0x1B, # CONTROL
- 0x0090: 0x30, # CONTROL
- 0x0091: 0x31, # CONTROL
- 0x0092: 0x1A, # CONTROL
- 0x0093: 0x33, # CONTROL
- 0x0094: 0x34, # CONTROL
- 0x0095: 0x35, # CONTROL
- 0x0096: 0x36, # CONTROL
- 0x0097: 0x08, # CONTROL
- 0x0098: 0x38, # CONTROL
- 0x0099: 0x39, # CONTROL
- 0x009A: 0x3A, # CONTROL
- 0x009B: 0x3B, # CONTROL
- 0x009C: 0x04, # CONTROL
- 0x009D: 0x14, # CONTROL
- 0x009E: 0x3E, # CONTROL
- 0x009F: 0xFF, # CONTROL
- 0x00A0: 0x41, # NO-BREAK SPACE
- 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
- 0x00A2: 0x4A, # CENT SIGN
- 0x00A3: 0xB1, # POUND SIGN
- 0x00A4: 0x9F, # CURRENCY SIGN
- 0x00A5: 0xB2, # YEN SIGN
- 0x00A6: 0x6A, # BROKEN BAR
- 0x00A7: 0xB5, # SECTION SIGN
- 0x00A8: 0xBD, # DIAERESIS
- 0x00A9: 0xB4, # COPYRIGHT SIGN
- 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0x5F, # NOT SIGN
- 0x00AD: 0xCA, # SOFT HYPHEN
- 0x00AE: 0xAF, # REGISTERED SIGN
- 0x00AF: 0xBC, # MACRON
- 0x00B0: 0x90, # DEGREE SIGN
- 0x00B1: 0x8F, # PLUS-MINUS SIGN
- 0x00B2: 0xEA, # SUPERSCRIPT TWO
- 0x00B3: 0xFA, # SUPERSCRIPT THREE
- 0x00B4: 0xBE, # ACUTE ACCENT
- 0x00B5: 0xA0, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB3, # MIDDLE DOT
- 0x00B8: 0x9D, # CEDILLA
- 0x00B9: 0xDA, # SUPERSCRIPT ONE
- 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xAB, # INVERTED QUESTION MARK
- 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
- 0x00C7: 0x68, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xAC, # LATIN CAPITAL LETTER ETH (ICELANDIC)
- 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xEC, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xBF, # MULTIPLICATION SIGN
- 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xFC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xAD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xAE, # LATIN CAPITAL LETTER THORN (ICELANDIC)
- 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
- 0x00E7: 0x48, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0x8C, # LATIN SMALL LETTER ETH (ICELANDIC)
- 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xCC, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xE1, # DIVISION SIGN
- 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xDC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0x8D, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
- 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x37, # END OF TRANSMISSION
+ 0x0005: 0x2D, # ENQUIRY
+ 0x0006: 0x2E, # ACKNOWLEDGE
+ 0x0007: 0x2F, # BELL
+ 0x0008: 0x16, # BACKSPACE
+ 0x0009: 0x05, # HORIZONTAL TABULATION
+ 0x000A: 0x25, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x3C, # DEVICE CONTROL FOUR
+ 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x32, # SYNCHRONOUS IDLE
+ 0x0017: 0x26, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x3F, # SUBSTITUTE
+ 0x001B: 0x27, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x40, # SPACE
+ 0x0021: 0x5A, # EXCLAMATION MARK
+ 0x0022: 0x7F, # QUOTATION MARK
+ 0x0023: 0x7B, # NUMBER SIGN
+ 0x0024: 0x5B, # DOLLAR SIGN
+ 0x0025: 0x6C, # PERCENT SIGN
+ 0x0026: 0x50, # AMPERSAND
+ 0x0027: 0x7D, # APOSTROPHE
+ 0x0028: 0x4D, # LEFT PARENTHESIS
+ 0x0029: 0x5D, # RIGHT PARENTHESIS
+ 0x002A: 0x5C, # ASTERISK
+ 0x002B: 0x4E, # PLUS SIGN
+ 0x002C: 0x6B, # COMMA
+ 0x002D: 0x60, # HYPHEN-MINUS
+ 0x002E: 0x4B, # FULL STOP
+ 0x002F: 0x61, # SOLIDUS
+ 0x0030: 0xF0, # DIGIT ZERO
+ 0x0031: 0xF1, # DIGIT ONE
+ 0x0032: 0xF2, # DIGIT TWO
+ 0x0033: 0xF3, # DIGIT THREE
+ 0x0034: 0xF4, # DIGIT FOUR
+ 0x0035: 0xF5, # DIGIT FIVE
+ 0x0036: 0xF6, # DIGIT SIX
+ 0x0037: 0xF7, # DIGIT SEVEN
+ 0x0038: 0xF8, # DIGIT EIGHT
+ 0x0039: 0xF9, # DIGIT NINE
+ 0x003A: 0x7A, # COLON
+ 0x003B: 0x5E, # SEMICOLON
+ 0x003C: 0x4C, # LESS-THAN SIGN
+ 0x003D: 0x7E, # EQUALS SIGN
+ 0x003E: 0x6E, # GREATER-THAN SIGN
+ 0x003F: 0x6F, # QUESTION MARK
+ 0x0040: 0x7C, # COMMERCIAL AT
+ 0x0041: 0xC1, # LATIN CAPITAL LETTER A
+ 0x0042: 0xC2, # LATIN CAPITAL LETTER B
+ 0x0043: 0xC3, # LATIN CAPITAL LETTER C
+ 0x0044: 0xC4, # LATIN CAPITAL LETTER D
+ 0x0045: 0xC5, # LATIN CAPITAL LETTER E
+ 0x0046: 0xC6, # LATIN CAPITAL LETTER F
+ 0x0047: 0xC7, # LATIN CAPITAL LETTER G
+ 0x0048: 0xC8, # LATIN CAPITAL LETTER H
+ 0x0049: 0xC9, # LATIN CAPITAL LETTER I
+ 0x004A: 0xD1, # LATIN CAPITAL LETTER J
+ 0x004B: 0xD2, # LATIN CAPITAL LETTER K
+ 0x004C: 0xD3, # LATIN CAPITAL LETTER L
+ 0x004D: 0xD4, # LATIN CAPITAL LETTER M
+ 0x004E: 0xD5, # LATIN CAPITAL LETTER N
+ 0x004F: 0xD6, # LATIN CAPITAL LETTER O
+ 0x0050: 0xD7, # LATIN CAPITAL LETTER P
+ 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
+ 0x0052: 0xD9, # LATIN CAPITAL LETTER R
+ 0x0053: 0xE2, # LATIN CAPITAL LETTER S
+ 0x0054: 0xE3, # LATIN CAPITAL LETTER T
+ 0x0055: 0xE4, # LATIN CAPITAL LETTER U
+ 0x0056: 0xE5, # LATIN CAPITAL LETTER V
+ 0x0057: 0xE6, # LATIN CAPITAL LETTER W
+ 0x0058: 0xE7, # LATIN CAPITAL LETTER X
+ 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
+ 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
+ 0x005B: 0xBA, # LEFT SQUARE BRACKET
+ 0x005C: 0xE0, # REVERSE SOLIDUS
+ 0x005D: 0xBB, # RIGHT SQUARE BRACKET
+ 0x005E: 0xB0, # CIRCUMFLEX ACCENT
+ 0x005F: 0x6D, # LOW LINE
+ 0x0060: 0x79, # GRAVE ACCENT
+ 0x0061: 0x81, # LATIN SMALL LETTER A
+ 0x0062: 0x82, # LATIN SMALL LETTER B
+ 0x0063: 0x83, # LATIN SMALL LETTER C
+ 0x0064: 0x84, # LATIN SMALL LETTER D
+ 0x0065: 0x85, # LATIN SMALL LETTER E
+ 0x0066: 0x86, # LATIN SMALL LETTER F
+ 0x0067: 0x87, # LATIN SMALL LETTER G
+ 0x0068: 0x88, # LATIN SMALL LETTER H
+ 0x0069: 0x89, # LATIN SMALL LETTER I
+ 0x006A: 0x91, # LATIN SMALL LETTER J
+ 0x006B: 0x92, # LATIN SMALL LETTER K
+ 0x006C: 0x93, # LATIN SMALL LETTER L
+ 0x006D: 0x94, # LATIN SMALL LETTER M
+ 0x006E: 0x95, # LATIN SMALL LETTER N
+ 0x006F: 0x96, # LATIN SMALL LETTER O
+ 0x0070: 0x97, # LATIN SMALL LETTER P
+ 0x0071: 0x98, # LATIN SMALL LETTER Q
+ 0x0072: 0x99, # LATIN SMALL LETTER R
+ 0x0073: 0xA2, # LATIN SMALL LETTER S
+ 0x0074: 0xA3, # LATIN SMALL LETTER T
+ 0x0075: 0xA4, # LATIN SMALL LETTER U
+ 0x0076: 0xA5, # LATIN SMALL LETTER V
+ 0x0077: 0xA6, # LATIN SMALL LETTER W
+ 0x0078: 0xA7, # LATIN SMALL LETTER X
+ 0x0079: 0xA8, # LATIN SMALL LETTER Y
+ 0x007A: 0xA9, # LATIN SMALL LETTER Z
+ 0x007B: 0xC0, # LEFT CURLY BRACKET
+ 0x007C: 0x4F, # VERTICAL LINE
+ 0x007D: 0xD0, # RIGHT CURLY BRACKET
+ 0x007E: 0xA1, # TILDE
+ 0x007F: 0x07, # DELETE
+ 0x0080: 0x20, # CONTROL
+ 0x0081: 0x21, # CONTROL
+ 0x0082: 0x22, # CONTROL
+ 0x0083: 0x23, # CONTROL
+ 0x0084: 0x24, # CONTROL
+ 0x0085: 0x15, # CONTROL
+ 0x0086: 0x06, # CONTROL
+ 0x0087: 0x17, # CONTROL
+ 0x0088: 0x28, # CONTROL
+ 0x0089: 0x29, # CONTROL
+ 0x008A: 0x2A, # CONTROL
+ 0x008B: 0x2B, # CONTROL
+ 0x008C: 0x2C, # CONTROL
+ 0x008D: 0x09, # CONTROL
+ 0x008E: 0x0A, # CONTROL
+ 0x008F: 0x1B, # CONTROL
+ 0x0090: 0x30, # CONTROL
+ 0x0091: 0x31, # CONTROL
+ 0x0092: 0x1A, # CONTROL
+ 0x0093: 0x33, # CONTROL
+ 0x0094: 0x34, # CONTROL
+ 0x0095: 0x35, # CONTROL
+ 0x0096: 0x36, # CONTROL
+ 0x0097: 0x08, # CONTROL
+ 0x0098: 0x38, # CONTROL
+ 0x0099: 0x39, # CONTROL
+ 0x009A: 0x3A, # CONTROL
+ 0x009B: 0x3B, # CONTROL
+ 0x009C: 0x04, # CONTROL
+ 0x009D: 0x14, # CONTROL
+ 0x009E: 0x3E, # CONTROL
+ 0x009F: 0xFF, # CONTROL
+ 0x00A0: 0x41, # NO-BREAK SPACE
+ 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0x4A, # CENT SIGN
+ 0x00A3: 0xB1, # POUND SIGN
+ 0x00A4: 0x9F, # CURRENCY SIGN
+ 0x00A5: 0xB2, # YEN SIGN
+ 0x00A6: 0x6A, # BROKEN BAR
+ 0x00A7: 0xB5, # SECTION SIGN
+ 0x00A8: 0xBD, # DIAERESIS
+ 0x00A9: 0xB4, # COPYRIGHT SIGN
+ 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0x5F, # NOT SIGN
+ 0x00AD: 0xCA, # SOFT HYPHEN
+ 0x00AE: 0xAF, # REGISTERED SIGN
+ 0x00AF: 0xBC, # MACRON
+ 0x00B0: 0x90, # DEGREE SIGN
+ 0x00B1: 0x8F, # PLUS-MINUS SIGN
+ 0x00B2: 0xEA, # SUPERSCRIPT TWO
+ 0x00B3: 0xFA, # SUPERSCRIPT THREE
+ 0x00B4: 0xBE, # ACUTE ACCENT
+ 0x00B5: 0xA0, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB3, # MIDDLE DOT
+ 0x00B8: 0x9D, # CEDILLA
+ 0x00B9: 0xDA, # SUPERSCRIPT ONE
+ 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xAB, # INVERTED QUESTION MARK
+ 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
+ 0x00C7: 0x68, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xAC, # LATIN CAPITAL LETTER ETH (ICELANDIC)
+ 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xEC, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xBF, # MULTIPLICATION SIGN
+ 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xFC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xAD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xAE, # LATIN CAPITAL LETTER THORN (ICELANDIC)
+ 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
+ 0x00E7: 0x48, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0x8C, # LATIN SMALL LETTER ETH (ICELANDIC)
+ 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xCC, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xE1, # DIVISION SIGN
+ 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xDC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0x8D, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
+ 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
}
-
diff --git a/Lib/encodings/cp1006.py b/Lib/encodings/cp1006.py
index e5fb0b6..d94563d 100644
--- a/Lib/encodings/cp1006.py
+++ b/Lib/encodings/cp1006.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,521 +32,520 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u06f0' # 0xA1 -> EXTENDED ARABIC-INDIC DIGIT ZERO
- u'\u06f1' # 0xA2 -> EXTENDED ARABIC-INDIC DIGIT ONE
- u'\u06f2' # 0xA3 -> EXTENDED ARABIC-INDIC DIGIT TWO
- u'\u06f3' # 0xA4 -> EXTENDED ARABIC-INDIC DIGIT THREE
- u'\u06f4' # 0xA5 -> EXTENDED ARABIC-INDIC DIGIT FOUR
- u'\u06f5' # 0xA6 -> EXTENDED ARABIC-INDIC DIGIT FIVE
- u'\u06f6' # 0xA7 -> EXTENDED ARABIC-INDIC DIGIT SIX
- u'\u06f7' # 0xA8 -> EXTENDED ARABIC-INDIC DIGIT SEVEN
- u'\u06f8' # 0xA9 -> EXTENDED ARABIC-INDIC DIGIT EIGHT
- u'\u06f9' # 0xAA -> EXTENDED ARABIC-INDIC DIGIT NINE
- u'\u060c' # 0xAB -> ARABIC COMMA
- u'\u061b' # 0xAC -> ARABIC SEMICOLON
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\u061f' # 0xAE -> ARABIC QUESTION MARK
- u'\ufe81' # 0xAF -> ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
- u'\ufe8d' # 0xB0 -> ARABIC LETTER ALEF ISOLATED FORM
- u'\ufe8e' # 0xB1 -> ARABIC LETTER ALEF FINAL FORM
- u'\ufe8e' # 0xB2 -> ARABIC LETTER ALEF FINAL FORM
- u'\ufe8f' # 0xB3 -> ARABIC LETTER BEH ISOLATED FORM
- u'\ufe91' # 0xB4 -> ARABIC LETTER BEH INITIAL FORM
- u'\ufb56' # 0xB5 -> ARABIC LETTER PEH ISOLATED FORM
- u'\ufb58' # 0xB6 -> ARABIC LETTER PEH INITIAL FORM
- u'\ufe93' # 0xB7 -> ARABIC LETTER TEH MARBUTA ISOLATED FORM
- u'\ufe95' # 0xB8 -> ARABIC LETTER TEH ISOLATED FORM
- u'\ufe97' # 0xB9 -> ARABIC LETTER TEH INITIAL FORM
- u'\ufb66' # 0xBA -> ARABIC LETTER TTEH ISOLATED FORM
- u'\ufb68' # 0xBB -> ARABIC LETTER TTEH INITIAL FORM
- u'\ufe99' # 0xBC -> ARABIC LETTER THEH ISOLATED FORM
- u'\ufe9b' # 0xBD -> ARABIC LETTER THEH INITIAL FORM
- u'\ufe9d' # 0xBE -> ARABIC LETTER JEEM ISOLATED FORM
- u'\ufe9f' # 0xBF -> ARABIC LETTER JEEM INITIAL FORM
- u'\ufb7a' # 0xC0 -> ARABIC LETTER TCHEH ISOLATED FORM
- u'\ufb7c' # 0xC1 -> ARABIC LETTER TCHEH INITIAL FORM
- u'\ufea1' # 0xC2 -> ARABIC LETTER HAH ISOLATED FORM
- u'\ufea3' # 0xC3 -> ARABIC LETTER HAH INITIAL FORM
- u'\ufea5' # 0xC4 -> ARABIC LETTER KHAH ISOLATED FORM
- u'\ufea7' # 0xC5 -> ARABIC LETTER KHAH INITIAL FORM
- u'\ufea9' # 0xC6 -> ARABIC LETTER DAL ISOLATED FORM
- u'\ufb84' # 0xC7 -> ARABIC LETTER DAHAL ISOLATED FORMN
- u'\ufeab' # 0xC8 -> ARABIC LETTER THAL ISOLATED FORM
- u'\ufead' # 0xC9 -> ARABIC LETTER REH ISOLATED FORM
- u'\ufb8c' # 0xCA -> ARABIC LETTER RREH ISOLATED FORM
- u'\ufeaf' # 0xCB -> ARABIC LETTER ZAIN ISOLATED FORM
- u'\ufb8a' # 0xCC -> ARABIC LETTER JEH ISOLATED FORM
- u'\ufeb1' # 0xCD -> ARABIC LETTER SEEN ISOLATED FORM
- u'\ufeb3' # 0xCE -> ARABIC LETTER SEEN INITIAL FORM
- u'\ufeb5' # 0xCF -> ARABIC LETTER SHEEN ISOLATED FORM
- u'\ufeb7' # 0xD0 -> ARABIC LETTER SHEEN INITIAL FORM
- u'\ufeb9' # 0xD1 -> ARABIC LETTER SAD ISOLATED FORM
- u'\ufebb' # 0xD2 -> ARABIC LETTER SAD INITIAL FORM
- u'\ufebd' # 0xD3 -> ARABIC LETTER DAD ISOLATED FORM
- u'\ufebf' # 0xD4 -> ARABIC LETTER DAD INITIAL FORM
- u'\ufec1' # 0xD5 -> ARABIC LETTER TAH ISOLATED FORM
- u'\ufec5' # 0xD6 -> ARABIC LETTER ZAH ISOLATED FORM
- u'\ufec9' # 0xD7 -> ARABIC LETTER AIN ISOLATED FORM
- u'\ufeca' # 0xD8 -> ARABIC LETTER AIN FINAL FORM
- u'\ufecb' # 0xD9 -> ARABIC LETTER AIN INITIAL FORM
- u'\ufecc' # 0xDA -> ARABIC LETTER AIN MEDIAL FORM
- u'\ufecd' # 0xDB -> ARABIC LETTER GHAIN ISOLATED FORM
- u'\ufece' # 0xDC -> ARABIC LETTER GHAIN FINAL FORM
- u'\ufecf' # 0xDD -> ARABIC LETTER GHAIN INITIAL FORM
- u'\ufed0' # 0xDE -> ARABIC LETTER GHAIN MEDIAL FORM
- u'\ufed1' # 0xDF -> ARABIC LETTER FEH ISOLATED FORM
- u'\ufed3' # 0xE0 -> ARABIC LETTER FEH INITIAL FORM
- u'\ufed5' # 0xE1 -> ARABIC LETTER QAF ISOLATED FORM
- u'\ufed7' # 0xE2 -> ARABIC LETTER QAF INITIAL FORM
- u'\ufed9' # 0xE3 -> ARABIC LETTER KAF ISOLATED FORM
- u'\ufedb' # 0xE4 -> ARABIC LETTER KAF INITIAL FORM
- u'\ufb92' # 0xE5 -> ARABIC LETTER GAF ISOLATED FORM
- u'\ufb94' # 0xE6 -> ARABIC LETTER GAF INITIAL FORM
- u'\ufedd' # 0xE7 -> ARABIC LETTER LAM ISOLATED FORM
- u'\ufedf' # 0xE8 -> ARABIC LETTER LAM INITIAL FORM
- u'\ufee0' # 0xE9 -> ARABIC LETTER LAM MEDIAL FORM
- u'\ufee1' # 0xEA -> ARABIC LETTER MEEM ISOLATED FORM
- u'\ufee3' # 0xEB -> ARABIC LETTER MEEM INITIAL FORM
- u'\ufb9e' # 0xEC -> ARABIC LETTER NOON GHUNNA ISOLATED FORM
- u'\ufee5' # 0xED -> ARABIC LETTER NOON ISOLATED FORM
- u'\ufee7' # 0xEE -> ARABIC LETTER NOON INITIAL FORM
- u'\ufe85' # 0xEF -> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
- u'\ufeed' # 0xF0 -> ARABIC LETTER WAW ISOLATED FORM
- u'\ufba6' # 0xF1 -> ARABIC LETTER HEH GOAL ISOLATED FORM
- u'\ufba8' # 0xF2 -> ARABIC LETTER HEH GOAL INITIAL FORM
- u'\ufba9' # 0xF3 -> ARABIC LETTER HEH GOAL MEDIAL FORM
- u'\ufbaa' # 0xF4 -> ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
- u'\ufe80' # 0xF5 -> ARABIC LETTER HAMZA ISOLATED FORM
- u'\ufe89' # 0xF6 -> ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
- u'\ufe8a' # 0xF7 -> ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
- u'\ufe8b' # 0xF8 -> ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
- u'\ufef1' # 0xF9 -> ARABIC LETTER YEH ISOLATED FORM
- u'\ufef2' # 0xFA -> ARABIC LETTER YEH FINAL FORM
- u'\ufef3' # 0xFB -> ARABIC LETTER YEH INITIAL FORM
- u'\ufbb0' # 0xFC -> ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
- u'\ufbae' # 0xFD -> ARABIC LETTER YEH BARREE ISOLATED FORM
- u'\ufe7c' # 0xFE -> ARABIC SHADDA ISOLATED FORM
- u'\ufe7d' # 0xFF -> ARABIC SHADDA MEDIAL FORM
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u06f0' # 0xA1 -> EXTENDED ARABIC-INDIC DIGIT ZERO
+ u'\u06f1' # 0xA2 -> EXTENDED ARABIC-INDIC DIGIT ONE
+ u'\u06f2' # 0xA3 -> EXTENDED ARABIC-INDIC DIGIT TWO
+ u'\u06f3' # 0xA4 -> EXTENDED ARABIC-INDIC DIGIT THREE
+ u'\u06f4' # 0xA5 -> EXTENDED ARABIC-INDIC DIGIT FOUR
+ u'\u06f5' # 0xA6 -> EXTENDED ARABIC-INDIC DIGIT FIVE
+ u'\u06f6' # 0xA7 -> EXTENDED ARABIC-INDIC DIGIT SIX
+ u'\u06f7' # 0xA8 -> EXTENDED ARABIC-INDIC DIGIT SEVEN
+ u'\u06f8' # 0xA9 -> EXTENDED ARABIC-INDIC DIGIT EIGHT
+ u'\u06f9' # 0xAA -> EXTENDED ARABIC-INDIC DIGIT NINE
+ u'\u060c' # 0xAB -> ARABIC COMMA
+ u'\u061b' # 0xAC -> ARABIC SEMICOLON
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u061f' # 0xAE -> ARABIC QUESTION MARK
+ u'\ufe81' # 0xAF -> ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+ u'\ufe8d' # 0xB0 -> ARABIC LETTER ALEF ISOLATED FORM
+ u'\ufe8e' # 0xB1 -> ARABIC LETTER ALEF FINAL FORM
+ u'\ufe8e' # 0xB2 -> ARABIC LETTER ALEF FINAL FORM
+ u'\ufe8f' # 0xB3 -> ARABIC LETTER BEH ISOLATED FORM
+ u'\ufe91' # 0xB4 -> ARABIC LETTER BEH INITIAL FORM
+ u'\ufb56' # 0xB5 -> ARABIC LETTER PEH ISOLATED FORM
+ u'\ufb58' # 0xB6 -> ARABIC LETTER PEH INITIAL FORM
+ u'\ufe93' # 0xB7 -> ARABIC LETTER TEH MARBUTA ISOLATED FORM
+ u'\ufe95' # 0xB8 -> ARABIC LETTER TEH ISOLATED FORM
+ u'\ufe97' # 0xB9 -> ARABIC LETTER TEH INITIAL FORM
+ u'\ufb66' # 0xBA -> ARABIC LETTER TTEH ISOLATED FORM
+ u'\ufb68' # 0xBB -> ARABIC LETTER TTEH INITIAL FORM
+ u'\ufe99' # 0xBC -> ARABIC LETTER THEH ISOLATED FORM
+ u'\ufe9b' # 0xBD -> ARABIC LETTER THEH INITIAL FORM
+ u'\ufe9d' # 0xBE -> ARABIC LETTER JEEM ISOLATED FORM
+ u'\ufe9f' # 0xBF -> ARABIC LETTER JEEM INITIAL FORM
+ u'\ufb7a' # 0xC0 -> ARABIC LETTER TCHEH ISOLATED FORM
+ u'\ufb7c' # 0xC1 -> ARABIC LETTER TCHEH INITIAL FORM
+ u'\ufea1' # 0xC2 -> ARABIC LETTER HAH ISOLATED FORM
+ u'\ufea3' # 0xC3 -> ARABIC LETTER HAH INITIAL FORM
+ u'\ufea5' # 0xC4 -> ARABIC LETTER KHAH ISOLATED FORM
+ u'\ufea7' # 0xC5 -> ARABIC LETTER KHAH INITIAL FORM
+ u'\ufea9' # 0xC6 -> ARABIC LETTER DAL ISOLATED FORM
+ u'\ufb84' # 0xC7 -> ARABIC LETTER DAHAL ISOLATED FORMN
+ u'\ufeab' # 0xC8 -> ARABIC LETTER THAL ISOLATED FORM
+ u'\ufead' # 0xC9 -> ARABIC LETTER REH ISOLATED FORM
+ u'\ufb8c' # 0xCA -> ARABIC LETTER RREH ISOLATED FORM
+ u'\ufeaf' # 0xCB -> ARABIC LETTER ZAIN ISOLATED FORM
+ u'\ufb8a' # 0xCC -> ARABIC LETTER JEH ISOLATED FORM
+ u'\ufeb1' # 0xCD -> ARABIC LETTER SEEN ISOLATED FORM
+ u'\ufeb3' # 0xCE -> ARABIC LETTER SEEN INITIAL FORM
+ u'\ufeb5' # 0xCF -> ARABIC LETTER SHEEN ISOLATED FORM
+ u'\ufeb7' # 0xD0 -> ARABIC LETTER SHEEN INITIAL FORM
+ u'\ufeb9' # 0xD1 -> ARABIC LETTER SAD ISOLATED FORM
+ u'\ufebb' # 0xD2 -> ARABIC LETTER SAD INITIAL FORM
+ u'\ufebd' # 0xD3 -> ARABIC LETTER DAD ISOLATED FORM
+ u'\ufebf' # 0xD4 -> ARABIC LETTER DAD INITIAL FORM
+ u'\ufec1' # 0xD5 -> ARABIC LETTER TAH ISOLATED FORM
+ u'\ufec5' # 0xD6 -> ARABIC LETTER ZAH ISOLATED FORM
+ u'\ufec9' # 0xD7 -> ARABIC LETTER AIN ISOLATED FORM
+ u'\ufeca' # 0xD8 -> ARABIC LETTER AIN FINAL FORM
+ u'\ufecb' # 0xD9 -> ARABIC LETTER AIN INITIAL FORM
+ u'\ufecc' # 0xDA -> ARABIC LETTER AIN MEDIAL FORM
+ u'\ufecd' # 0xDB -> ARABIC LETTER GHAIN ISOLATED FORM
+ u'\ufece' # 0xDC -> ARABIC LETTER GHAIN FINAL FORM
+ u'\ufecf' # 0xDD -> ARABIC LETTER GHAIN INITIAL FORM
+ u'\ufed0' # 0xDE -> ARABIC LETTER GHAIN MEDIAL FORM
+ u'\ufed1' # 0xDF -> ARABIC LETTER FEH ISOLATED FORM
+ u'\ufed3' # 0xE0 -> ARABIC LETTER FEH INITIAL FORM
+ u'\ufed5' # 0xE1 -> ARABIC LETTER QAF ISOLATED FORM
+ u'\ufed7' # 0xE2 -> ARABIC LETTER QAF INITIAL FORM
+ u'\ufed9' # 0xE3 -> ARABIC LETTER KAF ISOLATED FORM
+ u'\ufedb' # 0xE4 -> ARABIC LETTER KAF INITIAL FORM
+ u'\ufb92' # 0xE5 -> ARABIC LETTER GAF ISOLATED FORM
+ u'\ufb94' # 0xE6 -> ARABIC LETTER GAF INITIAL FORM
+ u'\ufedd' # 0xE7 -> ARABIC LETTER LAM ISOLATED FORM
+ u'\ufedf' # 0xE8 -> ARABIC LETTER LAM INITIAL FORM
+ u'\ufee0' # 0xE9 -> ARABIC LETTER LAM MEDIAL FORM
+ u'\ufee1' # 0xEA -> ARABIC LETTER MEEM ISOLATED FORM
+ u'\ufee3' # 0xEB -> ARABIC LETTER MEEM INITIAL FORM
+ u'\ufb9e' # 0xEC -> ARABIC LETTER NOON GHUNNA ISOLATED FORM
+ u'\ufee5' # 0xED -> ARABIC LETTER NOON ISOLATED FORM
+ u'\ufee7' # 0xEE -> ARABIC LETTER NOON INITIAL FORM
+ u'\ufe85' # 0xEF -> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+ u'\ufeed' # 0xF0 -> ARABIC LETTER WAW ISOLATED FORM
+ u'\ufba6' # 0xF1 -> ARABIC LETTER HEH GOAL ISOLATED FORM
+ u'\ufba8' # 0xF2 -> ARABIC LETTER HEH GOAL INITIAL FORM
+ u'\ufba9' # 0xF3 -> ARABIC LETTER HEH GOAL MEDIAL FORM
+ u'\ufbaa' # 0xF4 -> ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+ u'\ufe80' # 0xF5 -> ARABIC LETTER HAMZA ISOLATED FORM
+ u'\ufe89' # 0xF6 -> ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+ u'\ufe8a' # 0xF7 -> ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+ u'\ufe8b' # 0xF8 -> ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+ u'\ufef1' # 0xF9 -> ARABIC LETTER YEH ISOLATED FORM
+ u'\ufef2' # 0xFA -> ARABIC LETTER YEH FINAL FORM
+ u'\ufef3' # 0xFB -> ARABIC LETTER YEH INITIAL FORM
+ u'\ufbb0' # 0xFC -> ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+ u'\ufbae' # 0xFD -> ARABIC LETTER YEH BARREE ISOLATED FORM
+ u'\ufe7c' # 0xFE -> ARABIC SHADDA ISOLATED FORM
+ u'\ufe7d' # 0xFF -> ARABIC SHADDA MEDIAL FORM
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x060C: 0xAB, # ARABIC COMMA
- 0x061B: 0xAC, # ARABIC SEMICOLON
- 0x061F: 0xAE, # ARABIC QUESTION MARK
- 0x06F0: 0xA1, # EXTENDED ARABIC-INDIC DIGIT ZERO
- 0x06F1: 0xA2, # EXTENDED ARABIC-INDIC DIGIT ONE
- 0x06F2: 0xA3, # EXTENDED ARABIC-INDIC DIGIT TWO
- 0x06F3: 0xA4, # EXTENDED ARABIC-INDIC DIGIT THREE
- 0x06F4: 0xA5, # EXTENDED ARABIC-INDIC DIGIT FOUR
- 0x06F5: 0xA6, # EXTENDED ARABIC-INDIC DIGIT FIVE
- 0x06F6: 0xA7, # EXTENDED ARABIC-INDIC DIGIT SIX
- 0x06F7: 0xA8, # EXTENDED ARABIC-INDIC DIGIT SEVEN
- 0x06F8: 0xA9, # EXTENDED ARABIC-INDIC DIGIT EIGHT
- 0x06F9: 0xAA, # EXTENDED ARABIC-INDIC DIGIT NINE
- 0xFB56: 0xB5, # ARABIC LETTER PEH ISOLATED FORM
- 0xFB58: 0xB6, # ARABIC LETTER PEH INITIAL FORM
- 0xFB66: 0xBA, # ARABIC LETTER TTEH ISOLATED FORM
- 0xFB68: 0xBB, # ARABIC LETTER TTEH INITIAL FORM
- 0xFB7A: 0xC0, # ARABIC LETTER TCHEH ISOLATED FORM
- 0xFB7C: 0xC1, # ARABIC LETTER TCHEH INITIAL FORM
- 0xFB84: 0xC7, # ARABIC LETTER DAHAL ISOLATED FORMN
- 0xFB8A: 0xCC, # ARABIC LETTER JEH ISOLATED FORM
- 0xFB8C: 0xCA, # ARABIC LETTER RREH ISOLATED FORM
- 0xFB92: 0xE5, # ARABIC LETTER GAF ISOLATED FORM
- 0xFB94: 0xE6, # ARABIC LETTER GAF INITIAL FORM
- 0xFB9E: 0xEC, # ARABIC LETTER NOON GHUNNA ISOLATED FORM
- 0xFBA6: 0xF1, # ARABIC LETTER HEH GOAL ISOLATED FORM
- 0xFBA8: 0xF2, # ARABIC LETTER HEH GOAL INITIAL FORM
- 0xFBA9: 0xF3, # ARABIC LETTER HEH GOAL MEDIAL FORM
- 0xFBAA: 0xF4, # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
- 0xFBAE: 0xFD, # ARABIC LETTER YEH BARREE ISOLATED FORM
- 0xFBB0: 0xFC, # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
- 0xFE7C: 0xFE, # ARABIC SHADDA ISOLATED FORM
- 0xFE7D: 0xFF, # ARABIC SHADDA MEDIAL FORM
- 0xFE80: 0xF5, # ARABIC LETTER HAMZA ISOLATED FORM
- 0xFE81: 0xAF, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
- 0xFE85: 0xEF, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
- 0xFE89: 0xF6, # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
- 0xFE8A: 0xF7, # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
- 0xFE8B: 0xF8, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
- 0xFE8D: 0xB0, # ARABIC LETTER ALEF ISOLATED FORM
- 0xFE8E: None, # ARABIC LETTER ALEF FINAL FORM
- 0xFE8F: 0xB3, # ARABIC LETTER BEH ISOLATED FORM
- 0xFE91: 0xB4, # ARABIC LETTER BEH INITIAL FORM
- 0xFE93: 0xB7, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
- 0xFE95: 0xB8, # ARABIC LETTER TEH ISOLATED FORM
- 0xFE97: 0xB9, # ARABIC LETTER TEH INITIAL FORM
- 0xFE99: 0xBC, # ARABIC LETTER THEH ISOLATED FORM
- 0xFE9B: 0xBD, # ARABIC LETTER THEH INITIAL FORM
- 0xFE9D: 0xBE, # ARABIC LETTER JEEM ISOLATED FORM
- 0xFE9F: 0xBF, # ARABIC LETTER JEEM INITIAL FORM
- 0xFEA1: 0xC2, # ARABIC LETTER HAH ISOLATED FORM
- 0xFEA3: 0xC3, # ARABIC LETTER HAH INITIAL FORM
- 0xFEA5: 0xC4, # ARABIC LETTER KHAH ISOLATED FORM
- 0xFEA7: 0xC5, # ARABIC LETTER KHAH INITIAL FORM
- 0xFEA9: 0xC6, # ARABIC LETTER DAL ISOLATED FORM
- 0xFEAB: 0xC8, # ARABIC LETTER THAL ISOLATED FORM
- 0xFEAD: 0xC9, # ARABIC LETTER REH ISOLATED FORM
- 0xFEAF: 0xCB, # ARABIC LETTER ZAIN ISOLATED FORM
- 0xFEB1: 0xCD, # ARABIC LETTER SEEN ISOLATED FORM
- 0xFEB3: 0xCE, # ARABIC LETTER SEEN INITIAL FORM
- 0xFEB5: 0xCF, # ARABIC LETTER SHEEN ISOLATED FORM
- 0xFEB7: 0xD0, # ARABIC LETTER SHEEN INITIAL FORM
- 0xFEB9: 0xD1, # ARABIC LETTER SAD ISOLATED FORM
- 0xFEBB: 0xD2, # ARABIC LETTER SAD INITIAL FORM
- 0xFEBD: 0xD3, # ARABIC LETTER DAD ISOLATED FORM
- 0xFEBF: 0xD4, # ARABIC LETTER DAD INITIAL FORM
- 0xFEC1: 0xD5, # ARABIC LETTER TAH ISOLATED FORM
- 0xFEC5: 0xD6, # ARABIC LETTER ZAH ISOLATED FORM
- 0xFEC9: 0xD7, # ARABIC LETTER AIN ISOLATED FORM
- 0xFECA: 0xD8, # ARABIC LETTER AIN FINAL FORM
- 0xFECB: 0xD9, # ARABIC LETTER AIN INITIAL FORM
- 0xFECC: 0xDA, # ARABIC LETTER AIN MEDIAL FORM
- 0xFECD: 0xDB, # ARABIC LETTER GHAIN ISOLATED FORM
- 0xFECE: 0xDC, # ARABIC LETTER GHAIN FINAL FORM
- 0xFECF: 0xDD, # ARABIC LETTER GHAIN INITIAL FORM
- 0xFED0: 0xDE, # ARABIC LETTER GHAIN MEDIAL FORM
- 0xFED1: 0xDF, # ARABIC LETTER FEH ISOLATED FORM
- 0xFED3: 0xE0, # ARABIC LETTER FEH INITIAL FORM
- 0xFED5: 0xE1, # ARABIC LETTER QAF ISOLATED FORM
- 0xFED7: 0xE2, # ARABIC LETTER QAF INITIAL FORM
- 0xFED9: 0xE3, # ARABIC LETTER KAF ISOLATED FORM
- 0xFEDB: 0xE4, # ARABIC LETTER KAF INITIAL FORM
- 0xFEDD: 0xE7, # ARABIC LETTER LAM ISOLATED FORM
- 0xFEDF: 0xE8, # ARABIC LETTER LAM INITIAL FORM
- 0xFEE0: 0xE9, # ARABIC LETTER LAM MEDIAL FORM
- 0xFEE1: 0xEA, # ARABIC LETTER MEEM ISOLATED FORM
- 0xFEE3: 0xEB, # ARABIC LETTER MEEM INITIAL FORM
- 0xFEE5: 0xED, # ARABIC LETTER NOON ISOLATED FORM
- 0xFEE7: 0xEE, # ARABIC LETTER NOON INITIAL FORM
- 0xFEED: 0xF0, # ARABIC LETTER WAW ISOLATED FORM
- 0xFEF1: 0xF9, # ARABIC LETTER YEH ISOLATED FORM
- 0xFEF2: 0xFA, # ARABIC LETTER YEH FINAL FORM
- 0xFEF3: 0xFB, # ARABIC LETTER YEH INITIAL FORM
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x060C: 0xAB, # ARABIC COMMA
+ 0x061B: 0xAC, # ARABIC SEMICOLON
+ 0x061F: 0xAE, # ARABIC QUESTION MARK
+ 0x06F0: 0xA1, # EXTENDED ARABIC-INDIC DIGIT ZERO
+ 0x06F1: 0xA2, # EXTENDED ARABIC-INDIC DIGIT ONE
+ 0x06F2: 0xA3, # EXTENDED ARABIC-INDIC DIGIT TWO
+ 0x06F3: 0xA4, # EXTENDED ARABIC-INDIC DIGIT THREE
+ 0x06F4: 0xA5, # EXTENDED ARABIC-INDIC DIGIT FOUR
+ 0x06F5: 0xA6, # EXTENDED ARABIC-INDIC DIGIT FIVE
+ 0x06F6: 0xA7, # EXTENDED ARABIC-INDIC DIGIT SIX
+ 0x06F7: 0xA8, # EXTENDED ARABIC-INDIC DIGIT SEVEN
+ 0x06F8: 0xA9, # EXTENDED ARABIC-INDIC DIGIT EIGHT
+ 0x06F9: 0xAA, # EXTENDED ARABIC-INDIC DIGIT NINE
+ 0xFB56: 0xB5, # ARABIC LETTER PEH ISOLATED FORM
+ 0xFB58: 0xB6, # ARABIC LETTER PEH INITIAL FORM
+ 0xFB66: 0xBA, # ARABIC LETTER TTEH ISOLATED FORM
+ 0xFB68: 0xBB, # ARABIC LETTER TTEH INITIAL FORM
+ 0xFB7A: 0xC0, # ARABIC LETTER TCHEH ISOLATED FORM
+ 0xFB7C: 0xC1, # ARABIC LETTER TCHEH INITIAL FORM
+ 0xFB84: 0xC7, # ARABIC LETTER DAHAL ISOLATED FORMN
+ 0xFB8A: 0xCC, # ARABIC LETTER JEH ISOLATED FORM
+ 0xFB8C: 0xCA, # ARABIC LETTER RREH ISOLATED FORM
+ 0xFB92: 0xE5, # ARABIC LETTER GAF ISOLATED FORM
+ 0xFB94: 0xE6, # ARABIC LETTER GAF INITIAL FORM
+ 0xFB9E: 0xEC, # ARABIC LETTER NOON GHUNNA ISOLATED FORM
+ 0xFBA6: 0xF1, # ARABIC LETTER HEH GOAL ISOLATED FORM
+ 0xFBA8: 0xF2, # ARABIC LETTER HEH GOAL INITIAL FORM
+ 0xFBA9: 0xF3, # ARABIC LETTER HEH GOAL MEDIAL FORM
+ 0xFBAA: 0xF4, # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+ 0xFBAE: 0xFD, # ARABIC LETTER YEH BARREE ISOLATED FORM
+ 0xFBB0: 0xFC, # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+ 0xFE7C: 0xFE, # ARABIC SHADDA ISOLATED FORM
+ 0xFE7D: 0xFF, # ARABIC SHADDA MEDIAL FORM
+ 0xFE80: 0xF5, # ARABIC LETTER HAMZA ISOLATED FORM
+ 0xFE81: 0xAF, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+ 0xFE85: 0xEF, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+ 0xFE89: 0xF6, # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+ 0xFE8A: 0xF7, # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+ 0xFE8B: 0xF8, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+ 0xFE8D: 0xB0, # ARABIC LETTER ALEF ISOLATED FORM
+ 0xFE8E: None, # ARABIC LETTER ALEF FINAL FORM
+ 0xFE8F: 0xB3, # ARABIC LETTER BEH ISOLATED FORM
+ 0xFE91: 0xB4, # ARABIC LETTER BEH INITIAL FORM
+ 0xFE93: 0xB7, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+ 0xFE95: 0xB8, # ARABIC LETTER TEH ISOLATED FORM
+ 0xFE97: 0xB9, # ARABIC LETTER TEH INITIAL FORM
+ 0xFE99: 0xBC, # ARABIC LETTER THEH ISOLATED FORM
+ 0xFE9B: 0xBD, # ARABIC LETTER THEH INITIAL FORM
+ 0xFE9D: 0xBE, # ARABIC LETTER JEEM ISOLATED FORM
+ 0xFE9F: 0xBF, # ARABIC LETTER JEEM INITIAL FORM
+ 0xFEA1: 0xC2, # ARABIC LETTER HAH ISOLATED FORM
+ 0xFEA3: 0xC3, # ARABIC LETTER HAH INITIAL FORM
+ 0xFEA5: 0xC4, # ARABIC LETTER KHAH ISOLATED FORM
+ 0xFEA7: 0xC5, # ARABIC LETTER KHAH INITIAL FORM
+ 0xFEA9: 0xC6, # ARABIC LETTER DAL ISOLATED FORM
+ 0xFEAB: 0xC8, # ARABIC LETTER THAL ISOLATED FORM
+ 0xFEAD: 0xC9, # ARABIC LETTER REH ISOLATED FORM
+ 0xFEAF: 0xCB, # ARABIC LETTER ZAIN ISOLATED FORM
+ 0xFEB1: 0xCD, # ARABIC LETTER SEEN ISOLATED FORM
+ 0xFEB3: 0xCE, # ARABIC LETTER SEEN INITIAL FORM
+ 0xFEB5: 0xCF, # ARABIC LETTER SHEEN ISOLATED FORM
+ 0xFEB7: 0xD0, # ARABIC LETTER SHEEN INITIAL FORM
+ 0xFEB9: 0xD1, # ARABIC LETTER SAD ISOLATED FORM
+ 0xFEBB: 0xD2, # ARABIC LETTER SAD INITIAL FORM
+ 0xFEBD: 0xD3, # ARABIC LETTER DAD ISOLATED FORM
+ 0xFEBF: 0xD4, # ARABIC LETTER DAD INITIAL FORM
+ 0xFEC1: 0xD5, # ARABIC LETTER TAH ISOLATED FORM
+ 0xFEC5: 0xD6, # ARABIC LETTER ZAH ISOLATED FORM
+ 0xFEC9: 0xD7, # ARABIC LETTER AIN ISOLATED FORM
+ 0xFECA: 0xD8, # ARABIC LETTER AIN FINAL FORM
+ 0xFECB: 0xD9, # ARABIC LETTER AIN INITIAL FORM
+ 0xFECC: 0xDA, # ARABIC LETTER AIN MEDIAL FORM
+ 0xFECD: 0xDB, # ARABIC LETTER GHAIN ISOLATED FORM
+ 0xFECE: 0xDC, # ARABIC LETTER GHAIN FINAL FORM
+ 0xFECF: 0xDD, # ARABIC LETTER GHAIN INITIAL FORM
+ 0xFED0: 0xDE, # ARABIC LETTER GHAIN MEDIAL FORM
+ 0xFED1: 0xDF, # ARABIC LETTER FEH ISOLATED FORM
+ 0xFED3: 0xE0, # ARABIC LETTER FEH INITIAL FORM
+ 0xFED5: 0xE1, # ARABIC LETTER QAF ISOLATED FORM
+ 0xFED7: 0xE2, # ARABIC LETTER QAF INITIAL FORM
+ 0xFED9: 0xE3, # ARABIC LETTER KAF ISOLATED FORM
+ 0xFEDB: 0xE4, # ARABIC LETTER KAF INITIAL FORM
+ 0xFEDD: 0xE7, # ARABIC LETTER LAM ISOLATED FORM
+ 0xFEDF: 0xE8, # ARABIC LETTER LAM INITIAL FORM
+ 0xFEE0: 0xE9, # ARABIC LETTER LAM MEDIAL FORM
+ 0xFEE1: 0xEA, # ARABIC LETTER MEEM ISOLATED FORM
+ 0xFEE3: 0xEB, # ARABIC LETTER MEEM INITIAL FORM
+ 0xFEE5: 0xED, # ARABIC LETTER NOON ISOLATED FORM
+ 0xFEE7: 0xEE, # ARABIC LETTER NOON INITIAL FORM
+ 0xFEED: 0xF0, # ARABIC LETTER WAW ISOLATED FORM
+ 0xFEF1: 0xF9, # ARABIC LETTER YEH ISOLATED FORM
+ 0xFEF2: 0xFA, # ARABIC LETTER YEH FINAL FORM
+ 0xFEF3: 0xFB, # ARABIC LETTER YEH INITIAL FORM
}
-
diff --git a/Lib/encodings/cp1026.py b/Lib/encodings/cp1026.py
index 83e6429..648bed0 100644
--- a/Lib/encodings/cp1026.py
+++ b/Lib/encodings/cp1026.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x9c' # 0x04 -> CONTROL
- u'\t' # 0x05 -> HORIZONTAL TABULATION
- u'\x86' # 0x06 -> CONTROL
- u'\x7f' # 0x07 -> DELETE
- u'\x97' # 0x08 -> CONTROL
- u'\x8d' # 0x09 -> CONTROL
- u'\x8e' # 0x0A -> CONTROL
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x9d' # 0x14 -> CONTROL
- u'\x85' # 0x15 -> CONTROL
- u'\x08' # 0x16 -> BACKSPACE
- u'\x87' # 0x17 -> CONTROL
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x92' # 0x1A -> CONTROL
- u'\x8f' # 0x1B -> CONTROL
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u'\x80' # 0x20 -> CONTROL
- u'\x81' # 0x21 -> CONTROL
- u'\x82' # 0x22 -> CONTROL
- u'\x83' # 0x23 -> CONTROL
- u'\x84' # 0x24 -> CONTROL
- u'\n' # 0x25 -> LINE FEED
- u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
- u'\x1b' # 0x27 -> ESCAPE
- u'\x88' # 0x28 -> CONTROL
- u'\x89' # 0x29 -> CONTROL
- u'\x8a' # 0x2A -> CONTROL
- u'\x8b' # 0x2B -> CONTROL
- u'\x8c' # 0x2C -> CONTROL
- u'\x05' # 0x2D -> ENQUIRY
- u'\x06' # 0x2E -> ACKNOWLEDGE
- u'\x07' # 0x2F -> BELL
- u'\x90' # 0x30 -> CONTROL
- u'\x91' # 0x31 -> CONTROL
- u'\x16' # 0x32 -> SYNCHRONOUS IDLE
- u'\x93' # 0x33 -> CONTROL
- u'\x94' # 0x34 -> CONTROL
- u'\x95' # 0x35 -> CONTROL
- u'\x96' # 0x36 -> CONTROL
- u'\x04' # 0x37 -> END OF TRANSMISSION
- u'\x98' # 0x38 -> CONTROL
- u'\x99' # 0x39 -> CONTROL
- u'\x9a' # 0x3A -> CONTROL
- u'\x9b' # 0x3B -> CONTROL
- u'\x14' # 0x3C -> DEVICE CONTROL FOUR
- u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
- u'\x9e' # 0x3E -> CONTROL
- u'\x1a' # 0x3F -> SUBSTITUTE
- u' ' # 0x40 -> SPACE
- u'\xa0' # 0x41 -> NO-BREAK SPACE
- u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'{' # 0x48 -> LEFT CURLY BRACKET
- u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
- u'\xc7' # 0x4A -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'.' # 0x4B -> FULL STOP
- u'<' # 0x4C -> LESS-THAN SIGN
- u'(' # 0x4D -> LEFT PARENTHESIS
- u'+' # 0x4E -> PLUS SIGN
- u'!' # 0x4F -> EXCLAMATION MARK
- u'&' # 0x50 -> AMPERSAND
- u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
- u'\u011e' # 0x5A -> LATIN CAPITAL LETTER G WITH BREVE
- u'\u0130' # 0x5B -> LATIN CAPITAL LETTER I WITH DOT ABOVE
- u'*' # 0x5C -> ASTERISK
- u')' # 0x5D -> RIGHT PARENTHESIS
- u';' # 0x5E -> SEMICOLON
- u'^' # 0x5F -> CIRCUMFLEX ACCENT
- u'-' # 0x60 -> HYPHEN-MINUS
- u'/' # 0x61 -> SOLIDUS
- u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'[' # 0x68 -> LEFT SQUARE BRACKET
- u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\u015f' # 0x6A -> LATIN SMALL LETTER S WITH CEDILLA
- u',' # 0x6B -> COMMA
- u'%' # 0x6C -> PERCENT SIGN
- u'_' # 0x6D -> LOW LINE
- u'>' # 0x6E -> GREATER-THAN SIGN
- u'?' # 0x6F -> QUESTION MARK
- u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
- u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\u0131' # 0x79 -> LATIN SMALL LETTER DOTLESS I
- u':' # 0x7A -> COLON
- u'\xd6' # 0x7B -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\u015e' # 0x7C -> LATIN CAPITAL LETTER S WITH CEDILLA
- u"'" # 0x7D -> APOSTROPHE
- u'=' # 0x7E -> EQUALS SIGN
- u'\xdc' # 0x7F -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
- u'a' # 0x81 -> LATIN SMALL LETTER A
- u'b' # 0x82 -> LATIN SMALL LETTER B
- u'c' # 0x83 -> LATIN SMALL LETTER C
- u'd' # 0x84 -> LATIN SMALL LETTER D
- u'e' # 0x85 -> LATIN SMALL LETTER E
- u'f' # 0x86 -> LATIN SMALL LETTER F
- u'g' # 0x87 -> LATIN SMALL LETTER G
- u'h' # 0x88 -> LATIN SMALL LETTER H
- u'i' # 0x89 -> LATIN SMALL LETTER I
- u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'}' # 0x8C -> RIGHT CURLY BRACKET
- u'`' # 0x8D -> GRAVE ACCENT
- u'\xa6' # 0x8E -> BROKEN BAR
- u'\xb1' # 0x8F -> PLUS-MINUS SIGN
- u'\xb0' # 0x90 -> DEGREE SIGN
- u'j' # 0x91 -> LATIN SMALL LETTER J
- u'k' # 0x92 -> LATIN SMALL LETTER K
- u'l' # 0x93 -> LATIN SMALL LETTER L
- u'm' # 0x94 -> LATIN SMALL LETTER M
- u'n' # 0x95 -> LATIN SMALL LETTER N
- u'o' # 0x96 -> LATIN SMALL LETTER O
- u'p' # 0x97 -> LATIN SMALL LETTER P
- u'q' # 0x98 -> LATIN SMALL LETTER Q
- u'r' # 0x99 -> LATIN SMALL LETTER R
- u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
- u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
- u'\xb8' # 0x9D -> CEDILLA
- u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
- u'\xa4' # 0x9F -> CURRENCY SIGN
- u'\xb5' # 0xA0 -> MICRO SIGN
- u'\xf6' # 0xA1 -> LATIN SMALL LETTER O WITH DIAERESIS
- u's' # 0xA2 -> LATIN SMALL LETTER S
- u't' # 0xA3 -> LATIN SMALL LETTER T
- u'u' # 0xA4 -> LATIN SMALL LETTER U
- u'v' # 0xA5 -> LATIN SMALL LETTER V
- u'w' # 0xA6 -> LATIN SMALL LETTER W
- u'x' # 0xA7 -> LATIN SMALL LETTER X
- u'y' # 0xA8 -> LATIN SMALL LETTER Y
- u'z' # 0xA9 -> LATIN SMALL LETTER Z
- u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
- u'\xbf' # 0xAB -> INVERTED QUESTION MARK
- u']' # 0xAC -> RIGHT SQUARE BRACKET
- u'$' # 0xAD -> DOLLAR SIGN
- u'@' # 0xAE -> COMMERCIAL AT
- u'\xae' # 0xAF -> REGISTERED SIGN
- u'\xa2' # 0xB0 -> CENT SIGN
- u'\xa3' # 0xB1 -> POUND SIGN
- u'\xa5' # 0xB2 -> YEN SIGN
- u'\xb7' # 0xB3 -> MIDDLE DOT
- u'\xa9' # 0xB4 -> COPYRIGHT SIGN
- u'\xa7' # 0xB5 -> SECTION SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
- u'\xac' # 0xBA -> NOT SIGN
- u'|' # 0xBB -> VERTICAL LINE
- u'\xaf' # 0xBC -> MACRON
- u'\xa8' # 0xBD -> DIAERESIS
- u'\xb4' # 0xBE -> ACUTE ACCENT
- u'\xd7' # 0xBF -> MULTIPLICATION SIGN
- u'\xe7' # 0xC0 -> LATIN SMALL LETTER C WITH CEDILLA
- u'A' # 0xC1 -> LATIN CAPITAL LETTER A
- u'B' # 0xC2 -> LATIN CAPITAL LETTER B
- u'C' # 0xC3 -> LATIN CAPITAL LETTER C
- u'D' # 0xC4 -> LATIN CAPITAL LETTER D
- u'E' # 0xC5 -> LATIN CAPITAL LETTER E
- u'F' # 0xC6 -> LATIN CAPITAL LETTER F
- u'G' # 0xC7 -> LATIN CAPITAL LETTER G
- u'H' # 0xC8 -> LATIN CAPITAL LETTER H
- u'I' # 0xC9 -> LATIN CAPITAL LETTER I
- u'\xad' # 0xCA -> SOFT HYPHEN
- u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'~' # 0xCC -> TILDE
- u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
- u'\u011f' # 0xD0 -> LATIN SMALL LETTER G WITH BREVE
- u'J' # 0xD1 -> LATIN CAPITAL LETTER J
- u'K' # 0xD2 -> LATIN CAPITAL LETTER K
- u'L' # 0xD3 -> LATIN CAPITAL LETTER L
- u'M' # 0xD4 -> LATIN CAPITAL LETTER M
- u'N' # 0xD5 -> LATIN CAPITAL LETTER N
- u'O' # 0xD6 -> LATIN CAPITAL LETTER O
- u'P' # 0xD7 -> LATIN CAPITAL LETTER P
- u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
- u'R' # 0xD9 -> LATIN CAPITAL LETTER R
- u'\xb9' # 0xDA -> SUPERSCRIPT ONE
- u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\\' # 0xDC -> REVERSE SOLIDUS
- u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
- u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\xfc' # 0xE0 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xf7' # 0xE1 -> DIVISION SIGN
- u'S' # 0xE2 -> LATIN CAPITAL LETTER S
- u'T' # 0xE3 -> LATIN CAPITAL LETTER T
- u'U' # 0xE4 -> LATIN CAPITAL LETTER U
- u'V' # 0xE5 -> LATIN CAPITAL LETTER V
- u'W' # 0xE6 -> LATIN CAPITAL LETTER W
- u'X' # 0xE7 -> LATIN CAPITAL LETTER X
- u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
- u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
- u'\xb2' # 0xEA -> SUPERSCRIPT TWO
- u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'#' # 0xEC -> NUMBER SIGN
- u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
- u'0' # 0xF0 -> DIGIT ZERO
- u'1' # 0xF1 -> DIGIT ONE
- u'2' # 0xF2 -> DIGIT TWO
- u'3' # 0xF3 -> DIGIT THREE
- u'4' # 0xF4 -> DIGIT FOUR
- u'5' # 0xF5 -> DIGIT FIVE
- u'6' # 0xF6 -> DIGIT SIX
- u'7' # 0xF7 -> DIGIT SEVEN
- u'8' # 0xF8 -> DIGIT EIGHT
- u'9' # 0xF9 -> DIGIT NINE
- u'\xb3' # 0xFA -> SUPERSCRIPT THREE
- u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'"' # 0xFC -> QUOTATION MARK
- u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\x9f' # 0xFF -> CONTROL
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x9c' # 0x04 -> CONTROL
+ u'\t' # 0x05 -> HORIZONTAL TABULATION
+ u'\x86' # 0x06 -> CONTROL
+ u'\x7f' # 0x07 -> DELETE
+ u'\x97' # 0x08 -> CONTROL
+ u'\x8d' # 0x09 -> CONTROL
+ u'\x8e' # 0x0A -> CONTROL
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x9d' # 0x14 -> CONTROL
+ u'\x85' # 0x15 -> CONTROL
+ u'\x08' # 0x16 -> BACKSPACE
+ u'\x87' # 0x17 -> CONTROL
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x92' # 0x1A -> CONTROL
+ u'\x8f' # 0x1B -> CONTROL
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u'\x80' # 0x20 -> CONTROL
+ u'\x81' # 0x21 -> CONTROL
+ u'\x82' # 0x22 -> CONTROL
+ u'\x83' # 0x23 -> CONTROL
+ u'\x84' # 0x24 -> CONTROL
+ u'\n' # 0x25 -> LINE FEED
+ u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
+ u'\x1b' # 0x27 -> ESCAPE
+ u'\x88' # 0x28 -> CONTROL
+ u'\x89' # 0x29 -> CONTROL
+ u'\x8a' # 0x2A -> CONTROL
+ u'\x8b' # 0x2B -> CONTROL
+ u'\x8c' # 0x2C -> CONTROL
+ u'\x05' # 0x2D -> ENQUIRY
+ u'\x06' # 0x2E -> ACKNOWLEDGE
+ u'\x07' # 0x2F -> BELL
+ u'\x90' # 0x30 -> CONTROL
+ u'\x91' # 0x31 -> CONTROL
+ u'\x16' # 0x32 -> SYNCHRONOUS IDLE
+ u'\x93' # 0x33 -> CONTROL
+ u'\x94' # 0x34 -> CONTROL
+ u'\x95' # 0x35 -> CONTROL
+ u'\x96' # 0x36 -> CONTROL
+ u'\x04' # 0x37 -> END OF TRANSMISSION
+ u'\x98' # 0x38 -> CONTROL
+ u'\x99' # 0x39 -> CONTROL
+ u'\x9a' # 0x3A -> CONTROL
+ u'\x9b' # 0x3B -> CONTROL
+ u'\x14' # 0x3C -> DEVICE CONTROL FOUR
+ u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
+ u'\x9e' # 0x3E -> CONTROL
+ u'\x1a' # 0x3F -> SUBSTITUTE
+ u' ' # 0x40 -> SPACE
+ u'\xa0' # 0x41 -> NO-BREAK SPACE
+ u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'{' # 0x48 -> LEFT CURLY BRACKET
+ u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xc7' # 0x4A -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'.' # 0x4B -> FULL STOP
+ u'<' # 0x4C -> LESS-THAN SIGN
+ u'(' # 0x4D -> LEFT PARENTHESIS
+ u'+' # 0x4E -> PLUS SIGN
+ u'!' # 0x4F -> EXCLAMATION MARK
+ u'&' # 0x50 -> AMPERSAND
+ u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
+ u'\u011e' # 0x5A -> LATIN CAPITAL LETTER G WITH BREVE
+ u'\u0130' # 0x5B -> LATIN CAPITAL LETTER I WITH DOT ABOVE
+ u'*' # 0x5C -> ASTERISK
+ u')' # 0x5D -> RIGHT PARENTHESIS
+ u';' # 0x5E -> SEMICOLON
+ u'^' # 0x5F -> CIRCUMFLEX ACCENT
+ u'-' # 0x60 -> HYPHEN-MINUS
+ u'/' # 0x61 -> SOLIDUS
+ u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'[' # 0x68 -> LEFT SQUARE BRACKET
+ u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\u015f' # 0x6A -> LATIN SMALL LETTER S WITH CEDILLA
+ u',' # 0x6B -> COMMA
+ u'%' # 0x6C -> PERCENT SIGN
+ u'_' # 0x6D -> LOW LINE
+ u'>' # 0x6E -> GREATER-THAN SIGN
+ u'?' # 0x6F -> QUESTION MARK
+ u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\u0131' # 0x79 -> LATIN SMALL LETTER DOTLESS I
+ u':' # 0x7A -> COLON
+ u'\xd6' # 0x7B -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\u015e' # 0x7C -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u"'" # 0x7D -> APOSTROPHE
+ u'=' # 0x7E -> EQUALS SIGN
+ u'\xdc' # 0x7F -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'a' # 0x81 -> LATIN SMALL LETTER A
+ u'b' # 0x82 -> LATIN SMALL LETTER B
+ u'c' # 0x83 -> LATIN SMALL LETTER C
+ u'd' # 0x84 -> LATIN SMALL LETTER D
+ u'e' # 0x85 -> LATIN SMALL LETTER E
+ u'f' # 0x86 -> LATIN SMALL LETTER F
+ u'g' # 0x87 -> LATIN SMALL LETTER G
+ u'h' # 0x88 -> LATIN SMALL LETTER H
+ u'i' # 0x89 -> LATIN SMALL LETTER I
+ u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'}' # 0x8C -> RIGHT CURLY BRACKET
+ u'`' # 0x8D -> GRAVE ACCENT
+ u'\xa6' # 0x8E -> BROKEN BAR
+ u'\xb1' # 0x8F -> PLUS-MINUS SIGN
+ u'\xb0' # 0x90 -> DEGREE SIGN
+ u'j' # 0x91 -> LATIN SMALL LETTER J
+ u'k' # 0x92 -> LATIN SMALL LETTER K
+ u'l' # 0x93 -> LATIN SMALL LETTER L
+ u'm' # 0x94 -> LATIN SMALL LETTER M
+ u'n' # 0x95 -> LATIN SMALL LETTER N
+ u'o' # 0x96 -> LATIN SMALL LETTER O
+ u'p' # 0x97 -> LATIN SMALL LETTER P
+ u'q' # 0x98 -> LATIN SMALL LETTER Q
+ u'r' # 0x99 -> LATIN SMALL LETTER R
+ u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
+ u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
+ u'\xb8' # 0x9D -> CEDILLA
+ u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
+ u'\xa4' # 0x9F -> CURRENCY SIGN
+ u'\xb5' # 0xA0 -> MICRO SIGN
+ u'\xf6' # 0xA1 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u's' # 0xA2 -> LATIN SMALL LETTER S
+ u't' # 0xA3 -> LATIN SMALL LETTER T
+ u'u' # 0xA4 -> LATIN SMALL LETTER U
+ u'v' # 0xA5 -> LATIN SMALL LETTER V
+ u'w' # 0xA6 -> LATIN SMALL LETTER W
+ u'x' # 0xA7 -> LATIN SMALL LETTER X
+ u'y' # 0xA8 -> LATIN SMALL LETTER Y
+ u'z' # 0xA9 -> LATIN SMALL LETTER Z
+ u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
+ u'\xbf' # 0xAB -> INVERTED QUESTION MARK
+ u']' # 0xAC -> RIGHT SQUARE BRACKET
+ u'$' # 0xAD -> DOLLAR SIGN
+ u'@' # 0xAE -> COMMERCIAL AT
+ u'\xae' # 0xAF -> REGISTERED SIGN
+ u'\xa2' # 0xB0 -> CENT SIGN
+ u'\xa3' # 0xB1 -> POUND SIGN
+ u'\xa5' # 0xB2 -> YEN SIGN
+ u'\xb7' # 0xB3 -> MIDDLE DOT
+ u'\xa9' # 0xB4 -> COPYRIGHT SIGN
+ u'\xa7' # 0xB5 -> SECTION SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
+ u'\xac' # 0xBA -> NOT SIGN
+ u'|' # 0xBB -> VERTICAL LINE
+ u'\xaf' # 0xBC -> MACRON
+ u'\xa8' # 0xBD -> DIAERESIS
+ u'\xb4' # 0xBE -> ACUTE ACCENT
+ u'\xd7' # 0xBF -> MULTIPLICATION SIGN
+ u'\xe7' # 0xC0 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'A' # 0xC1 -> LATIN CAPITAL LETTER A
+ u'B' # 0xC2 -> LATIN CAPITAL LETTER B
+ u'C' # 0xC3 -> LATIN CAPITAL LETTER C
+ u'D' # 0xC4 -> LATIN CAPITAL LETTER D
+ u'E' # 0xC5 -> LATIN CAPITAL LETTER E
+ u'F' # 0xC6 -> LATIN CAPITAL LETTER F
+ u'G' # 0xC7 -> LATIN CAPITAL LETTER G
+ u'H' # 0xC8 -> LATIN CAPITAL LETTER H
+ u'I' # 0xC9 -> LATIN CAPITAL LETTER I
+ u'\xad' # 0xCA -> SOFT HYPHEN
+ u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'~' # 0xCC -> TILDE
+ u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
+ u'\u011f' # 0xD0 -> LATIN SMALL LETTER G WITH BREVE
+ u'J' # 0xD1 -> LATIN CAPITAL LETTER J
+ u'K' # 0xD2 -> LATIN CAPITAL LETTER K
+ u'L' # 0xD3 -> LATIN CAPITAL LETTER L
+ u'M' # 0xD4 -> LATIN CAPITAL LETTER M
+ u'N' # 0xD5 -> LATIN CAPITAL LETTER N
+ u'O' # 0xD6 -> LATIN CAPITAL LETTER O
+ u'P' # 0xD7 -> LATIN CAPITAL LETTER P
+ u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
+ u'R' # 0xD9 -> LATIN CAPITAL LETTER R
+ u'\xb9' # 0xDA -> SUPERSCRIPT ONE
+ u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\\' # 0xDC -> REVERSE SOLIDUS
+ u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\xfc' # 0xE0 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xf7' # 0xE1 -> DIVISION SIGN
+ u'S' # 0xE2 -> LATIN CAPITAL LETTER S
+ u'T' # 0xE3 -> LATIN CAPITAL LETTER T
+ u'U' # 0xE4 -> LATIN CAPITAL LETTER U
+ u'V' # 0xE5 -> LATIN CAPITAL LETTER V
+ u'W' # 0xE6 -> LATIN CAPITAL LETTER W
+ u'X' # 0xE7 -> LATIN CAPITAL LETTER X
+ u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
+ u'\xb2' # 0xEA -> SUPERSCRIPT TWO
+ u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'#' # 0xEC -> NUMBER SIGN
+ u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
+ u'0' # 0xF0 -> DIGIT ZERO
+ u'1' # 0xF1 -> DIGIT ONE
+ u'2' # 0xF2 -> DIGIT TWO
+ u'3' # 0xF3 -> DIGIT THREE
+ u'4' # 0xF4 -> DIGIT FOUR
+ u'5' # 0xF5 -> DIGIT FIVE
+ u'6' # 0xF6 -> DIGIT SIX
+ u'7' # 0xF7 -> DIGIT SEVEN
+ u'8' # 0xF8 -> DIGIT EIGHT
+ u'9' # 0xF9 -> DIGIT NINE
+ u'\xb3' # 0xFA -> SUPERSCRIPT THREE
+ u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'"' # 0xFC -> QUOTATION MARK
+ u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\x9f' # 0xFF -> CONTROL
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x37, # END OF TRANSMISSION
- 0x0005: 0x2D, # ENQUIRY
- 0x0006: 0x2E, # ACKNOWLEDGE
- 0x0007: 0x2F, # BELL
- 0x0008: 0x16, # BACKSPACE
- 0x0009: 0x05, # HORIZONTAL TABULATION
- 0x000A: 0x25, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x3C, # DEVICE CONTROL FOUR
- 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x32, # SYNCHRONOUS IDLE
- 0x0017: 0x26, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x3F, # SUBSTITUTE
- 0x001B: 0x27, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x40, # SPACE
- 0x0021: 0x4F, # EXCLAMATION MARK
- 0x0022: 0xFC, # QUOTATION MARK
- 0x0023: 0xEC, # NUMBER SIGN
- 0x0024: 0xAD, # DOLLAR SIGN
- 0x0025: 0x6C, # PERCENT SIGN
- 0x0026: 0x50, # AMPERSAND
- 0x0027: 0x7D, # APOSTROPHE
- 0x0028: 0x4D, # LEFT PARENTHESIS
- 0x0029: 0x5D, # RIGHT PARENTHESIS
- 0x002A: 0x5C, # ASTERISK
- 0x002B: 0x4E, # PLUS SIGN
- 0x002C: 0x6B, # COMMA
- 0x002D: 0x60, # HYPHEN-MINUS
- 0x002E: 0x4B, # FULL STOP
- 0x002F: 0x61, # SOLIDUS
- 0x0030: 0xF0, # DIGIT ZERO
- 0x0031: 0xF1, # DIGIT ONE
- 0x0032: 0xF2, # DIGIT TWO
- 0x0033: 0xF3, # DIGIT THREE
- 0x0034: 0xF4, # DIGIT FOUR
- 0x0035: 0xF5, # DIGIT FIVE
- 0x0036: 0xF6, # DIGIT SIX
- 0x0037: 0xF7, # DIGIT SEVEN
- 0x0038: 0xF8, # DIGIT EIGHT
- 0x0039: 0xF9, # DIGIT NINE
- 0x003A: 0x7A, # COLON
- 0x003B: 0x5E, # SEMICOLON
- 0x003C: 0x4C, # LESS-THAN SIGN
- 0x003D: 0x7E, # EQUALS SIGN
- 0x003E: 0x6E, # GREATER-THAN SIGN
- 0x003F: 0x6F, # QUESTION MARK
- 0x0040: 0xAE, # COMMERCIAL AT
- 0x0041: 0xC1, # LATIN CAPITAL LETTER A
- 0x0042: 0xC2, # LATIN CAPITAL LETTER B
- 0x0043: 0xC3, # LATIN CAPITAL LETTER C
- 0x0044: 0xC4, # LATIN CAPITAL LETTER D
- 0x0045: 0xC5, # LATIN CAPITAL LETTER E
- 0x0046: 0xC6, # LATIN CAPITAL LETTER F
- 0x0047: 0xC7, # LATIN CAPITAL LETTER G
- 0x0048: 0xC8, # LATIN CAPITAL LETTER H
- 0x0049: 0xC9, # LATIN CAPITAL LETTER I
- 0x004A: 0xD1, # LATIN CAPITAL LETTER J
- 0x004B: 0xD2, # LATIN CAPITAL LETTER K
- 0x004C: 0xD3, # LATIN CAPITAL LETTER L
- 0x004D: 0xD4, # LATIN CAPITAL LETTER M
- 0x004E: 0xD5, # LATIN CAPITAL LETTER N
- 0x004F: 0xD6, # LATIN CAPITAL LETTER O
- 0x0050: 0xD7, # LATIN CAPITAL LETTER P
- 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
- 0x0052: 0xD9, # LATIN CAPITAL LETTER R
- 0x0053: 0xE2, # LATIN CAPITAL LETTER S
- 0x0054: 0xE3, # LATIN CAPITAL LETTER T
- 0x0055: 0xE4, # LATIN CAPITAL LETTER U
- 0x0056: 0xE5, # LATIN CAPITAL LETTER V
- 0x0057: 0xE6, # LATIN CAPITAL LETTER W
- 0x0058: 0xE7, # LATIN CAPITAL LETTER X
- 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
- 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
- 0x005B: 0x68, # LEFT SQUARE BRACKET
- 0x005C: 0xDC, # REVERSE SOLIDUS
- 0x005D: 0xAC, # RIGHT SQUARE BRACKET
- 0x005E: 0x5F, # CIRCUMFLEX ACCENT
- 0x005F: 0x6D, # LOW LINE
- 0x0060: 0x8D, # GRAVE ACCENT
- 0x0061: 0x81, # LATIN SMALL LETTER A
- 0x0062: 0x82, # LATIN SMALL LETTER B
- 0x0063: 0x83, # LATIN SMALL LETTER C
- 0x0064: 0x84, # LATIN SMALL LETTER D
- 0x0065: 0x85, # LATIN SMALL LETTER E
- 0x0066: 0x86, # LATIN SMALL LETTER F
- 0x0067: 0x87, # LATIN SMALL LETTER G
- 0x0068: 0x88, # LATIN SMALL LETTER H
- 0x0069: 0x89, # LATIN SMALL LETTER I
- 0x006A: 0x91, # LATIN SMALL LETTER J
- 0x006B: 0x92, # LATIN SMALL LETTER K
- 0x006C: 0x93, # LATIN SMALL LETTER L
- 0x006D: 0x94, # LATIN SMALL LETTER M
- 0x006E: 0x95, # LATIN SMALL LETTER N
- 0x006F: 0x96, # LATIN SMALL LETTER O
- 0x0070: 0x97, # LATIN SMALL LETTER P
- 0x0071: 0x98, # LATIN SMALL LETTER Q
- 0x0072: 0x99, # LATIN SMALL LETTER R
- 0x0073: 0xA2, # LATIN SMALL LETTER S
- 0x0074: 0xA3, # LATIN SMALL LETTER T
- 0x0075: 0xA4, # LATIN SMALL LETTER U
- 0x0076: 0xA5, # LATIN SMALL LETTER V
- 0x0077: 0xA6, # LATIN SMALL LETTER W
- 0x0078: 0xA7, # LATIN SMALL LETTER X
- 0x0079: 0xA8, # LATIN SMALL LETTER Y
- 0x007A: 0xA9, # LATIN SMALL LETTER Z
- 0x007B: 0x48, # LEFT CURLY BRACKET
- 0x007C: 0xBB, # VERTICAL LINE
- 0x007D: 0x8C, # RIGHT CURLY BRACKET
- 0x007E: 0xCC, # TILDE
- 0x007F: 0x07, # DELETE
- 0x0080: 0x20, # CONTROL
- 0x0081: 0x21, # CONTROL
- 0x0082: 0x22, # CONTROL
- 0x0083: 0x23, # CONTROL
- 0x0084: 0x24, # CONTROL
- 0x0085: 0x15, # CONTROL
- 0x0086: 0x06, # CONTROL
- 0x0087: 0x17, # CONTROL
- 0x0088: 0x28, # CONTROL
- 0x0089: 0x29, # CONTROL
- 0x008A: 0x2A, # CONTROL
- 0x008B: 0x2B, # CONTROL
- 0x008C: 0x2C, # CONTROL
- 0x008D: 0x09, # CONTROL
- 0x008E: 0x0A, # CONTROL
- 0x008F: 0x1B, # CONTROL
- 0x0090: 0x30, # CONTROL
- 0x0091: 0x31, # CONTROL
- 0x0092: 0x1A, # CONTROL
- 0x0093: 0x33, # CONTROL
- 0x0094: 0x34, # CONTROL
- 0x0095: 0x35, # CONTROL
- 0x0096: 0x36, # CONTROL
- 0x0097: 0x08, # CONTROL
- 0x0098: 0x38, # CONTROL
- 0x0099: 0x39, # CONTROL
- 0x009A: 0x3A, # CONTROL
- 0x009B: 0x3B, # CONTROL
- 0x009C: 0x04, # CONTROL
- 0x009D: 0x14, # CONTROL
- 0x009E: 0x3E, # CONTROL
- 0x009F: 0xFF, # CONTROL
- 0x00A0: 0x41, # NO-BREAK SPACE
- 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xB0, # CENT SIGN
- 0x00A3: 0xB1, # POUND SIGN
- 0x00A4: 0x9F, # CURRENCY SIGN
- 0x00A5: 0xB2, # YEN SIGN
- 0x00A6: 0x8E, # BROKEN BAR
- 0x00A7: 0xB5, # SECTION SIGN
- 0x00A8: 0xBD, # DIAERESIS
- 0x00A9: 0xB4, # COPYRIGHT SIGN
- 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xBA, # NOT SIGN
- 0x00AD: 0xCA, # SOFT HYPHEN
- 0x00AE: 0xAF, # REGISTERED SIGN
- 0x00AF: 0xBC, # MACRON
- 0x00B0: 0x90, # DEGREE SIGN
- 0x00B1: 0x8F, # PLUS-MINUS SIGN
- 0x00B2: 0xEA, # SUPERSCRIPT TWO
- 0x00B3: 0xFA, # SUPERSCRIPT THREE
- 0x00B4: 0xBE, # ACUTE ACCENT
- 0x00B5: 0xA0, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB3, # MIDDLE DOT
- 0x00B8: 0x9D, # CEDILLA
- 0x00B9: 0xDA, # SUPERSCRIPT ONE
- 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xAB, # INVERTED QUESTION MARK
- 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
- 0x00C7: 0x4A, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x7B, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xBF, # MULTIPLICATION SIGN
- 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0x7F, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
- 0x00E7: 0xC0, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xA1, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xE1, # DIVISION SIGN
- 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xE0, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x011E: 0x5A, # LATIN CAPITAL LETTER G WITH BREVE
- 0x011F: 0xD0, # LATIN SMALL LETTER G WITH BREVE
- 0x0130: 0x5B, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0131: 0x79, # LATIN SMALL LETTER DOTLESS I
- 0x015E: 0x7C, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0x6A, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x37, # END OF TRANSMISSION
+ 0x0005: 0x2D, # ENQUIRY
+ 0x0006: 0x2E, # ACKNOWLEDGE
+ 0x0007: 0x2F, # BELL
+ 0x0008: 0x16, # BACKSPACE
+ 0x0009: 0x05, # HORIZONTAL TABULATION
+ 0x000A: 0x25, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x3C, # DEVICE CONTROL FOUR
+ 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x32, # SYNCHRONOUS IDLE
+ 0x0017: 0x26, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x3F, # SUBSTITUTE
+ 0x001B: 0x27, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x40, # SPACE
+ 0x0021: 0x4F, # EXCLAMATION MARK
+ 0x0022: 0xFC, # QUOTATION MARK
+ 0x0023: 0xEC, # NUMBER SIGN
+ 0x0024: 0xAD, # DOLLAR SIGN
+ 0x0025: 0x6C, # PERCENT SIGN
+ 0x0026: 0x50, # AMPERSAND
+ 0x0027: 0x7D, # APOSTROPHE
+ 0x0028: 0x4D, # LEFT PARENTHESIS
+ 0x0029: 0x5D, # RIGHT PARENTHESIS
+ 0x002A: 0x5C, # ASTERISK
+ 0x002B: 0x4E, # PLUS SIGN
+ 0x002C: 0x6B, # COMMA
+ 0x002D: 0x60, # HYPHEN-MINUS
+ 0x002E: 0x4B, # FULL STOP
+ 0x002F: 0x61, # SOLIDUS
+ 0x0030: 0xF0, # DIGIT ZERO
+ 0x0031: 0xF1, # DIGIT ONE
+ 0x0032: 0xF2, # DIGIT TWO
+ 0x0033: 0xF3, # DIGIT THREE
+ 0x0034: 0xF4, # DIGIT FOUR
+ 0x0035: 0xF5, # DIGIT FIVE
+ 0x0036: 0xF6, # DIGIT SIX
+ 0x0037: 0xF7, # DIGIT SEVEN
+ 0x0038: 0xF8, # DIGIT EIGHT
+ 0x0039: 0xF9, # DIGIT NINE
+ 0x003A: 0x7A, # COLON
+ 0x003B: 0x5E, # SEMICOLON
+ 0x003C: 0x4C, # LESS-THAN SIGN
+ 0x003D: 0x7E, # EQUALS SIGN
+ 0x003E: 0x6E, # GREATER-THAN SIGN
+ 0x003F: 0x6F, # QUESTION MARK
+ 0x0040: 0xAE, # COMMERCIAL AT
+ 0x0041: 0xC1, # LATIN CAPITAL LETTER A
+ 0x0042: 0xC2, # LATIN CAPITAL LETTER B
+ 0x0043: 0xC3, # LATIN CAPITAL LETTER C
+ 0x0044: 0xC4, # LATIN CAPITAL LETTER D
+ 0x0045: 0xC5, # LATIN CAPITAL LETTER E
+ 0x0046: 0xC6, # LATIN CAPITAL LETTER F
+ 0x0047: 0xC7, # LATIN CAPITAL LETTER G
+ 0x0048: 0xC8, # LATIN CAPITAL LETTER H
+ 0x0049: 0xC9, # LATIN CAPITAL LETTER I
+ 0x004A: 0xD1, # LATIN CAPITAL LETTER J
+ 0x004B: 0xD2, # LATIN CAPITAL LETTER K
+ 0x004C: 0xD3, # LATIN CAPITAL LETTER L
+ 0x004D: 0xD4, # LATIN CAPITAL LETTER M
+ 0x004E: 0xD5, # LATIN CAPITAL LETTER N
+ 0x004F: 0xD6, # LATIN CAPITAL LETTER O
+ 0x0050: 0xD7, # LATIN CAPITAL LETTER P
+ 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
+ 0x0052: 0xD9, # LATIN CAPITAL LETTER R
+ 0x0053: 0xE2, # LATIN CAPITAL LETTER S
+ 0x0054: 0xE3, # LATIN CAPITAL LETTER T
+ 0x0055: 0xE4, # LATIN CAPITAL LETTER U
+ 0x0056: 0xE5, # LATIN CAPITAL LETTER V
+ 0x0057: 0xE6, # LATIN CAPITAL LETTER W
+ 0x0058: 0xE7, # LATIN CAPITAL LETTER X
+ 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
+ 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x68, # LEFT SQUARE BRACKET
+ 0x005C: 0xDC, # REVERSE SOLIDUS
+ 0x005D: 0xAC, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5F, # CIRCUMFLEX ACCENT
+ 0x005F: 0x6D, # LOW LINE
+ 0x0060: 0x8D, # GRAVE ACCENT
+ 0x0061: 0x81, # LATIN SMALL LETTER A
+ 0x0062: 0x82, # LATIN SMALL LETTER B
+ 0x0063: 0x83, # LATIN SMALL LETTER C
+ 0x0064: 0x84, # LATIN SMALL LETTER D
+ 0x0065: 0x85, # LATIN SMALL LETTER E
+ 0x0066: 0x86, # LATIN SMALL LETTER F
+ 0x0067: 0x87, # LATIN SMALL LETTER G
+ 0x0068: 0x88, # LATIN SMALL LETTER H
+ 0x0069: 0x89, # LATIN SMALL LETTER I
+ 0x006A: 0x91, # LATIN SMALL LETTER J
+ 0x006B: 0x92, # LATIN SMALL LETTER K
+ 0x006C: 0x93, # LATIN SMALL LETTER L
+ 0x006D: 0x94, # LATIN SMALL LETTER M
+ 0x006E: 0x95, # LATIN SMALL LETTER N
+ 0x006F: 0x96, # LATIN SMALL LETTER O
+ 0x0070: 0x97, # LATIN SMALL LETTER P
+ 0x0071: 0x98, # LATIN SMALL LETTER Q
+ 0x0072: 0x99, # LATIN SMALL LETTER R
+ 0x0073: 0xA2, # LATIN SMALL LETTER S
+ 0x0074: 0xA3, # LATIN SMALL LETTER T
+ 0x0075: 0xA4, # LATIN SMALL LETTER U
+ 0x0076: 0xA5, # LATIN SMALL LETTER V
+ 0x0077: 0xA6, # LATIN SMALL LETTER W
+ 0x0078: 0xA7, # LATIN SMALL LETTER X
+ 0x0079: 0xA8, # LATIN SMALL LETTER Y
+ 0x007A: 0xA9, # LATIN SMALL LETTER Z
+ 0x007B: 0x48, # LEFT CURLY BRACKET
+ 0x007C: 0xBB, # VERTICAL LINE
+ 0x007D: 0x8C, # RIGHT CURLY BRACKET
+ 0x007E: 0xCC, # TILDE
+ 0x007F: 0x07, # DELETE
+ 0x0080: 0x20, # CONTROL
+ 0x0081: 0x21, # CONTROL
+ 0x0082: 0x22, # CONTROL
+ 0x0083: 0x23, # CONTROL
+ 0x0084: 0x24, # CONTROL
+ 0x0085: 0x15, # CONTROL
+ 0x0086: 0x06, # CONTROL
+ 0x0087: 0x17, # CONTROL
+ 0x0088: 0x28, # CONTROL
+ 0x0089: 0x29, # CONTROL
+ 0x008A: 0x2A, # CONTROL
+ 0x008B: 0x2B, # CONTROL
+ 0x008C: 0x2C, # CONTROL
+ 0x008D: 0x09, # CONTROL
+ 0x008E: 0x0A, # CONTROL
+ 0x008F: 0x1B, # CONTROL
+ 0x0090: 0x30, # CONTROL
+ 0x0091: 0x31, # CONTROL
+ 0x0092: 0x1A, # CONTROL
+ 0x0093: 0x33, # CONTROL
+ 0x0094: 0x34, # CONTROL
+ 0x0095: 0x35, # CONTROL
+ 0x0096: 0x36, # CONTROL
+ 0x0097: 0x08, # CONTROL
+ 0x0098: 0x38, # CONTROL
+ 0x0099: 0x39, # CONTROL
+ 0x009A: 0x3A, # CONTROL
+ 0x009B: 0x3B, # CONTROL
+ 0x009C: 0x04, # CONTROL
+ 0x009D: 0x14, # CONTROL
+ 0x009E: 0x3E, # CONTROL
+ 0x009F: 0xFF, # CONTROL
+ 0x00A0: 0x41, # NO-BREAK SPACE
+ 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xB0, # CENT SIGN
+ 0x00A3: 0xB1, # POUND SIGN
+ 0x00A4: 0x9F, # CURRENCY SIGN
+ 0x00A5: 0xB2, # YEN SIGN
+ 0x00A6: 0x8E, # BROKEN BAR
+ 0x00A7: 0xB5, # SECTION SIGN
+ 0x00A8: 0xBD, # DIAERESIS
+ 0x00A9: 0xB4, # COPYRIGHT SIGN
+ 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xBA, # NOT SIGN
+ 0x00AD: 0xCA, # SOFT HYPHEN
+ 0x00AE: 0xAF, # REGISTERED SIGN
+ 0x00AF: 0xBC, # MACRON
+ 0x00B0: 0x90, # DEGREE SIGN
+ 0x00B1: 0x8F, # PLUS-MINUS SIGN
+ 0x00B2: 0xEA, # SUPERSCRIPT TWO
+ 0x00B3: 0xFA, # SUPERSCRIPT THREE
+ 0x00B4: 0xBE, # ACUTE ACCENT
+ 0x00B5: 0xA0, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB3, # MIDDLE DOT
+ 0x00B8: 0x9D, # CEDILLA
+ 0x00B9: 0xDA, # SUPERSCRIPT ONE
+ 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xAB, # INVERTED QUESTION MARK
+ 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
+ 0x00C7: 0x4A, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x7B, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xBF, # MULTIPLICATION SIGN
+ 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0x7F, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
+ 0x00E7: 0xC0, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xA1, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xE1, # DIVISION SIGN
+ 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xE0, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x011E: 0x5A, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x011F: 0xD0, # LATIN SMALL LETTER G WITH BREVE
+ 0x0130: 0x5B, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0131: 0x79, # LATIN SMALL LETTER DOTLESS I
+ 0x015E: 0x7C, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0x6A, # LATIN SMALL LETTER S WITH CEDILLA
}
-
diff --git a/Lib/encodings/cp1140.py b/Lib/encodings/cp1140.py
index a3c5cb9..6507552 100644
--- a/Lib/encodings/cp1140.py
+++ b/Lib/encodings/cp1140.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x9c' # 0x04 -> CONTROL
- u'\t' # 0x05 -> HORIZONTAL TABULATION
- u'\x86' # 0x06 -> CONTROL
- u'\x7f' # 0x07 -> DELETE
- u'\x97' # 0x08 -> CONTROL
- u'\x8d' # 0x09 -> CONTROL
- u'\x8e' # 0x0A -> CONTROL
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x9d' # 0x14 -> CONTROL
- u'\x85' # 0x15 -> CONTROL
- u'\x08' # 0x16 -> BACKSPACE
- u'\x87' # 0x17 -> CONTROL
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x92' # 0x1A -> CONTROL
- u'\x8f' # 0x1B -> CONTROL
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u'\x80' # 0x20 -> CONTROL
- u'\x81' # 0x21 -> CONTROL
- u'\x82' # 0x22 -> CONTROL
- u'\x83' # 0x23 -> CONTROL
- u'\x84' # 0x24 -> CONTROL
- u'\n' # 0x25 -> LINE FEED
- u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
- u'\x1b' # 0x27 -> ESCAPE
- u'\x88' # 0x28 -> CONTROL
- u'\x89' # 0x29 -> CONTROL
- u'\x8a' # 0x2A -> CONTROL
- u'\x8b' # 0x2B -> CONTROL
- u'\x8c' # 0x2C -> CONTROL
- u'\x05' # 0x2D -> ENQUIRY
- u'\x06' # 0x2E -> ACKNOWLEDGE
- u'\x07' # 0x2F -> BELL
- u'\x90' # 0x30 -> CONTROL
- u'\x91' # 0x31 -> CONTROL
- u'\x16' # 0x32 -> SYNCHRONOUS IDLE
- u'\x93' # 0x33 -> CONTROL
- u'\x94' # 0x34 -> CONTROL
- u'\x95' # 0x35 -> CONTROL
- u'\x96' # 0x36 -> CONTROL
- u'\x04' # 0x37 -> END OF TRANSMISSION
- u'\x98' # 0x38 -> CONTROL
- u'\x99' # 0x39 -> CONTROL
- u'\x9a' # 0x3A -> CONTROL
- u'\x9b' # 0x3B -> CONTROL
- u'\x14' # 0x3C -> DEVICE CONTROL FOUR
- u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
- u'\x9e' # 0x3E -> CONTROL
- u'\x1a' # 0x3F -> SUBSTITUTE
- u' ' # 0x40 -> SPACE
- u'\xa0' # 0x41 -> NO-BREAK SPACE
- u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x48 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
- u'\xa2' # 0x4A -> CENT SIGN
- u'.' # 0x4B -> FULL STOP
- u'<' # 0x4C -> LESS-THAN SIGN
- u'(' # 0x4D -> LEFT PARENTHESIS
- u'+' # 0x4E -> PLUS SIGN
- u'|' # 0x4F -> VERTICAL LINE
- u'&' # 0x50 -> AMPERSAND
- u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
- u'!' # 0x5A -> EXCLAMATION MARK
- u'$' # 0x5B -> DOLLAR SIGN
- u'*' # 0x5C -> ASTERISK
- u')' # 0x5D -> RIGHT PARENTHESIS
- u';' # 0x5E -> SEMICOLON
- u'\xac' # 0x5F -> NOT SIGN
- u'-' # 0x60 -> HYPHEN-MINUS
- u'/' # 0x61 -> SOLIDUS
- u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x68 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xa6' # 0x6A -> BROKEN BAR
- u',' # 0x6B -> COMMA
- u'%' # 0x6C -> PERCENT SIGN
- u'_' # 0x6D -> LOW LINE
- u'>' # 0x6E -> GREATER-THAN SIGN
- u'?' # 0x6F -> QUESTION MARK
- u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
- u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
- u'`' # 0x79 -> GRAVE ACCENT
- u':' # 0x7A -> COLON
- u'#' # 0x7B -> NUMBER SIGN
- u'@' # 0x7C -> COMMERCIAL AT
- u"'" # 0x7D -> APOSTROPHE
- u'=' # 0x7E -> EQUALS SIGN
- u'"' # 0x7F -> QUOTATION MARK
- u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
- u'a' # 0x81 -> LATIN SMALL LETTER A
- u'b' # 0x82 -> LATIN SMALL LETTER B
- u'c' # 0x83 -> LATIN SMALL LETTER C
- u'd' # 0x84 -> LATIN SMALL LETTER D
- u'e' # 0x85 -> LATIN SMALL LETTER E
- u'f' # 0x86 -> LATIN SMALL LETTER F
- u'g' # 0x87 -> LATIN SMALL LETTER G
- u'h' # 0x88 -> LATIN SMALL LETTER H
- u'i' # 0x89 -> LATIN SMALL LETTER I
- u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xf0' # 0x8C -> LATIN SMALL LETTER ETH (ICELANDIC)
- u'\xfd' # 0x8D -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0x8E -> LATIN SMALL LETTER THORN (ICELANDIC)
- u'\xb1' # 0x8F -> PLUS-MINUS SIGN
- u'\xb0' # 0x90 -> DEGREE SIGN
- u'j' # 0x91 -> LATIN SMALL LETTER J
- u'k' # 0x92 -> LATIN SMALL LETTER K
- u'l' # 0x93 -> LATIN SMALL LETTER L
- u'm' # 0x94 -> LATIN SMALL LETTER M
- u'n' # 0x95 -> LATIN SMALL LETTER N
- u'o' # 0x96 -> LATIN SMALL LETTER O
- u'p' # 0x97 -> LATIN SMALL LETTER P
- u'q' # 0x98 -> LATIN SMALL LETTER Q
- u'r' # 0x99 -> LATIN SMALL LETTER R
- u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
- u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
- u'\xb8' # 0x9D -> CEDILLA
- u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
- u'\u20ac' # 0x9F -> EURO SIGN
- u'\xb5' # 0xA0 -> MICRO SIGN
- u'~' # 0xA1 -> TILDE
- u's' # 0xA2 -> LATIN SMALL LETTER S
- u't' # 0xA3 -> LATIN SMALL LETTER T
- u'u' # 0xA4 -> LATIN SMALL LETTER U
- u'v' # 0xA5 -> LATIN SMALL LETTER V
- u'w' # 0xA6 -> LATIN SMALL LETTER W
- u'x' # 0xA7 -> LATIN SMALL LETTER X
- u'y' # 0xA8 -> LATIN SMALL LETTER Y
- u'z' # 0xA9 -> LATIN SMALL LETTER Z
- u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
- u'\xbf' # 0xAB -> INVERTED QUESTION MARK
- u'\xd0' # 0xAC -> LATIN CAPITAL LETTER ETH (ICELANDIC)
- u'\xdd' # 0xAD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xAE -> LATIN CAPITAL LETTER THORN (ICELANDIC)
- u'\xae' # 0xAF -> REGISTERED SIGN
- u'^' # 0xB0 -> CIRCUMFLEX ACCENT
- u'\xa3' # 0xB1 -> POUND SIGN
- u'\xa5' # 0xB2 -> YEN SIGN
- u'\xb7' # 0xB3 -> MIDDLE DOT
- u'\xa9' # 0xB4 -> COPYRIGHT SIGN
- u'\xa7' # 0xB5 -> SECTION SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
- u'[' # 0xBA -> LEFT SQUARE BRACKET
- u']' # 0xBB -> RIGHT SQUARE BRACKET
- u'\xaf' # 0xBC -> MACRON
- u'\xa8' # 0xBD -> DIAERESIS
- u'\xb4' # 0xBE -> ACUTE ACCENT
- u'\xd7' # 0xBF -> MULTIPLICATION SIGN
- u'{' # 0xC0 -> LEFT CURLY BRACKET
- u'A' # 0xC1 -> LATIN CAPITAL LETTER A
- u'B' # 0xC2 -> LATIN CAPITAL LETTER B
- u'C' # 0xC3 -> LATIN CAPITAL LETTER C
- u'D' # 0xC4 -> LATIN CAPITAL LETTER D
- u'E' # 0xC5 -> LATIN CAPITAL LETTER E
- u'F' # 0xC6 -> LATIN CAPITAL LETTER F
- u'G' # 0xC7 -> LATIN CAPITAL LETTER G
- u'H' # 0xC8 -> LATIN CAPITAL LETTER H
- u'I' # 0xC9 -> LATIN CAPITAL LETTER I
- u'\xad' # 0xCA -> SOFT HYPHEN
- u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0xCC -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
- u'}' # 0xD0 -> RIGHT CURLY BRACKET
- u'J' # 0xD1 -> LATIN CAPITAL LETTER J
- u'K' # 0xD2 -> LATIN CAPITAL LETTER K
- u'L' # 0xD3 -> LATIN CAPITAL LETTER L
- u'M' # 0xD4 -> LATIN CAPITAL LETTER M
- u'N' # 0xD5 -> LATIN CAPITAL LETTER N
- u'O' # 0xD6 -> LATIN CAPITAL LETTER O
- u'P' # 0xD7 -> LATIN CAPITAL LETTER P
- u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
- u'R' # 0xD9 -> LATIN CAPITAL LETTER R
- u'\xb9' # 0xDA -> SUPERSCRIPT ONE
- u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xDC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
- u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\\' # 0xE0 -> REVERSE SOLIDUS
- u'\xf7' # 0xE1 -> DIVISION SIGN
- u'S' # 0xE2 -> LATIN CAPITAL LETTER S
- u'T' # 0xE3 -> LATIN CAPITAL LETTER T
- u'U' # 0xE4 -> LATIN CAPITAL LETTER U
- u'V' # 0xE5 -> LATIN CAPITAL LETTER V
- u'W' # 0xE6 -> LATIN CAPITAL LETTER W
- u'X' # 0xE7 -> LATIN CAPITAL LETTER X
- u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
- u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
- u'\xb2' # 0xEA -> SUPERSCRIPT TWO
- u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd6' # 0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
- u'0' # 0xF0 -> DIGIT ZERO
- u'1' # 0xF1 -> DIGIT ONE
- u'2' # 0xF2 -> DIGIT TWO
- u'3' # 0xF3 -> DIGIT THREE
- u'4' # 0xF4 -> DIGIT FOUR
- u'5' # 0xF5 -> DIGIT FIVE
- u'6' # 0xF6 -> DIGIT SIX
- u'7' # 0xF7 -> DIGIT SEVEN
- u'8' # 0xF8 -> DIGIT EIGHT
- u'9' # 0xF9 -> DIGIT NINE
- u'\xb3' # 0xFA -> SUPERSCRIPT THREE
- u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\x9f' # 0xFF -> CONTROL
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x9c' # 0x04 -> CONTROL
+ u'\t' # 0x05 -> HORIZONTAL TABULATION
+ u'\x86' # 0x06 -> CONTROL
+ u'\x7f' # 0x07 -> DELETE
+ u'\x97' # 0x08 -> CONTROL
+ u'\x8d' # 0x09 -> CONTROL
+ u'\x8e' # 0x0A -> CONTROL
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x9d' # 0x14 -> CONTROL
+ u'\x85' # 0x15 -> CONTROL
+ u'\x08' # 0x16 -> BACKSPACE
+ u'\x87' # 0x17 -> CONTROL
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x92' # 0x1A -> CONTROL
+ u'\x8f' # 0x1B -> CONTROL
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u'\x80' # 0x20 -> CONTROL
+ u'\x81' # 0x21 -> CONTROL
+ u'\x82' # 0x22 -> CONTROL
+ u'\x83' # 0x23 -> CONTROL
+ u'\x84' # 0x24 -> CONTROL
+ u'\n' # 0x25 -> LINE FEED
+ u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
+ u'\x1b' # 0x27 -> ESCAPE
+ u'\x88' # 0x28 -> CONTROL
+ u'\x89' # 0x29 -> CONTROL
+ u'\x8a' # 0x2A -> CONTROL
+ u'\x8b' # 0x2B -> CONTROL
+ u'\x8c' # 0x2C -> CONTROL
+ u'\x05' # 0x2D -> ENQUIRY
+ u'\x06' # 0x2E -> ACKNOWLEDGE
+ u'\x07' # 0x2F -> BELL
+ u'\x90' # 0x30 -> CONTROL
+ u'\x91' # 0x31 -> CONTROL
+ u'\x16' # 0x32 -> SYNCHRONOUS IDLE
+ u'\x93' # 0x33 -> CONTROL
+ u'\x94' # 0x34 -> CONTROL
+ u'\x95' # 0x35 -> CONTROL
+ u'\x96' # 0x36 -> CONTROL
+ u'\x04' # 0x37 -> END OF TRANSMISSION
+ u'\x98' # 0x38 -> CONTROL
+ u'\x99' # 0x39 -> CONTROL
+ u'\x9a' # 0x3A -> CONTROL
+ u'\x9b' # 0x3B -> CONTROL
+ u'\x14' # 0x3C -> DEVICE CONTROL FOUR
+ u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
+ u'\x9e' # 0x3E -> CONTROL
+ u'\x1a' # 0x3F -> SUBSTITUTE
+ u' ' # 0x40 -> SPACE
+ u'\xa0' # 0x41 -> NO-BREAK SPACE
+ u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x48 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xa2' # 0x4A -> CENT SIGN
+ u'.' # 0x4B -> FULL STOP
+ u'<' # 0x4C -> LESS-THAN SIGN
+ u'(' # 0x4D -> LEFT PARENTHESIS
+ u'+' # 0x4E -> PLUS SIGN
+ u'|' # 0x4F -> VERTICAL LINE
+ u'&' # 0x50 -> AMPERSAND
+ u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
+ u'!' # 0x5A -> EXCLAMATION MARK
+ u'$' # 0x5B -> DOLLAR SIGN
+ u'*' # 0x5C -> ASTERISK
+ u')' # 0x5D -> RIGHT PARENTHESIS
+ u';' # 0x5E -> SEMICOLON
+ u'\xac' # 0x5F -> NOT SIGN
+ u'-' # 0x60 -> HYPHEN-MINUS
+ u'/' # 0x61 -> SOLIDUS
+ u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x68 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xa6' # 0x6A -> BROKEN BAR
+ u',' # 0x6B -> COMMA
+ u'%' # 0x6C -> PERCENT SIGN
+ u'_' # 0x6D -> LOW LINE
+ u'>' # 0x6E -> GREATER-THAN SIGN
+ u'?' # 0x6F -> QUESTION MARK
+ u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'`' # 0x79 -> GRAVE ACCENT
+ u':' # 0x7A -> COLON
+ u'#' # 0x7B -> NUMBER SIGN
+ u'@' # 0x7C -> COMMERCIAL AT
+ u"'" # 0x7D -> APOSTROPHE
+ u'=' # 0x7E -> EQUALS SIGN
+ u'"' # 0x7F -> QUOTATION MARK
+ u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'a' # 0x81 -> LATIN SMALL LETTER A
+ u'b' # 0x82 -> LATIN SMALL LETTER B
+ u'c' # 0x83 -> LATIN SMALL LETTER C
+ u'd' # 0x84 -> LATIN SMALL LETTER D
+ u'e' # 0x85 -> LATIN SMALL LETTER E
+ u'f' # 0x86 -> LATIN SMALL LETTER F
+ u'g' # 0x87 -> LATIN SMALL LETTER G
+ u'h' # 0x88 -> LATIN SMALL LETTER H
+ u'i' # 0x89 -> LATIN SMALL LETTER I
+ u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xf0' # 0x8C -> LATIN SMALL LETTER ETH (ICELANDIC)
+ u'\xfd' # 0x8D -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0x8E -> LATIN SMALL LETTER THORN (ICELANDIC)
+ u'\xb1' # 0x8F -> PLUS-MINUS SIGN
+ u'\xb0' # 0x90 -> DEGREE SIGN
+ u'j' # 0x91 -> LATIN SMALL LETTER J
+ u'k' # 0x92 -> LATIN SMALL LETTER K
+ u'l' # 0x93 -> LATIN SMALL LETTER L
+ u'm' # 0x94 -> LATIN SMALL LETTER M
+ u'n' # 0x95 -> LATIN SMALL LETTER N
+ u'o' # 0x96 -> LATIN SMALL LETTER O
+ u'p' # 0x97 -> LATIN SMALL LETTER P
+ u'q' # 0x98 -> LATIN SMALL LETTER Q
+ u'r' # 0x99 -> LATIN SMALL LETTER R
+ u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
+ u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
+ u'\xb8' # 0x9D -> CEDILLA
+ u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
+ u'\u20ac' # 0x9F -> EURO SIGN
+ u'\xb5' # 0xA0 -> MICRO SIGN
+ u'~' # 0xA1 -> TILDE
+ u's' # 0xA2 -> LATIN SMALL LETTER S
+ u't' # 0xA3 -> LATIN SMALL LETTER T
+ u'u' # 0xA4 -> LATIN SMALL LETTER U
+ u'v' # 0xA5 -> LATIN SMALL LETTER V
+ u'w' # 0xA6 -> LATIN SMALL LETTER W
+ u'x' # 0xA7 -> LATIN SMALL LETTER X
+ u'y' # 0xA8 -> LATIN SMALL LETTER Y
+ u'z' # 0xA9 -> LATIN SMALL LETTER Z
+ u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
+ u'\xbf' # 0xAB -> INVERTED QUESTION MARK
+ u'\xd0' # 0xAC -> LATIN CAPITAL LETTER ETH (ICELANDIC)
+ u'\xdd' # 0xAD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xAE -> LATIN CAPITAL LETTER THORN (ICELANDIC)
+ u'\xae' # 0xAF -> REGISTERED SIGN
+ u'^' # 0xB0 -> CIRCUMFLEX ACCENT
+ u'\xa3' # 0xB1 -> POUND SIGN
+ u'\xa5' # 0xB2 -> YEN SIGN
+ u'\xb7' # 0xB3 -> MIDDLE DOT
+ u'\xa9' # 0xB4 -> COPYRIGHT SIGN
+ u'\xa7' # 0xB5 -> SECTION SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
+ u'[' # 0xBA -> LEFT SQUARE BRACKET
+ u']' # 0xBB -> RIGHT SQUARE BRACKET
+ u'\xaf' # 0xBC -> MACRON
+ u'\xa8' # 0xBD -> DIAERESIS
+ u'\xb4' # 0xBE -> ACUTE ACCENT
+ u'\xd7' # 0xBF -> MULTIPLICATION SIGN
+ u'{' # 0xC0 -> LEFT CURLY BRACKET
+ u'A' # 0xC1 -> LATIN CAPITAL LETTER A
+ u'B' # 0xC2 -> LATIN CAPITAL LETTER B
+ u'C' # 0xC3 -> LATIN CAPITAL LETTER C
+ u'D' # 0xC4 -> LATIN CAPITAL LETTER D
+ u'E' # 0xC5 -> LATIN CAPITAL LETTER E
+ u'F' # 0xC6 -> LATIN CAPITAL LETTER F
+ u'G' # 0xC7 -> LATIN CAPITAL LETTER G
+ u'H' # 0xC8 -> LATIN CAPITAL LETTER H
+ u'I' # 0xC9 -> LATIN CAPITAL LETTER I
+ u'\xad' # 0xCA -> SOFT HYPHEN
+ u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0xCC -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
+ u'}' # 0xD0 -> RIGHT CURLY BRACKET
+ u'J' # 0xD1 -> LATIN CAPITAL LETTER J
+ u'K' # 0xD2 -> LATIN CAPITAL LETTER K
+ u'L' # 0xD3 -> LATIN CAPITAL LETTER L
+ u'M' # 0xD4 -> LATIN CAPITAL LETTER M
+ u'N' # 0xD5 -> LATIN CAPITAL LETTER N
+ u'O' # 0xD6 -> LATIN CAPITAL LETTER O
+ u'P' # 0xD7 -> LATIN CAPITAL LETTER P
+ u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
+ u'R' # 0xD9 -> LATIN CAPITAL LETTER R
+ u'\xb9' # 0xDA -> SUPERSCRIPT ONE
+ u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xDC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\\' # 0xE0 -> REVERSE SOLIDUS
+ u'\xf7' # 0xE1 -> DIVISION SIGN
+ u'S' # 0xE2 -> LATIN CAPITAL LETTER S
+ u'T' # 0xE3 -> LATIN CAPITAL LETTER T
+ u'U' # 0xE4 -> LATIN CAPITAL LETTER U
+ u'V' # 0xE5 -> LATIN CAPITAL LETTER V
+ u'W' # 0xE6 -> LATIN CAPITAL LETTER W
+ u'X' # 0xE7 -> LATIN CAPITAL LETTER X
+ u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
+ u'\xb2' # 0xEA -> SUPERSCRIPT TWO
+ u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd6' # 0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
+ u'0' # 0xF0 -> DIGIT ZERO
+ u'1' # 0xF1 -> DIGIT ONE
+ u'2' # 0xF2 -> DIGIT TWO
+ u'3' # 0xF3 -> DIGIT THREE
+ u'4' # 0xF4 -> DIGIT FOUR
+ u'5' # 0xF5 -> DIGIT FIVE
+ u'6' # 0xF6 -> DIGIT SIX
+ u'7' # 0xF7 -> DIGIT SEVEN
+ u'8' # 0xF8 -> DIGIT EIGHT
+ u'9' # 0xF9 -> DIGIT NINE
+ u'\xb3' # 0xFA -> SUPERSCRIPT THREE
+ u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\x9f' # 0xFF -> CONTROL
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x37, # END OF TRANSMISSION
- 0x0005: 0x2D, # ENQUIRY
- 0x0006: 0x2E, # ACKNOWLEDGE
- 0x0007: 0x2F, # BELL
- 0x0008: 0x16, # BACKSPACE
- 0x0009: 0x05, # HORIZONTAL TABULATION
- 0x000A: 0x25, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x3C, # DEVICE CONTROL FOUR
- 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x32, # SYNCHRONOUS IDLE
- 0x0017: 0x26, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x3F, # SUBSTITUTE
- 0x001B: 0x27, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x40, # SPACE
- 0x0021: 0x5A, # EXCLAMATION MARK
- 0x0022: 0x7F, # QUOTATION MARK
- 0x0023: 0x7B, # NUMBER SIGN
- 0x0024: 0x5B, # DOLLAR SIGN
- 0x0025: 0x6C, # PERCENT SIGN
- 0x0026: 0x50, # AMPERSAND
- 0x0027: 0x7D, # APOSTROPHE
- 0x0028: 0x4D, # LEFT PARENTHESIS
- 0x0029: 0x5D, # RIGHT PARENTHESIS
- 0x002A: 0x5C, # ASTERISK
- 0x002B: 0x4E, # PLUS SIGN
- 0x002C: 0x6B, # COMMA
- 0x002D: 0x60, # HYPHEN-MINUS
- 0x002E: 0x4B, # FULL STOP
- 0x002F: 0x61, # SOLIDUS
- 0x0030: 0xF0, # DIGIT ZERO
- 0x0031: 0xF1, # DIGIT ONE
- 0x0032: 0xF2, # DIGIT TWO
- 0x0033: 0xF3, # DIGIT THREE
- 0x0034: 0xF4, # DIGIT FOUR
- 0x0035: 0xF5, # DIGIT FIVE
- 0x0036: 0xF6, # DIGIT SIX
- 0x0037: 0xF7, # DIGIT SEVEN
- 0x0038: 0xF8, # DIGIT EIGHT
- 0x0039: 0xF9, # DIGIT NINE
- 0x003A: 0x7A, # COLON
- 0x003B: 0x5E, # SEMICOLON
- 0x003C: 0x4C, # LESS-THAN SIGN
- 0x003D: 0x7E, # EQUALS SIGN
- 0x003E: 0x6E, # GREATER-THAN SIGN
- 0x003F: 0x6F, # QUESTION MARK
- 0x0040: 0x7C, # COMMERCIAL AT
- 0x0041: 0xC1, # LATIN CAPITAL LETTER A
- 0x0042: 0xC2, # LATIN CAPITAL LETTER B
- 0x0043: 0xC3, # LATIN CAPITAL LETTER C
- 0x0044: 0xC4, # LATIN CAPITAL LETTER D
- 0x0045: 0xC5, # LATIN CAPITAL LETTER E
- 0x0046: 0xC6, # LATIN CAPITAL LETTER F
- 0x0047: 0xC7, # LATIN CAPITAL LETTER G
- 0x0048: 0xC8, # LATIN CAPITAL LETTER H
- 0x0049: 0xC9, # LATIN CAPITAL LETTER I
- 0x004A: 0xD1, # LATIN CAPITAL LETTER J
- 0x004B: 0xD2, # LATIN CAPITAL LETTER K
- 0x004C: 0xD3, # LATIN CAPITAL LETTER L
- 0x004D: 0xD4, # LATIN CAPITAL LETTER M
- 0x004E: 0xD5, # LATIN CAPITAL LETTER N
- 0x004F: 0xD6, # LATIN CAPITAL LETTER O
- 0x0050: 0xD7, # LATIN CAPITAL LETTER P
- 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
- 0x0052: 0xD9, # LATIN CAPITAL LETTER R
- 0x0053: 0xE2, # LATIN CAPITAL LETTER S
- 0x0054: 0xE3, # LATIN CAPITAL LETTER T
- 0x0055: 0xE4, # LATIN CAPITAL LETTER U
- 0x0056: 0xE5, # LATIN CAPITAL LETTER V
- 0x0057: 0xE6, # LATIN CAPITAL LETTER W
- 0x0058: 0xE7, # LATIN CAPITAL LETTER X
- 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
- 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
- 0x005B: 0xBA, # LEFT SQUARE BRACKET
- 0x005C: 0xE0, # REVERSE SOLIDUS
- 0x005D: 0xBB, # RIGHT SQUARE BRACKET
- 0x005E: 0xB0, # CIRCUMFLEX ACCENT
- 0x005F: 0x6D, # LOW LINE
- 0x0060: 0x79, # GRAVE ACCENT
- 0x0061: 0x81, # LATIN SMALL LETTER A
- 0x0062: 0x82, # LATIN SMALL LETTER B
- 0x0063: 0x83, # LATIN SMALL LETTER C
- 0x0064: 0x84, # LATIN SMALL LETTER D
- 0x0065: 0x85, # LATIN SMALL LETTER E
- 0x0066: 0x86, # LATIN SMALL LETTER F
- 0x0067: 0x87, # LATIN SMALL LETTER G
- 0x0068: 0x88, # LATIN SMALL LETTER H
- 0x0069: 0x89, # LATIN SMALL LETTER I
- 0x006A: 0x91, # LATIN SMALL LETTER J
- 0x006B: 0x92, # LATIN SMALL LETTER K
- 0x006C: 0x93, # LATIN SMALL LETTER L
- 0x006D: 0x94, # LATIN SMALL LETTER M
- 0x006E: 0x95, # LATIN SMALL LETTER N
- 0x006F: 0x96, # LATIN SMALL LETTER O
- 0x0070: 0x97, # LATIN SMALL LETTER P
- 0x0071: 0x98, # LATIN SMALL LETTER Q
- 0x0072: 0x99, # LATIN SMALL LETTER R
- 0x0073: 0xA2, # LATIN SMALL LETTER S
- 0x0074: 0xA3, # LATIN SMALL LETTER T
- 0x0075: 0xA4, # LATIN SMALL LETTER U
- 0x0076: 0xA5, # LATIN SMALL LETTER V
- 0x0077: 0xA6, # LATIN SMALL LETTER W
- 0x0078: 0xA7, # LATIN SMALL LETTER X
- 0x0079: 0xA8, # LATIN SMALL LETTER Y
- 0x007A: 0xA9, # LATIN SMALL LETTER Z
- 0x007B: 0xC0, # LEFT CURLY BRACKET
- 0x007C: 0x4F, # VERTICAL LINE
- 0x007D: 0xD0, # RIGHT CURLY BRACKET
- 0x007E: 0xA1, # TILDE
- 0x007F: 0x07, # DELETE
- 0x0080: 0x20, # CONTROL
- 0x0081: 0x21, # CONTROL
- 0x0082: 0x22, # CONTROL
- 0x0083: 0x23, # CONTROL
- 0x0084: 0x24, # CONTROL
- 0x0085: 0x15, # CONTROL
- 0x0086: 0x06, # CONTROL
- 0x0087: 0x17, # CONTROL
- 0x0088: 0x28, # CONTROL
- 0x0089: 0x29, # CONTROL
- 0x008A: 0x2A, # CONTROL
- 0x008B: 0x2B, # CONTROL
- 0x008C: 0x2C, # CONTROL
- 0x008D: 0x09, # CONTROL
- 0x008E: 0x0A, # CONTROL
- 0x008F: 0x1B, # CONTROL
- 0x0090: 0x30, # CONTROL
- 0x0091: 0x31, # CONTROL
- 0x0092: 0x1A, # CONTROL
- 0x0093: 0x33, # CONTROL
- 0x0094: 0x34, # CONTROL
- 0x0095: 0x35, # CONTROL
- 0x0096: 0x36, # CONTROL
- 0x0097: 0x08, # CONTROL
- 0x0098: 0x38, # CONTROL
- 0x0099: 0x39, # CONTROL
- 0x009A: 0x3A, # CONTROL
- 0x009B: 0x3B, # CONTROL
- 0x009C: 0x04, # CONTROL
- 0x009D: 0x14, # CONTROL
- 0x009E: 0x3E, # CONTROL
- 0x009F: 0xFF, # CONTROL
- 0x00A0: 0x41, # NO-BREAK SPACE
- 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
- 0x00A2: 0x4A, # CENT SIGN
- 0x00A3: 0xB1, # POUND SIGN
- 0x00A5: 0xB2, # YEN SIGN
- 0x00A6: 0x6A, # BROKEN BAR
- 0x00A7: 0xB5, # SECTION SIGN
- 0x00A8: 0xBD, # DIAERESIS
- 0x00A9: 0xB4, # COPYRIGHT SIGN
- 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0x5F, # NOT SIGN
- 0x00AD: 0xCA, # SOFT HYPHEN
- 0x00AE: 0xAF, # REGISTERED SIGN
- 0x00AF: 0xBC, # MACRON
- 0x00B0: 0x90, # DEGREE SIGN
- 0x00B1: 0x8F, # PLUS-MINUS SIGN
- 0x00B2: 0xEA, # SUPERSCRIPT TWO
- 0x00B3: 0xFA, # SUPERSCRIPT THREE
- 0x00B4: 0xBE, # ACUTE ACCENT
- 0x00B5: 0xA0, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB3, # MIDDLE DOT
- 0x00B8: 0x9D, # CEDILLA
- 0x00B9: 0xDA, # SUPERSCRIPT ONE
- 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xAB, # INVERTED QUESTION MARK
- 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
- 0x00C7: 0x68, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xAC, # LATIN CAPITAL LETTER ETH (ICELANDIC)
- 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xEC, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xBF, # MULTIPLICATION SIGN
- 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xFC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xAD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xAE, # LATIN CAPITAL LETTER THORN (ICELANDIC)
- 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
- 0x00E7: 0x48, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0x8C, # LATIN SMALL LETTER ETH (ICELANDIC)
- 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xCC, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xE1, # DIVISION SIGN
- 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xDC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0x8D, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
- 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x20AC: 0x9F, # EURO SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x37, # END OF TRANSMISSION
+ 0x0005: 0x2D, # ENQUIRY
+ 0x0006: 0x2E, # ACKNOWLEDGE
+ 0x0007: 0x2F, # BELL
+ 0x0008: 0x16, # BACKSPACE
+ 0x0009: 0x05, # HORIZONTAL TABULATION
+ 0x000A: 0x25, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x3C, # DEVICE CONTROL FOUR
+ 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x32, # SYNCHRONOUS IDLE
+ 0x0017: 0x26, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x3F, # SUBSTITUTE
+ 0x001B: 0x27, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x40, # SPACE
+ 0x0021: 0x5A, # EXCLAMATION MARK
+ 0x0022: 0x7F, # QUOTATION MARK
+ 0x0023: 0x7B, # NUMBER SIGN
+ 0x0024: 0x5B, # DOLLAR SIGN
+ 0x0025: 0x6C, # PERCENT SIGN
+ 0x0026: 0x50, # AMPERSAND
+ 0x0027: 0x7D, # APOSTROPHE
+ 0x0028: 0x4D, # LEFT PARENTHESIS
+ 0x0029: 0x5D, # RIGHT PARENTHESIS
+ 0x002A: 0x5C, # ASTERISK
+ 0x002B: 0x4E, # PLUS SIGN
+ 0x002C: 0x6B, # COMMA
+ 0x002D: 0x60, # HYPHEN-MINUS
+ 0x002E: 0x4B, # FULL STOP
+ 0x002F: 0x61, # SOLIDUS
+ 0x0030: 0xF0, # DIGIT ZERO
+ 0x0031: 0xF1, # DIGIT ONE
+ 0x0032: 0xF2, # DIGIT TWO
+ 0x0033: 0xF3, # DIGIT THREE
+ 0x0034: 0xF4, # DIGIT FOUR
+ 0x0035: 0xF5, # DIGIT FIVE
+ 0x0036: 0xF6, # DIGIT SIX
+ 0x0037: 0xF7, # DIGIT SEVEN
+ 0x0038: 0xF8, # DIGIT EIGHT
+ 0x0039: 0xF9, # DIGIT NINE
+ 0x003A: 0x7A, # COLON
+ 0x003B: 0x5E, # SEMICOLON
+ 0x003C: 0x4C, # LESS-THAN SIGN
+ 0x003D: 0x7E, # EQUALS SIGN
+ 0x003E: 0x6E, # GREATER-THAN SIGN
+ 0x003F: 0x6F, # QUESTION MARK
+ 0x0040: 0x7C, # COMMERCIAL AT
+ 0x0041: 0xC1, # LATIN CAPITAL LETTER A
+ 0x0042: 0xC2, # LATIN CAPITAL LETTER B
+ 0x0043: 0xC3, # LATIN CAPITAL LETTER C
+ 0x0044: 0xC4, # LATIN CAPITAL LETTER D
+ 0x0045: 0xC5, # LATIN CAPITAL LETTER E
+ 0x0046: 0xC6, # LATIN CAPITAL LETTER F
+ 0x0047: 0xC7, # LATIN CAPITAL LETTER G
+ 0x0048: 0xC8, # LATIN CAPITAL LETTER H
+ 0x0049: 0xC9, # LATIN CAPITAL LETTER I
+ 0x004A: 0xD1, # LATIN CAPITAL LETTER J
+ 0x004B: 0xD2, # LATIN CAPITAL LETTER K
+ 0x004C: 0xD3, # LATIN CAPITAL LETTER L
+ 0x004D: 0xD4, # LATIN CAPITAL LETTER M
+ 0x004E: 0xD5, # LATIN CAPITAL LETTER N
+ 0x004F: 0xD6, # LATIN CAPITAL LETTER O
+ 0x0050: 0xD7, # LATIN CAPITAL LETTER P
+ 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
+ 0x0052: 0xD9, # LATIN CAPITAL LETTER R
+ 0x0053: 0xE2, # LATIN CAPITAL LETTER S
+ 0x0054: 0xE3, # LATIN CAPITAL LETTER T
+ 0x0055: 0xE4, # LATIN CAPITAL LETTER U
+ 0x0056: 0xE5, # LATIN CAPITAL LETTER V
+ 0x0057: 0xE6, # LATIN CAPITAL LETTER W
+ 0x0058: 0xE7, # LATIN CAPITAL LETTER X
+ 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
+ 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
+ 0x005B: 0xBA, # LEFT SQUARE BRACKET
+ 0x005C: 0xE0, # REVERSE SOLIDUS
+ 0x005D: 0xBB, # RIGHT SQUARE BRACKET
+ 0x005E: 0xB0, # CIRCUMFLEX ACCENT
+ 0x005F: 0x6D, # LOW LINE
+ 0x0060: 0x79, # GRAVE ACCENT
+ 0x0061: 0x81, # LATIN SMALL LETTER A
+ 0x0062: 0x82, # LATIN SMALL LETTER B
+ 0x0063: 0x83, # LATIN SMALL LETTER C
+ 0x0064: 0x84, # LATIN SMALL LETTER D
+ 0x0065: 0x85, # LATIN SMALL LETTER E
+ 0x0066: 0x86, # LATIN SMALL LETTER F
+ 0x0067: 0x87, # LATIN SMALL LETTER G
+ 0x0068: 0x88, # LATIN SMALL LETTER H
+ 0x0069: 0x89, # LATIN SMALL LETTER I
+ 0x006A: 0x91, # LATIN SMALL LETTER J
+ 0x006B: 0x92, # LATIN SMALL LETTER K
+ 0x006C: 0x93, # LATIN SMALL LETTER L
+ 0x006D: 0x94, # LATIN SMALL LETTER M
+ 0x006E: 0x95, # LATIN SMALL LETTER N
+ 0x006F: 0x96, # LATIN SMALL LETTER O
+ 0x0070: 0x97, # LATIN SMALL LETTER P
+ 0x0071: 0x98, # LATIN SMALL LETTER Q
+ 0x0072: 0x99, # LATIN SMALL LETTER R
+ 0x0073: 0xA2, # LATIN SMALL LETTER S
+ 0x0074: 0xA3, # LATIN SMALL LETTER T
+ 0x0075: 0xA4, # LATIN SMALL LETTER U
+ 0x0076: 0xA5, # LATIN SMALL LETTER V
+ 0x0077: 0xA6, # LATIN SMALL LETTER W
+ 0x0078: 0xA7, # LATIN SMALL LETTER X
+ 0x0079: 0xA8, # LATIN SMALL LETTER Y
+ 0x007A: 0xA9, # LATIN SMALL LETTER Z
+ 0x007B: 0xC0, # LEFT CURLY BRACKET
+ 0x007C: 0x4F, # VERTICAL LINE
+ 0x007D: 0xD0, # RIGHT CURLY BRACKET
+ 0x007E: 0xA1, # TILDE
+ 0x007F: 0x07, # DELETE
+ 0x0080: 0x20, # CONTROL
+ 0x0081: 0x21, # CONTROL
+ 0x0082: 0x22, # CONTROL
+ 0x0083: 0x23, # CONTROL
+ 0x0084: 0x24, # CONTROL
+ 0x0085: 0x15, # CONTROL
+ 0x0086: 0x06, # CONTROL
+ 0x0087: 0x17, # CONTROL
+ 0x0088: 0x28, # CONTROL
+ 0x0089: 0x29, # CONTROL
+ 0x008A: 0x2A, # CONTROL
+ 0x008B: 0x2B, # CONTROL
+ 0x008C: 0x2C, # CONTROL
+ 0x008D: 0x09, # CONTROL
+ 0x008E: 0x0A, # CONTROL
+ 0x008F: 0x1B, # CONTROL
+ 0x0090: 0x30, # CONTROL
+ 0x0091: 0x31, # CONTROL
+ 0x0092: 0x1A, # CONTROL
+ 0x0093: 0x33, # CONTROL
+ 0x0094: 0x34, # CONTROL
+ 0x0095: 0x35, # CONTROL
+ 0x0096: 0x36, # CONTROL
+ 0x0097: 0x08, # CONTROL
+ 0x0098: 0x38, # CONTROL
+ 0x0099: 0x39, # CONTROL
+ 0x009A: 0x3A, # CONTROL
+ 0x009B: 0x3B, # CONTROL
+ 0x009C: 0x04, # CONTROL
+ 0x009D: 0x14, # CONTROL
+ 0x009E: 0x3E, # CONTROL
+ 0x009F: 0xFF, # CONTROL
+ 0x00A0: 0x41, # NO-BREAK SPACE
+ 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0x4A, # CENT SIGN
+ 0x00A3: 0xB1, # POUND SIGN
+ 0x00A5: 0xB2, # YEN SIGN
+ 0x00A6: 0x6A, # BROKEN BAR
+ 0x00A7: 0xB5, # SECTION SIGN
+ 0x00A8: 0xBD, # DIAERESIS
+ 0x00A9: 0xB4, # COPYRIGHT SIGN
+ 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0x5F, # NOT SIGN
+ 0x00AD: 0xCA, # SOFT HYPHEN
+ 0x00AE: 0xAF, # REGISTERED SIGN
+ 0x00AF: 0xBC, # MACRON
+ 0x00B0: 0x90, # DEGREE SIGN
+ 0x00B1: 0x8F, # PLUS-MINUS SIGN
+ 0x00B2: 0xEA, # SUPERSCRIPT TWO
+ 0x00B3: 0xFA, # SUPERSCRIPT THREE
+ 0x00B4: 0xBE, # ACUTE ACCENT
+ 0x00B5: 0xA0, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB3, # MIDDLE DOT
+ 0x00B8: 0x9D, # CEDILLA
+ 0x00B9: 0xDA, # SUPERSCRIPT ONE
+ 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xAB, # INVERTED QUESTION MARK
+ 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
+ 0x00C7: 0x68, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xAC, # LATIN CAPITAL LETTER ETH (ICELANDIC)
+ 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xEC, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xBF, # MULTIPLICATION SIGN
+ 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xFC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xAD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xAE, # LATIN CAPITAL LETTER THORN (ICELANDIC)
+ 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
+ 0x00E7: 0x48, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0x8C, # LATIN SMALL LETTER ETH (ICELANDIC)
+ 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xCC, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xE1, # DIVISION SIGN
+ 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xDC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0x8D, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
+ 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x20AC: 0x9F, # EURO SIGN
}
-
diff --git a/Lib/encodings/cp1250.py b/Lib/encodings/cp1250.py
index 3aa78a8..73427bc 100644
--- a/Lib/encodings/cp1250.py
+++ b/Lib/encodings/cp1250.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,517 +32,516 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\ufffe' # 0x83 -> UNDEFINED
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\ufffe' # 0x88 -> UNDEFINED
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\u0160' # 0x8A -> LATIN CAPITAL LETTER S WITH CARON
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u015a' # 0x8C -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u0164' # 0x8D -> LATIN CAPITAL LETTER T WITH CARON
- u'\u017d' # 0x8E -> LATIN CAPITAL LETTER Z WITH CARON
- u'\u0179' # 0x8F -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\ufffe' # 0x98 -> UNDEFINED
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\u0161' # 0x9A -> LATIN SMALL LETTER S WITH CARON
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u015b' # 0x9C -> LATIN SMALL LETTER S WITH ACUTE
- u'\u0165' # 0x9D -> LATIN SMALL LETTER T WITH CARON
- u'\u017e' # 0x9E -> LATIN SMALL LETTER Z WITH CARON
- u'\u017a' # 0x9F -> LATIN SMALL LETTER Z WITH ACUTE
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u02c7' # 0xA1 -> CARON
- u'\u02d8' # 0xA2 -> BREVE
- u'\u0141' # 0xA3 -> LATIN CAPITAL LETTER L WITH STROKE
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\u0104' # 0xA5 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u015e' # 0xAA -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u02db' # 0xB2 -> OGONEK
- u'\u0142' # 0xB3 -> LATIN SMALL LETTER L WITH STROKE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\u0105' # 0xB9 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u015f' # 0xBA -> LATIN SMALL LETTER S WITH CEDILLA
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u013d' # 0xBC -> LATIN CAPITAL LETTER L WITH CARON
- u'\u02dd' # 0xBD -> DOUBLE ACUTE ACCENT
- u'\u013e' # 0xBE -> LATIN SMALL LETTER L WITH CARON
- u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u0154' # 0xC0 -> LATIN CAPITAL LETTER R WITH ACUTE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\u0139' # 0xC5 -> LATIN CAPITAL LETTER L WITH ACUTE
- u'\u0106' # 0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u011a' # 0xCC -> LATIN CAPITAL LETTER E WITH CARON
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\u010e' # 0xCF -> LATIN CAPITAL LETTER D WITH CARON
- u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\u0147' # 0xD2 -> LATIN CAPITAL LETTER N WITH CARON
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u0150' # 0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\u0158' # 0xD8 -> LATIN CAPITAL LETTER R WITH CARON
- u'\u016e' # 0xD9 -> LATIN CAPITAL LETTER U WITH RING ABOVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\u0170' # 0xDB -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\u0162' # 0xDE -> LATIN CAPITAL LETTER T WITH CEDILLA
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\u0155' # 0xE0 -> LATIN SMALL LETTER R WITH ACUTE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u013a' # 0xE5 -> LATIN SMALL LETTER L WITH ACUTE
- u'\u0107' # 0xE6 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u011b' # 0xEC -> LATIN SMALL LETTER E WITH CARON
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\u010f' # 0xEF -> LATIN SMALL LETTER D WITH CARON
- u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
- u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0148' # 0xF2 -> LATIN SMALL LETTER N WITH CARON
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\u0151' # 0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\u0159' # 0xF8 -> LATIN SMALL LETTER R WITH CARON
- u'\u016f' # 0xF9 -> LATIN SMALL LETTER U WITH RING ABOVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\u0171' # 0xFB -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\u0163' # 0xFE -> LATIN SMALL LETTER T WITH CEDILLA
- u'\u02d9' # 0xFF -> DOT ABOVE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\ufffe' # 0x83 -> UNDEFINED
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\ufffe' # 0x88 -> UNDEFINED
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\u0160' # 0x8A -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u015a' # 0x8C -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u0164' # 0x8D -> LATIN CAPITAL LETTER T WITH CARON
+ u'\u017d' # 0x8E -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\u0179' # 0x8F -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\ufffe' # 0x98 -> UNDEFINED
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\u0161' # 0x9A -> LATIN SMALL LETTER S WITH CARON
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u015b' # 0x9C -> LATIN SMALL LETTER S WITH ACUTE
+ u'\u0165' # 0x9D -> LATIN SMALL LETTER T WITH CARON
+ u'\u017e' # 0x9E -> LATIN SMALL LETTER Z WITH CARON
+ u'\u017a' # 0x9F -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u02c7' # 0xA1 -> CARON
+ u'\u02d8' # 0xA2 -> BREVE
+ u'\u0141' # 0xA3 -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\u0104' # 0xA5 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u015e' # 0xAA -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u02db' # 0xB2 -> OGONEK
+ u'\u0142' # 0xB3 -> LATIN SMALL LETTER L WITH STROKE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\u0105' # 0xB9 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u015f' # 0xBA -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u013d' # 0xBC -> LATIN CAPITAL LETTER L WITH CARON
+ u'\u02dd' # 0xBD -> DOUBLE ACUTE ACCENT
+ u'\u013e' # 0xBE -> LATIN SMALL LETTER L WITH CARON
+ u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u0154' # 0xC0 -> LATIN CAPITAL LETTER R WITH ACUTE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\u0139' # 0xC5 -> LATIN CAPITAL LETTER L WITH ACUTE
+ u'\u0106' # 0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u011a' # 0xCC -> LATIN CAPITAL LETTER E WITH CARON
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\u010e' # 0xCF -> LATIN CAPITAL LETTER D WITH CARON
+ u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\u0147' # 0xD2 -> LATIN CAPITAL LETTER N WITH CARON
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u0150' # 0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\u0158' # 0xD8 -> LATIN CAPITAL LETTER R WITH CARON
+ u'\u016e' # 0xD9 -> LATIN CAPITAL LETTER U WITH RING ABOVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\u0170' # 0xDB -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\u0162' # 0xDE -> LATIN CAPITAL LETTER T WITH CEDILLA
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\u0155' # 0xE0 -> LATIN SMALL LETTER R WITH ACUTE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u013a' # 0xE5 -> LATIN SMALL LETTER L WITH ACUTE
+ u'\u0107' # 0xE6 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u011b' # 0xEC -> LATIN SMALL LETTER E WITH CARON
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\u010f' # 0xEF -> LATIN SMALL LETTER D WITH CARON
+ u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0148' # 0xF2 -> LATIN SMALL LETTER N WITH CARON
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\u0151' # 0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\u0159' # 0xF8 -> LATIN SMALL LETTER R WITH CARON
+ u'\u016f' # 0xF9 -> LATIN SMALL LETTER U WITH RING ABOVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\u0171' # 0xFB -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\u0163' # 0xFE -> LATIN SMALL LETTER T WITH CEDILLA
+ u'\u02d9' # 0xFF -> DOT ABOVE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
- 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
- 0x0104: 0xA5, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xB9, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0xC6, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0xE6, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x010E: 0xCF, # LATIN CAPITAL LETTER D WITH CARON
- 0x010F: 0xEF, # LATIN SMALL LETTER D WITH CARON
- 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
- 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
- 0x011A: 0xCC, # LATIN CAPITAL LETTER E WITH CARON
- 0x011B: 0xEC, # LATIN SMALL LETTER E WITH CARON
- 0x0139: 0xC5, # LATIN CAPITAL LETTER L WITH ACUTE
- 0x013A: 0xE5, # LATIN SMALL LETTER L WITH ACUTE
- 0x013D: 0xBC, # LATIN CAPITAL LETTER L WITH CARON
- 0x013E: 0xBE, # LATIN SMALL LETTER L WITH CARON
- 0x0141: 0xA3, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0xB3, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
- 0x0147: 0xD2, # LATIN CAPITAL LETTER N WITH CARON
- 0x0148: 0xF2, # LATIN SMALL LETTER N WITH CARON
- 0x0150: 0xD5, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- 0x0151: 0xF5, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
- 0x0154: 0xC0, # LATIN CAPITAL LETTER R WITH ACUTE
- 0x0155: 0xE0, # LATIN SMALL LETTER R WITH ACUTE
- 0x0158: 0xD8, # LATIN CAPITAL LETTER R WITH CARON
- 0x0159: 0xF8, # LATIN SMALL LETTER R WITH CARON
- 0x015A: 0x8C, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015B: 0x9C, # LATIN SMALL LETTER S WITH ACUTE
- 0x015E: 0xAA, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0xBA, # LATIN SMALL LETTER S WITH CEDILLA
- 0x0160: 0x8A, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0x9A, # LATIN SMALL LETTER S WITH CARON
- 0x0162: 0xDE, # LATIN CAPITAL LETTER T WITH CEDILLA
- 0x0163: 0xFE, # LATIN SMALL LETTER T WITH CEDILLA
- 0x0164: 0x8D, # LATIN CAPITAL LETTER T WITH CARON
- 0x0165: 0x9D, # LATIN SMALL LETTER T WITH CARON
- 0x016E: 0xD9, # LATIN CAPITAL LETTER U WITH RING ABOVE
- 0x016F: 0xF9, # LATIN SMALL LETTER U WITH RING ABOVE
- 0x0170: 0xDB, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- 0x0171: 0xFB, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
- 0x0179: 0x8F, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017A: 0x9F, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017D: 0x8E, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0x9E, # LATIN SMALL LETTER Z WITH CARON
- 0x02C7: 0xA1, # CARON
- 0x02D8: 0xA2, # BREVE
- 0x02D9: 0xFF, # DOT ABOVE
- 0x02DB: 0xB2, # OGONEK
- 0x02DD: 0xBD, # DOUBLE ACUTE ACCENT
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
+ 0x0104: 0xA5, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xB9, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0xC6, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0xE6, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x010E: 0xCF, # LATIN CAPITAL LETTER D WITH CARON
+ 0x010F: 0xEF, # LATIN SMALL LETTER D WITH CARON
+ 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
+ 0x011A: 0xCC, # LATIN CAPITAL LETTER E WITH CARON
+ 0x011B: 0xEC, # LATIN SMALL LETTER E WITH CARON
+ 0x0139: 0xC5, # LATIN CAPITAL LETTER L WITH ACUTE
+ 0x013A: 0xE5, # LATIN SMALL LETTER L WITH ACUTE
+ 0x013D: 0xBC, # LATIN CAPITAL LETTER L WITH CARON
+ 0x013E: 0xBE, # LATIN SMALL LETTER L WITH CARON
+ 0x0141: 0xA3, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0xB3, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0147: 0xD2, # LATIN CAPITAL LETTER N WITH CARON
+ 0x0148: 0xF2, # LATIN SMALL LETTER N WITH CARON
+ 0x0150: 0xD5, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ 0x0151: 0xF5, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ 0x0154: 0xC0, # LATIN CAPITAL LETTER R WITH ACUTE
+ 0x0155: 0xE0, # LATIN SMALL LETTER R WITH ACUTE
+ 0x0158: 0xD8, # LATIN CAPITAL LETTER R WITH CARON
+ 0x0159: 0xF8, # LATIN SMALL LETTER R WITH CARON
+ 0x015A: 0x8C, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015B: 0x9C, # LATIN SMALL LETTER S WITH ACUTE
+ 0x015E: 0xAA, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0xBA, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0160: 0x8A, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0x9A, # LATIN SMALL LETTER S WITH CARON
+ 0x0162: 0xDE, # LATIN CAPITAL LETTER T WITH CEDILLA
+ 0x0163: 0xFE, # LATIN SMALL LETTER T WITH CEDILLA
+ 0x0164: 0x8D, # LATIN CAPITAL LETTER T WITH CARON
+ 0x0165: 0x9D, # LATIN SMALL LETTER T WITH CARON
+ 0x016E: 0xD9, # LATIN CAPITAL LETTER U WITH RING ABOVE
+ 0x016F: 0xF9, # LATIN SMALL LETTER U WITH RING ABOVE
+ 0x0170: 0xDB, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ 0x0171: 0xFB, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ 0x0179: 0x8F, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017A: 0x9F, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017D: 0x8E, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0x9E, # LATIN SMALL LETTER Z WITH CARON
+ 0x02C7: 0xA1, # CARON
+ 0x02D8: 0xA2, # BREVE
+ 0x02D9: 0xFF, # DOT ABOVE
+ 0x02DB: 0xB2, # OGONEK
+ 0x02DD: 0xBD, # DOUBLE ACUTE ACCENT
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1251.py b/Lib/encodings/cp1251.py
index e62806d..f3e107ef 100644
--- a/Lib/encodings/cp1251.py
+++ b/Lib/encodings/cp1251.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,521 +32,520 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u0402' # 0x80 -> CYRILLIC CAPITAL LETTER DJE
- u'\u0403' # 0x81 -> CYRILLIC CAPITAL LETTER GJE
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0453' # 0x83 -> CYRILLIC SMALL LETTER GJE
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\u20ac' # 0x88 -> EURO SIGN
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\u0409' # 0x8A -> CYRILLIC CAPITAL LETTER LJE
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u040a' # 0x8C -> CYRILLIC CAPITAL LETTER NJE
- u'\u040c' # 0x8D -> CYRILLIC CAPITAL LETTER KJE
- u'\u040b' # 0x8E -> CYRILLIC CAPITAL LETTER TSHE
- u'\u040f' # 0x8F -> CYRILLIC CAPITAL LETTER DZHE
- u'\u0452' # 0x90 -> CYRILLIC SMALL LETTER DJE
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\ufffe' # 0x98 -> UNDEFINED
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\u0459' # 0x9A -> CYRILLIC SMALL LETTER LJE
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u045a' # 0x9C -> CYRILLIC SMALL LETTER NJE
- u'\u045c' # 0x9D -> CYRILLIC SMALL LETTER KJE
- u'\u045b' # 0x9E -> CYRILLIC SMALL LETTER TSHE
- u'\u045f' # 0x9F -> CYRILLIC SMALL LETTER DZHE
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u040e' # 0xA1 -> CYRILLIC CAPITAL LETTER SHORT U
- u'\u045e' # 0xA2 -> CYRILLIC SMALL LETTER SHORT U
- u'\u0408' # 0xA3 -> CYRILLIC CAPITAL LETTER JE
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\u0490' # 0xA5 -> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\u0401' # 0xA8 -> CYRILLIC CAPITAL LETTER IO
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u0404' # 0xAA -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\u0407' # 0xAF -> CYRILLIC CAPITAL LETTER YI
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u0406' # 0xB2 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0456' # 0xB3 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0491' # 0xB4 -> CYRILLIC SMALL LETTER GHE WITH UPTURN
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\u0451' # 0xB8 -> CYRILLIC SMALL LETTER IO
- u'\u2116' # 0xB9 -> NUMERO SIGN
- u'\u0454' # 0xBA -> CYRILLIC SMALL LETTER UKRAINIAN IE
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u0458' # 0xBC -> CYRILLIC SMALL LETTER JE
- u'\u0405' # 0xBD -> CYRILLIC CAPITAL LETTER DZE
- u'\u0455' # 0xBE -> CYRILLIC SMALL LETTER DZE
- u'\u0457' # 0xBF -> CYRILLIC SMALL LETTER YI
- u'\u0410' # 0xC0 -> CYRILLIC CAPITAL LETTER A
- u'\u0411' # 0xC1 -> CYRILLIC CAPITAL LETTER BE
- u'\u0412' # 0xC2 -> CYRILLIC CAPITAL LETTER VE
- u'\u0413' # 0xC3 -> CYRILLIC CAPITAL LETTER GHE
- u'\u0414' # 0xC4 -> CYRILLIC CAPITAL LETTER DE
- u'\u0415' # 0xC5 -> CYRILLIC CAPITAL LETTER IE
- u'\u0416' # 0xC6 -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0417' # 0xC7 -> CYRILLIC CAPITAL LETTER ZE
- u'\u0418' # 0xC8 -> CYRILLIC CAPITAL LETTER I
- u'\u0419' # 0xC9 -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u041a' # 0xCA -> CYRILLIC CAPITAL LETTER KA
- u'\u041b' # 0xCB -> CYRILLIC CAPITAL LETTER EL
- u'\u041c' # 0xCC -> CYRILLIC CAPITAL LETTER EM
- u'\u041d' # 0xCD -> CYRILLIC CAPITAL LETTER EN
- u'\u041e' # 0xCE -> CYRILLIC CAPITAL LETTER O
- u'\u041f' # 0xCF -> CYRILLIC CAPITAL LETTER PE
- u'\u0420' # 0xD0 -> CYRILLIC CAPITAL LETTER ER
- u'\u0421' # 0xD1 -> CYRILLIC CAPITAL LETTER ES
- u'\u0422' # 0xD2 -> CYRILLIC CAPITAL LETTER TE
- u'\u0423' # 0xD3 -> CYRILLIC CAPITAL LETTER U
- u'\u0424' # 0xD4 -> CYRILLIC CAPITAL LETTER EF
- u'\u0425' # 0xD5 -> CYRILLIC CAPITAL LETTER HA
- u'\u0426' # 0xD6 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0427' # 0xD7 -> CYRILLIC CAPITAL LETTER CHE
- u'\u0428' # 0xD8 -> CYRILLIC CAPITAL LETTER SHA
- u'\u0429' # 0xD9 -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u042a' # 0xDA -> CYRILLIC CAPITAL LETTER HARD SIGN
- u'\u042b' # 0xDB -> CYRILLIC CAPITAL LETTER YERU
- u'\u042c' # 0xDC -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u042d' # 0xDD -> CYRILLIC CAPITAL LETTER E
- u'\u042e' # 0xDE -> CYRILLIC CAPITAL LETTER YU
- u'\u042f' # 0xDF -> CYRILLIC CAPITAL LETTER YA
- u'\u0430' # 0xE0 -> CYRILLIC SMALL LETTER A
- u'\u0431' # 0xE1 -> CYRILLIC SMALL LETTER BE
- u'\u0432' # 0xE2 -> CYRILLIC SMALL LETTER VE
- u'\u0433' # 0xE3 -> CYRILLIC SMALL LETTER GHE
- u'\u0434' # 0xE4 -> CYRILLIC SMALL LETTER DE
- u'\u0435' # 0xE5 -> CYRILLIC SMALL LETTER IE
- u'\u0436' # 0xE6 -> CYRILLIC SMALL LETTER ZHE
- u'\u0437' # 0xE7 -> CYRILLIC SMALL LETTER ZE
- u'\u0438' # 0xE8 -> CYRILLIC SMALL LETTER I
- u'\u0439' # 0xE9 -> CYRILLIC SMALL LETTER SHORT I
- u'\u043a' # 0xEA -> CYRILLIC SMALL LETTER KA
- u'\u043b' # 0xEB -> CYRILLIC SMALL LETTER EL
- u'\u043c' # 0xEC -> CYRILLIC SMALL LETTER EM
- u'\u043d' # 0xED -> CYRILLIC SMALL LETTER EN
- u'\u043e' # 0xEE -> CYRILLIC SMALL LETTER O
- u'\u043f' # 0xEF -> CYRILLIC SMALL LETTER PE
- u'\u0440' # 0xF0 -> CYRILLIC SMALL LETTER ER
- u'\u0441' # 0xF1 -> CYRILLIC SMALL LETTER ES
- u'\u0442' # 0xF2 -> CYRILLIC SMALL LETTER TE
- u'\u0443' # 0xF3 -> CYRILLIC SMALL LETTER U
- u'\u0444' # 0xF4 -> CYRILLIC SMALL LETTER EF
- u'\u0445' # 0xF5 -> CYRILLIC SMALL LETTER HA
- u'\u0446' # 0xF6 -> CYRILLIC SMALL LETTER TSE
- u'\u0447' # 0xF7 -> CYRILLIC SMALL LETTER CHE
- u'\u0448' # 0xF8 -> CYRILLIC SMALL LETTER SHA
- u'\u0449' # 0xF9 -> CYRILLIC SMALL LETTER SHCHA
- u'\u044a' # 0xFA -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u044b' # 0xFB -> CYRILLIC SMALL LETTER YERU
- u'\u044c' # 0xFC -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u044d' # 0xFD -> CYRILLIC SMALL LETTER E
- u'\u044e' # 0xFE -> CYRILLIC SMALL LETTER YU
- u'\u044f' # 0xFF -> CYRILLIC SMALL LETTER YA
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u0402' # 0x80 -> CYRILLIC CAPITAL LETTER DJE
+ u'\u0403' # 0x81 -> CYRILLIC CAPITAL LETTER GJE
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0453' # 0x83 -> CYRILLIC SMALL LETTER GJE
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\u20ac' # 0x88 -> EURO SIGN
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\u0409' # 0x8A -> CYRILLIC CAPITAL LETTER LJE
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u040a' # 0x8C -> CYRILLIC CAPITAL LETTER NJE
+ u'\u040c' # 0x8D -> CYRILLIC CAPITAL LETTER KJE
+ u'\u040b' # 0x8E -> CYRILLIC CAPITAL LETTER TSHE
+ u'\u040f' # 0x8F -> CYRILLIC CAPITAL LETTER DZHE
+ u'\u0452' # 0x90 -> CYRILLIC SMALL LETTER DJE
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\ufffe' # 0x98 -> UNDEFINED
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\u0459' # 0x9A -> CYRILLIC SMALL LETTER LJE
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u045a' # 0x9C -> CYRILLIC SMALL LETTER NJE
+ u'\u045c' # 0x9D -> CYRILLIC SMALL LETTER KJE
+ u'\u045b' # 0x9E -> CYRILLIC SMALL LETTER TSHE
+ u'\u045f' # 0x9F -> CYRILLIC SMALL LETTER DZHE
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u040e' # 0xA1 -> CYRILLIC CAPITAL LETTER SHORT U
+ u'\u045e' # 0xA2 -> CYRILLIC SMALL LETTER SHORT U
+ u'\u0408' # 0xA3 -> CYRILLIC CAPITAL LETTER JE
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\u0490' # 0xA5 -> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\u0401' # 0xA8 -> CYRILLIC CAPITAL LETTER IO
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u0404' # 0xAA -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\u0407' # 0xAF -> CYRILLIC CAPITAL LETTER YI
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u0406' # 0xB2 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0456' # 0xB3 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0491' # 0xB4 -> CYRILLIC SMALL LETTER GHE WITH UPTURN
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\u0451' # 0xB8 -> CYRILLIC SMALL LETTER IO
+ u'\u2116' # 0xB9 -> NUMERO SIGN
+ u'\u0454' # 0xBA -> CYRILLIC SMALL LETTER UKRAINIAN IE
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u0458' # 0xBC -> CYRILLIC SMALL LETTER JE
+ u'\u0405' # 0xBD -> CYRILLIC CAPITAL LETTER DZE
+ u'\u0455' # 0xBE -> CYRILLIC SMALL LETTER DZE
+ u'\u0457' # 0xBF -> CYRILLIC SMALL LETTER YI
+ u'\u0410' # 0xC0 -> CYRILLIC CAPITAL LETTER A
+ u'\u0411' # 0xC1 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0412' # 0xC2 -> CYRILLIC CAPITAL LETTER VE
+ u'\u0413' # 0xC3 -> CYRILLIC CAPITAL LETTER GHE
+ u'\u0414' # 0xC4 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0415' # 0xC5 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0416' # 0xC6 -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0417' # 0xC7 -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0418' # 0xC8 -> CYRILLIC CAPITAL LETTER I
+ u'\u0419' # 0xC9 -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u041a' # 0xCA -> CYRILLIC CAPITAL LETTER KA
+ u'\u041b' # 0xCB -> CYRILLIC CAPITAL LETTER EL
+ u'\u041c' # 0xCC -> CYRILLIC CAPITAL LETTER EM
+ u'\u041d' # 0xCD -> CYRILLIC CAPITAL LETTER EN
+ u'\u041e' # 0xCE -> CYRILLIC CAPITAL LETTER O
+ u'\u041f' # 0xCF -> CYRILLIC CAPITAL LETTER PE
+ u'\u0420' # 0xD0 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0421' # 0xD1 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0422' # 0xD2 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0423' # 0xD3 -> CYRILLIC CAPITAL LETTER U
+ u'\u0424' # 0xD4 -> CYRILLIC CAPITAL LETTER EF
+ u'\u0425' # 0xD5 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0426' # 0xD6 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0427' # 0xD7 -> CYRILLIC CAPITAL LETTER CHE
+ u'\u0428' # 0xD8 -> CYRILLIC CAPITAL LETTER SHA
+ u'\u0429' # 0xD9 -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u042a' # 0xDA -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\u042b' # 0xDB -> CYRILLIC CAPITAL LETTER YERU
+ u'\u042c' # 0xDC -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u042d' # 0xDD -> CYRILLIC CAPITAL LETTER E
+ u'\u042e' # 0xDE -> CYRILLIC CAPITAL LETTER YU
+ u'\u042f' # 0xDF -> CYRILLIC CAPITAL LETTER YA
+ u'\u0430' # 0xE0 -> CYRILLIC SMALL LETTER A
+ u'\u0431' # 0xE1 -> CYRILLIC SMALL LETTER BE
+ u'\u0432' # 0xE2 -> CYRILLIC SMALL LETTER VE
+ u'\u0433' # 0xE3 -> CYRILLIC SMALL LETTER GHE
+ u'\u0434' # 0xE4 -> CYRILLIC SMALL LETTER DE
+ u'\u0435' # 0xE5 -> CYRILLIC SMALL LETTER IE
+ u'\u0436' # 0xE6 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0437' # 0xE7 -> CYRILLIC SMALL LETTER ZE
+ u'\u0438' # 0xE8 -> CYRILLIC SMALL LETTER I
+ u'\u0439' # 0xE9 -> CYRILLIC SMALL LETTER SHORT I
+ u'\u043a' # 0xEA -> CYRILLIC SMALL LETTER KA
+ u'\u043b' # 0xEB -> CYRILLIC SMALL LETTER EL
+ u'\u043c' # 0xEC -> CYRILLIC SMALL LETTER EM
+ u'\u043d' # 0xED -> CYRILLIC SMALL LETTER EN
+ u'\u043e' # 0xEE -> CYRILLIC SMALL LETTER O
+ u'\u043f' # 0xEF -> CYRILLIC SMALL LETTER PE
+ u'\u0440' # 0xF0 -> CYRILLIC SMALL LETTER ER
+ u'\u0441' # 0xF1 -> CYRILLIC SMALL LETTER ES
+ u'\u0442' # 0xF2 -> CYRILLIC SMALL LETTER TE
+ u'\u0443' # 0xF3 -> CYRILLIC SMALL LETTER U
+ u'\u0444' # 0xF4 -> CYRILLIC SMALL LETTER EF
+ u'\u0445' # 0xF5 -> CYRILLIC SMALL LETTER HA
+ u'\u0446' # 0xF6 -> CYRILLIC SMALL LETTER TSE
+ u'\u0447' # 0xF7 -> CYRILLIC SMALL LETTER CHE
+ u'\u0448' # 0xF8 -> CYRILLIC SMALL LETTER SHA
+ u'\u0449' # 0xF9 -> CYRILLIC SMALL LETTER SHCHA
+ u'\u044a' # 0xFA -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u044b' # 0xFB -> CYRILLIC SMALL LETTER YERU
+ u'\u044c' # 0xFC -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u044d' # 0xFD -> CYRILLIC SMALL LETTER E
+ u'\u044e' # 0xFE -> CYRILLIC SMALL LETTER YU
+ u'\u044f' # 0xFF -> CYRILLIC SMALL LETTER YA
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x0401: 0xA8, # CYRILLIC CAPITAL LETTER IO
- 0x0402: 0x80, # CYRILLIC CAPITAL LETTER DJE
- 0x0403: 0x81, # CYRILLIC CAPITAL LETTER GJE
- 0x0404: 0xAA, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0405: 0xBD, # CYRILLIC CAPITAL LETTER DZE
- 0x0406: 0xB2, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0407: 0xAF, # CYRILLIC CAPITAL LETTER YI
- 0x0408: 0xA3, # CYRILLIC CAPITAL LETTER JE
- 0x0409: 0x8A, # CYRILLIC CAPITAL LETTER LJE
- 0x040A: 0x8C, # CYRILLIC CAPITAL LETTER NJE
- 0x040B: 0x8E, # CYRILLIC CAPITAL LETTER TSHE
- 0x040C: 0x8D, # CYRILLIC CAPITAL LETTER KJE
- 0x040E: 0xA1, # CYRILLIC CAPITAL LETTER SHORT U
- 0x040F: 0x8F, # CYRILLIC CAPITAL LETTER DZHE
- 0x0410: 0xC0, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0xC1, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0xC2, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0xC3, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0xC4, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0xC5, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0xC6, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0xC7, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0xC8, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0xC9, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041A: 0xCA, # CYRILLIC CAPITAL LETTER KA
- 0x041B: 0xCB, # CYRILLIC CAPITAL LETTER EL
- 0x041C: 0xCC, # CYRILLIC CAPITAL LETTER EM
- 0x041D: 0xCD, # CYRILLIC CAPITAL LETTER EN
- 0x041E: 0xCE, # CYRILLIC CAPITAL LETTER O
- 0x041F: 0xCF, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0xD0, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0xD1, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0xD2, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0xD3, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0xD4, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0xD5, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0xD6, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0xD7, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0xD8, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0xD9, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042A: 0xDA, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042B: 0xDB, # CYRILLIC CAPITAL LETTER YERU
- 0x042C: 0xDC, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042D: 0xDD, # CYRILLIC CAPITAL LETTER E
- 0x042E: 0xDE, # CYRILLIC CAPITAL LETTER YU
- 0x042F: 0xDF, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0xE0, # CYRILLIC SMALL LETTER A
- 0x0431: 0xE1, # CYRILLIC SMALL LETTER BE
- 0x0432: 0xE2, # CYRILLIC SMALL LETTER VE
- 0x0433: 0xE3, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0xE4, # CYRILLIC SMALL LETTER DE
- 0x0435: 0xE5, # CYRILLIC SMALL LETTER IE
- 0x0436: 0xE6, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0xE7, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0xE8, # CYRILLIC SMALL LETTER I
- 0x0439: 0xE9, # CYRILLIC SMALL LETTER SHORT I
- 0x043A: 0xEA, # CYRILLIC SMALL LETTER KA
- 0x043B: 0xEB, # CYRILLIC SMALL LETTER EL
- 0x043C: 0xEC, # CYRILLIC SMALL LETTER EM
- 0x043D: 0xED, # CYRILLIC SMALL LETTER EN
- 0x043E: 0xEE, # CYRILLIC SMALL LETTER O
- 0x043F: 0xEF, # CYRILLIC SMALL LETTER PE
- 0x0440: 0xF0, # CYRILLIC SMALL LETTER ER
- 0x0441: 0xF1, # CYRILLIC SMALL LETTER ES
- 0x0442: 0xF2, # CYRILLIC SMALL LETTER TE
- 0x0443: 0xF3, # CYRILLIC SMALL LETTER U
- 0x0444: 0xF4, # CYRILLIC SMALL LETTER EF
- 0x0445: 0xF5, # CYRILLIC SMALL LETTER HA
- 0x0446: 0xF6, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0xF7, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0xF8, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0xF9, # CYRILLIC SMALL LETTER SHCHA
- 0x044A: 0xFA, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044B: 0xFB, # CYRILLIC SMALL LETTER YERU
- 0x044C: 0xFC, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044D: 0xFD, # CYRILLIC SMALL LETTER E
- 0x044E: 0xFE, # CYRILLIC SMALL LETTER YU
- 0x044F: 0xFF, # CYRILLIC SMALL LETTER YA
- 0x0451: 0xB8, # CYRILLIC SMALL LETTER IO
- 0x0452: 0x90, # CYRILLIC SMALL LETTER DJE
- 0x0453: 0x83, # CYRILLIC SMALL LETTER GJE
- 0x0454: 0xBA, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0455: 0xBE, # CYRILLIC SMALL LETTER DZE
- 0x0456: 0xB3, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0457: 0xBF, # CYRILLIC SMALL LETTER YI
- 0x0458: 0xBC, # CYRILLIC SMALL LETTER JE
- 0x0459: 0x9A, # CYRILLIC SMALL LETTER LJE
- 0x045A: 0x9C, # CYRILLIC SMALL LETTER NJE
- 0x045B: 0x9E, # CYRILLIC SMALL LETTER TSHE
- 0x045C: 0x9D, # CYRILLIC SMALL LETTER KJE
- 0x045E: 0xA2, # CYRILLIC SMALL LETTER SHORT U
- 0x045F: 0x9F, # CYRILLIC SMALL LETTER DZHE
- 0x0490: 0xA5, # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- 0x0491: 0xB4, # CYRILLIC SMALL LETTER GHE WITH UPTURN
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x88, # EURO SIGN
- 0x2116: 0xB9, # NUMERO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x0401: 0xA8, # CYRILLIC CAPITAL LETTER IO
+ 0x0402: 0x80, # CYRILLIC CAPITAL LETTER DJE
+ 0x0403: 0x81, # CYRILLIC CAPITAL LETTER GJE
+ 0x0404: 0xAA, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0405: 0xBD, # CYRILLIC CAPITAL LETTER DZE
+ 0x0406: 0xB2, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0407: 0xAF, # CYRILLIC CAPITAL LETTER YI
+ 0x0408: 0xA3, # CYRILLIC CAPITAL LETTER JE
+ 0x0409: 0x8A, # CYRILLIC CAPITAL LETTER LJE
+ 0x040A: 0x8C, # CYRILLIC CAPITAL LETTER NJE
+ 0x040B: 0x8E, # CYRILLIC CAPITAL LETTER TSHE
+ 0x040C: 0x8D, # CYRILLIC CAPITAL LETTER KJE
+ 0x040E: 0xA1, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x040F: 0x8F, # CYRILLIC CAPITAL LETTER DZHE
+ 0x0410: 0xC0, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0xC1, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0xC2, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0xC3, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0xC4, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0xC5, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0xC6, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0xC7, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0xC8, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0xC9, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041A: 0xCA, # CYRILLIC CAPITAL LETTER KA
+ 0x041B: 0xCB, # CYRILLIC CAPITAL LETTER EL
+ 0x041C: 0xCC, # CYRILLIC CAPITAL LETTER EM
+ 0x041D: 0xCD, # CYRILLIC CAPITAL LETTER EN
+ 0x041E: 0xCE, # CYRILLIC CAPITAL LETTER O
+ 0x041F: 0xCF, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0xD0, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0xD1, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0xD2, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0xD3, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0xD4, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0xD5, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0xD6, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0xD7, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0xD8, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0xD9, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042A: 0xDA, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042B: 0xDB, # CYRILLIC CAPITAL LETTER YERU
+ 0x042C: 0xDC, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042D: 0xDD, # CYRILLIC CAPITAL LETTER E
+ 0x042E: 0xDE, # CYRILLIC CAPITAL LETTER YU
+ 0x042F: 0xDF, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0xE0, # CYRILLIC SMALL LETTER A
+ 0x0431: 0xE1, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0xE2, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0xE3, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0xE4, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0xE5, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0xE6, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0xE7, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0xE8, # CYRILLIC SMALL LETTER I
+ 0x0439: 0xE9, # CYRILLIC SMALL LETTER SHORT I
+ 0x043A: 0xEA, # CYRILLIC SMALL LETTER KA
+ 0x043B: 0xEB, # CYRILLIC SMALL LETTER EL
+ 0x043C: 0xEC, # CYRILLIC SMALL LETTER EM
+ 0x043D: 0xED, # CYRILLIC SMALL LETTER EN
+ 0x043E: 0xEE, # CYRILLIC SMALL LETTER O
+ 0x043F: 0xEF, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0xF0, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0xF1, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0xF2, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0xF3, # CYRILLIC SMALL LETTER U
+ 0x0444: 0xF4, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0xF5, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0xF6, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0xF7, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0xF8, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0xF9, # CYRILLIC SMALL LETTER SHCHA
+ 0x044A: 0xFA, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044B: 0xFB, # CYRILLIC SMALL LETTER YERU
+ 0x044C: 0xFC, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044D: 0xFD, # CYRILLIC SMALL LETTER E
+ 0x044E: 0xFE, # CYRILLIC SMALL LETTER YU
+ 0x044F: 0xFF, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0xB8, # CYRILLIC SMALL LETTER IO
+ 0x0452: 0x90, # CYRILLIC SMALL LETTER DJE
+ 0x0453: 0x83, # CYRILLIC SMALL LETTER GJE
+ 0x0454: 0xBA, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0455: 0xBE, # CYRILLIC SMALL LETTER DZE
+ 0x0456: 0xB3, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0457: 0xBF, # CYRILLIC SMALL LETTER YI
+ 0x0458: 0xBC, # CYRILLIC SMALL LETTER JE
+ 0x0459: 0x9A, # CYRILLIC SMALL LETTER LJE
+ 0x045A: 0x9C, # CYRILLIC SMALL LETTER NJE
+ 0x045B: 0x9E, # CYRILLIC SMALL LETTER TSHE
+ 0x045C: 0x9D, # CYRILLIC SMALL LETTER KJE
+ 0x045E: 0xA2, # CYRILLIC SMALL LETTER SHORT U
+ 0x045F: 0x9F, # CYRILLIC SMALL LETTER DZHE
+ 0x0490: 0xA5, # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ 0x0491: 0xB4, # CYRILLIC SMALL LETTER GHE WITH UPTURN
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x88, # EURO SIGN
+ 0x2116: 0xB9, # NUMERO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1252.py b/Lib/encodings/cp1252.py
index 3d7f541..ea7561d 100644
--- a/Lib/encodings/cp1252.py
+++ b/Lib/encodings/cp1252.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,517 +32,516 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\u0160' # 0x8A -> LATIN CAPITAL LETTER S WITH CARON
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\u017d' # 0x8E -> LATIN CAPITAL LETTER Z WITH CARON
- u'\ufffe' # 0x8F -> UNDEFINED
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\u02dc' # 0x98 -> SMALL TILDE
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\u0161' # 0x9A -> LATIN SMALL LETTER S WITH CARON
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\u017e' # 0x9E -> LATIN SMALL LETTER Z WITH CARON
- u'\u0178' # 0x9F -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\u0160' # 0x8A -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\u017d' # 0x8E -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\ufffe' # 0x8F -> UNDEFINED
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\u02dc' # 0x98 -> SMALL TILDE
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\u0161' # 0x9A -> LATIN SMALL LETTER S WITH CARON
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\u017e' # 0x9E -> LATIN SMALL LETTER Z WITH CARON
+ u'\u0178' # 0x9F -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0xF0, # LATIN SMALL LETTER ETH
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0xFE, # LATIN SMALL LETTER THORN
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
- 0x0160: 0x8A, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0x9A, # LATIN SMALL LETTER S WITH CARON
- 0x0178: 0x9F, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x017D: 0x8E, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0x9E, # LATIN SMALL LETTER Z WITH CARON
- 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02DC: 0x98, # SMALL TILDE
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0xF0, # LATIN SMALL LETTER ETH
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0xFE, # LATIN SMALL LETTER THORN
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
+ 0x0160: 0x8A, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0x9A, # LATIN SMALL LETTER S WITH CARON
+ 0x0178: 0x9F, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x017D: 0x8E, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0x9E, # LATIN SMALL LETTER Z WITH CARON
+ 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02DC: 0x98, # SMALL TILDE
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1253.py b/Lib/encodings/cp1253.py
index d0f6847..5feefb3 100644
--- a/Lib/encodings/cp1253.py
+++ b/Lib/encodings/cp1253.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,505 +32,504 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\ufffe' # 0x88 -> UNDEFINED
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\ufffe' # 0x8A -> UNDEFINED
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\ufffe' # 0x8C -> UNDEFINED
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\ufffe' # 0x8E -> UNDEFINED
- u'\ufffe' # 0x8F -> UNDEFINED
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\ufffe' # 0x98 -> UNDEFINED
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\ufffe' # 0x9A -> UNDEFINED
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\ufffe' # 0x9C -> UNDEFINED
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\ufffe' # 0x9E -> UNDEFINED
- u'\ufffe' # 0x9F -> UNDEFINED
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0385' # 0xA1 -> GREEK DIALYTIKA TONOS
- u'\u0386' # 0xA2 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\ufffe' # 0xAA -> UNDEFINED
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\u2015' # 0xAF -> HORIZONTAL BAR
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\u0384' # 0xB4 -> GREEK TONOS
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\u0388' # 0xB8 -> GREEK CAPITAL LETTER EPSILON WITH TONOS
- u'\u0389' # 0xB9 -> GREEK CAPITAL LETTER ETA WITH TONOS
- u'\u038a' # 0xBA -> GREEK CAPITAL LETTER IOTA WITH TONOS
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u038c' # 0xBC -> GREEK CAPITAL LETTER OMICRON WITH TONOS
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\u038e' # 0xBE -> GREEK CAPITAL LETTER UPSILON WITH TONOS
- u'\u038f' # 0xBF -> GREEK CAPITAL LETTER OMEGA WITH TONOS
- u'\u0390' # 0xC0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- u'\u0391' # 0xC1 -> GREEK CAPITAL LETTER ALPHA
- u'\u0392' # 0xC2 -> GREEK CAPITAL LETTER BETA
- u'\u0393' # 0xC3 -> GREEK CAPITAL LETTER GAMMA
- u'\u0394' # 0xC4 -> GREEK CAPITAL LETTER DELTA
- u'\u0395' # 0xC5 -> GREEK CAPITAL LETTER EPSILON
- u'\u0396' # 0xC6 -> GREEK CAPITAL LETTER ZETA
- u'\u0397' # 0xC7 -> GREEK CAPITAL LETTER ETA
- u'\u0398' # 0xC8 -> GREEK CAPITAL LETTER THETA
- u'\u0399' # 0xC9 -> GREEK CAPITAL LETTER IOTA
- u'\u039a' # 0xCA -> GREEK CAPITAL LETTER KAPPA
- u'\u039b' # 0xCB -> GREEK CAPITAL LETTER LAMDA
- u'\u039c' # 0xCC -> GREEK CAPITAL LETTER MU
- u'\u039d' # 0xCD -> GREEK CAPITAL LETTER NU
- u'\u039e' # 0xCE -> GREEK CAPITAL LETTER XI
- u'\u039f' # 0xCF -> GREEK CAPITAL LETTER OMICRON
- u'\u03a0' # 0xD0 -> GREEK CAPITAL LETTER PI
- u'\u03a1' # 0xD1 -> GREEK CAPITAL LETTER RHO
- u'\ufffe' # 0xD2 -> UNDEFINED
- u'\u03a3' # 0xD3 -> GREEK CAPITAL LETTER SIGMA
- u'\u03a4' # 0xD4 -> GREEK CAPITAL LETTER TAU
- u'\u03a5' # 0xD5 -> GREEK CAPITAL LETTER UPSILON
- u'\u03a6' # 0xD6 -> GREEK CAPITAL LETTER PHI
- u'\u03a7' # 0xD7 -> GREEK CAPITAL LETTER CHI
- u'\u03a8' # 0xD8 -> GREEK CAPITAL LETTER PSI
- u'\u03a9' # 0xD9 -> GREEK CAPITAL LETTER OMEGA
- u'\u03aa' # 0xDA -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- u'\u03ab' # 0xDB -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- u'\u03ac' # 0xDC -> GREEK SMALL LETTER ALPHA WITH TONOS
- u'\u03ad' # 0xDD -> GREEK SMALL LETTER EPSILON WITH TONOS
- u'\u03ae' # 0xDE -> GREEK SMALL LETTER ETA WITH TONOS
- u'\u03af' # 0xDF -> GREEK SMALL LETTER IOTA WITH TONOS
- u'\u03b0' # 0xE0 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- u'\u03b1' # 0xE1 -> GREEK SMALL LETTER ALPHA
- u'\u03b2' # 0xE2 -> GREEK SMALL LETTER BETA
- u'\u03b3' # 0xE3 -> GREEK SMALL LETTER GAMMA
- u'\u03b4' # 0xE4 -> GREEK SMALL LETTER DELTA
- u'\u03b5' # 0xE5 -> GREEK SMALL LETTER EPSILON
- u'\u03b6' # 0xE6 -> GREEK SMALL LETTER ZETA
- u'\u03b7' # 0xE7 -> GREEK SMALL LETTER ETA
- u'\u03b8' # 0xE8 -> GREEK SMALL LETTER THETA
- u'\u03b9' # 0xE9 -> GREEK SMALL LETTER IOTA
- u'\u03ba' # 0xEA -> GREEK SMALL LETTER KAPPA
- u'\u03bb' # 0xEB -> GREEK SMALL LETTER LAMDA
- u'\u03bc' # 0xEC -> GREEK SMALL LETTER MU
- u'\u03bd' # 0xED -> GREEK SMALL LETTER NU
- u'\u03be' # 0xEE -> GREEK SMALL LETTER XI
- u'\u03bf' # 0xEF -> GREEK SMALL LETTER OMICRON
- u'\u03c0' # 0xF0 -> GREEK SMALL LETTER PI
- u'\u03c1' # 0xF1 -> GREEK SMALL LETTER RHO
- u'\u03c2' # 0xF2 -> GREEK SMALL LETTER FINAL SIGMA
- u'\u03c3' # 0xF3 -> GREEK SMALL LETTER SIGMA
- u'\u03c4' # 0xF4 -> GREEK SMALL LETTER TAU
- u'\u03c5' # 0xF5 -> GREEK SMALL LETTER UPSILON
- u'\u03c6' # 0xF6 -> GREEK SMALL LETTER PHI
- u'\u03c7' # 0xF7 -> GREEK SMALL LETTER CHI
- u'\u03c8' # 0xF8 -> GREEK SMALL LETTER PSI
- u'\u03c9' # 0xF9 -> GREEK SMALL LETTER OMEGA
- u'\u03ca' # 0xFA -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
- u'\u03cb' # 0xFB -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- u'\u03cc' # 0xFC -> GREEK SMALL LETTER OMICRON WITH TONOS
- u'\u03cd' # 0xFD -> GREEK SMALL LETTER UPSILON WITH TONOS
- u'\u03ce' # 0xFE -> GREEK SMALL LETTER OMEGA WITH TONOS
- u'\ufffe' # 0xFF -> UNDEFINED
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\ufffe' # 0x88 -> UNDEFINED
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\ufffe' # 0x8A -> UNDEFINED
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\ufffe' # 0x8C -> UNDEFINED
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\ufffe' # 0x8E -> UNDEFINED
+ u'\ufffe' # 0x8F -> UNDEFINED
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\ufffe' # 0x98 -> UNDEFINED
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\ufffe' # 0x9A -> UNDEFINED
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\ufffe' # 0x9C -> UNDEFINED
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\ufffe' # 0x9E -> UNDEFINED
+ u'\ufffe' # 0x9F -> UNDEFINED
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0385' # 0xA1 -> GREEK DIALYTIKA TONOS
+ u'\u0386' # 0xA2 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\ufffe' # 0xAA -> UNDEFINED
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\u2015' # 0xAF -> HORIZONTAL BAR
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\u0384' # 0xB4 -> GREEK TONOS
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\u0388' # 0xB8 -> GREEK CAPITAL LETTER EPSILON WITH TONOS
+ u'\u0389' # 0xB9 -> GREEK CAPITAL LETTER ETA WITH TONOS
+ u'\u038a' # 0xBA -> GREEK CAPITAL LETTER IOTA WITH TONOS
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u038c' # 0xBC -> GREEK CAPITAL LETTER OMICRON WITH TONOS
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\u038e' # 0xBE -> GREEK CAPITAL LETTER UPSILON WITH TONOS
+ u'\u038f' # 0xBF -> GREEK CAPITAL LETTER OMEGA WITH TONOS
+ u'\u0390' # 0xC0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ u'\u0391' # 0xC1 -> GREEK CAPITAL LETTER ALPHA
+ u'\u0392' # 0xC2 -> GREEK CAPITAL LETTER BETA
+ u'\u0393' # 0xC3 -> GREEK CAPITAL LETTER GAMMA
+ u'\u0394' # 0xC4 -> GREEK CAPITAL LETTER DELTA
+ u'\u0395' # 0xC5 -> GREEK CAPITAL LETTER EPSILON
+ u'\u0396' # 0xC6 -> GREEK CAPITAL LETTER ZETA
+ u'\u0397' # 0xC7 -> GREEK CAPITAL LETTER ETA
+ u'\u0398' # 0xC8 -> GREEK CAPITAL LETTER THETA
+ u'\u0399' # 0xC9 -> GREEK CAPITAL LETTER IOTA
+ u'\u039a' # 0xCA -> GREEK CAPITAL LETTER KAPPA
+ u'\u039b' # 0xCB -> GREEK CAPITAL LETTER LAMDA
+ u'\u039c' # 0xCC -> GREEK CAPITAL LETTER MU
+ u'\u039d' # 0xCD -> GREEK CAPITAL LETTER NU
+ u'\u039e' # 0xCE -> GREEK CAPITAL LETTER XI
+ u'\u039f' # 0xCF -> GREEK CAPITAL LETTER OMICRON
+ u'\u03a0' # 0xD0 -> GREEK CAPITAL LETTER PI
+ u'\u03a1' # 0xD1 -> GREEK CAPITAL LETTER RHO
+ u'\ufffe' # 0xD2 -> UNDEFINED
+ u'\u03a3' # 0xD3 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03a4' # 0xD4 -> GREEK CAPITAL LETTER TAU
+ u'\u03a5' # 0xD5 -> GREEK CAPITAL LETTER UPSILON
+ u'\u03a6' # 0xD6 -> GREEK CAPITAL LETTER PHI
+ u'\u03a7' # 0xD7 -> GREEK CAPITAL LETTER CHI
+ u'\u03a8' # 0xD8 -> GREEK CAPITAL LETTER PSI
+ u'\u03a9' # 0xD9 -> GREEK CAPITAL LETTER OMEGA
+ u'\u03aa' # 0xDA -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ u'\u03ab' # 0xDB -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ u'\u03ac' # 0xDC -> GREEK SMALL LETTER ALPHA WITH TONOS
+ u'\u03ad' # 0xDD -> GREEK SMALL LETTER EPSILON WITH TONOS
+ u'\u03ae' # 0xDE -> GREEK SMALL LETTER ETA WITH TONOS
+ u'\u03af' # 0xDF -> GREEK SMALL LETTER IOTA WITH TONOS
+ u'\u03b0' # 0xE0 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ u'\u03b1' # 0xE1 -> GREEK SMALL LETTER ALPHA
+ u'\u03b2' # 0xE2 -> GREEK SMALL LETTER BETA
+ u'\u03b3' # 0xE3 -> GREEK SMALL LETTER GAMMA
+ u'\u03b4' # 0xE4 -> GREEK SMALL LETTER DELTA
+ u'\u03b5' # 0xE5 -> GREEK SMALL LETTER EPSILON
+ u'\u03b6' # 0xE6 -> GREEK SMALL LETTER ZETA
+ u'\u03b7' # 0xE7 -> GREEK SMALL LETTER ETA
+ u'\u03b8' # 0xE8 -> GREEK SMALL LETTER THETA
+ u'\u03b9' # 0xE9 -> GREEK SMALL LETTER IOTA
+ u'\u03ba' # 0xEA -> GREEK SMALL LETTER KAPPA
+ u'\u03bb' # 0xEB -> GREEK SMALL LETTER LAMDA
+ u'\u03bc' # 0xEC -> GREEK SMALL LETTER MU
+ u'\u03bd' # 0xED -> GREEK SMALL LETTER NU
+ u'\u03be' # 0xEE -> GREEK SMALL LETTER XI
+ u'\u03bf' # 0xEF -> GREEK SMALL LETTER OMICRON
+ u'\u03c0' # 0xF0 -> GREEK SMALL LETTER PI
+ u'\u03c1' # 0xF1 -> GREEK SMALL LETTER RHO
+ u'\u03c2' # 0xF2 -> GREEK SMALL LETTER FINAL SIGMA
+ u'\u03c3' # 0xF3 -> GREEK SMALL LETTER SIGMA
+ u'\u03c4' # 0xF4 -> GREEK SMALL LETTER TAU
+ u'\u03c5' # 0xF5 -> GREEK SMALL LETTER UPSILON
+ u'\u03c6' # 0xF6 -> GREEK SMALL LETTER PHI
+ u'\u03c7' # 0xF7 -> GREEK SMALL LETTER CHI
+ u'\u03c8' # 0xF8 -> GREEK SMALL LETTER PSI
+ u'\u03c9' # 0xF9 -> GREEK SMALL LETTER OMEGA
+ u'\u03ca' # 0xFA -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ u'\u03cb' # 0xFB -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ u'\u03cc' # 0xFC -> GREEK SMALL LETTER OMICRON WITH TONOS
+ u'\u03cd' # 0xFD -> GREEK SMALL LETTER UPSILON WITH TONOS
+ u'\u03ce' # 0xFE -> GREEK SMALL LETTER OMEGA WITH TONOS
+ u'\ufffe' # 0xFF -> UNDEFINED
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
- 0x0384: 0xB4, # GREEK TONOS
- 0x0385: 0xA1, # GREEK DIALYTIKA TONOS
- 0x0386: 0xA2, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0388: 0xB8, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x0389: 0xB9, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x038A: 0xBA, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x038C: 0xBC, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x038E: 0xBE, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x038F: 0xBF, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0390: 0xC0, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x0391: 0xC1, # GREEK CAPITAL LETTER ALPHA
- 0x0392: 0xC2, # GREEK CAPITAL LETTER BETA
- 0x0393: 0xC3, # GREEK CAPITAL LETTER GAMMA
- 0x0394: 0xC4, # GREEK CAPITAL LETTER DELTA
- 0x0395: 0xC5, # GREEK CAPITAL LETTER EPSILON
- 0x0396: 0xC6, # GREEK CAPITAL LETTER ZETA
- 0x0397: 0xC7, # GREEK CAPITAL LETTER ETA
- 0x0398: 0xC8, # GREEK CAPITAL LETTER THETA
- 0x0399: 0xC9, # GREEK CAPITAL LETTER IOTA
- 0x039A: 0xCA, # GREEK CAPITAL LETTER KAPPA
- 0x039B: 0xCB, # GREEK CAPITAL LETTER LAMDA
- 0x039C: 0xCC, # GREEK CAPITAL LETTER MU
- 0x039D: 0xCD, # GREEK CAPITAL LETTER NU
- 0x039E: 0xCE, # GREEK CAPITAL LETTER XI
- 0x039F: 0xCF, # GREEK CAPITAL LETTER OMICRON
- 0x03A0: 0xD0, # GREEK CAPITAL LETTER PI
- 0x03A1: 0xD1, # GREEK CAPITAL LETTER RHO
- 0x03A3: 0xD3, # GREEK CAPITAL LETTER SIGMA
- 0x03A4: 0xD4, # GREEK CAPITAL LETTER TAU
- 0x03A5: 0xD5, # GREEK CAPITAL LETTER UPSILON
- 0x03A6: 0xD6, # GREEK CAPITAL LETTER PHI
- 0x03A7: 0xD7, # GREEK CAPITAL LETTER CHI
- 0x03A8: 0xD8, # GREEK CAPITAL LETTER PSI
- 0x03A9: 0xD9, # GREEK CAPITAL LETTER OMEGA
- 0x03AA: 0xDA, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x03AB: 0xDB, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x03AC: 0xDC, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x03AD: 0xDD, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x03AE: 0xDE, # GREEK SMALL LETTER ETA WITH TONOS
- 0x03AF: 0xDF, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x03B0: 0xE0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- 0x03B1: 0xE1, # GREEK SMALL LETTER ALPHA
- 0x03B2: 0xE2, # GREEK SMALL LETTER BETA
- 0x03B3: 0xE3, # GREEK SMALL LETTER GAMMA
- 0x03B4: 0xE4, # GREEK SMALL LETTER DELTA
- 0x03B5: 0xE5, # GREEK SMALL LETTER EPSILON
- 0x03B6: 0xE6, # GREEK SMALL LETTER ZETA
- 0x03B7: 0xE7, # GREEK SMALL LETTER ETA
- 0x03B8: 0xE8, # GREEK SMALL LETTER THETA
- 0x03B9: 0xE9, # GREEK SMALL LETTER IOTA
- 0x03BA: 0xEA, # GREEK SMALL LETTER KAPPA
- 0x03BB: 0xEB, # GREEK SMALL LETTER LAMDA
- 0x03BC: 0xEC, # GREEK SMALL LETTER MU
- 0x03BD: 0xED, # GREEK SMALL LETTER NU
- 0x03BE: 0xEE, # GREEK SMALL LETTER XI
- 0x03BF: 0xEF, # GREEK SMALL LETTER OMICRON
- 0x03C0: 0xF0, # GREEK SMALL LETTER PI
- 0x03C1: 0xF1, # GREEK SMALL LETTER RHO
- 0x03C2: 0xF2, # GREEK SMALL LETTER FINAL SIGMA
- 0x03C3: 0xF3, # GREEK SMALL LETTER SIGMA
- 0x03C4: 0xF4, # GREEK SMALL LETTER TAU
- 0x03C5: 0xF5, # GREEK SMALL LETTER UPSILON
- 0x03C6: 0xF6, # GREEK SMALL LETTER PHI
- 0x03C7: 0xF7, # GREEK SMALL LETTER CHI
- 0x03C8: 0xF8, # GREEK SMALL LETTER PSI
- 0x03C9: 0xF9, # GREEK SMALL LETTER OMEGA
- 0x03CA: 0xFA, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x03CB: 0xFB, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x03CC: 0xFC, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x03CD: 0xFD, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x03CE: 0xFE, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2015: 0xAF, # HORIZONTAL BAR
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
+ 0x0384: 0xB4, # GREEK TONOS
+ 0x0385: 0xA1, # GREEK DIALYTIKA TONOS
+ 0x0386: 0xA2, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0388: 0xB8, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x0389: 0xB9, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x038A: 0xBA, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x038C: 0xBC, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x038E: 0xBE, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x038F: 0xBF, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0390: 0xC0, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ 0x0391: 0xC1, # GREEK CAPITAL LETTER ALPHA
+ 0x0392: 0xC2, # GREEK CAPITAL LETTER BETA
+ 0x0393: 0xC3, # GREEK CAPITAL LETTER GAMMA
+ 0x0394: 0xC4, # GREEK CAPITAL LETTER DELTA
+ 0x0395: 0xC5, # GREEK CAPITAL LETTER EPSILON
+ 0x0396: 0xC6, # GREEK CAPITAL LETTER ZETA
+ 0x0397: 0xC7, # GREEK CAPITAL LETTER ETA
+ 0x0398: 0xC8, # GREEK CAPITAL LETTER THETA
+ 0x0399: 0xC9, # GREEK CAPITAL LETTER IOTA
+ 0x039A: 0xCA, # GREEK CAPITAL LETTER KAPPA
+ 0x039B: 0xCB, # GREEK CAPITAL LETTER LAMDA
+ 0x039C: 0xCC, # GREEK CAPITAL LETTER MU
+ 0x039D: 0xCD, # GREEK CAPITAL LETTER NU
+ 0x039E: 0xCE, # GREEK CAPITAL LETTER XI
+ 0x039F: 0xCF, # GREEK CAPITAL LETTER OMICRON
+ 0x03A0: 0xD0, # GREEK CAPITAL LETTER PI
+ 0x03A1: 0xD1, # GREEK CAPITAL LETTER RHO
+ 0x03A3: 0xD3, # GREEK CAPITAL LETTER SIGMA
+ 0x03A4: 0xD4, # GREEK CAPITAL LETTER TAU
+ 0x03A5: 0xD5, # GREEK CAPITAL LETTER UPSILON
+ 0x03A6: 0xD6, # GREEK CAPITAL LETTER PHI
+ 0x03A7: 0xD7, # GREEK CAPITAL LETTER CHI
+ 0x03A8: 0xD8, # GREEK CAPITAL LETTER PSI
+ 0x03A9: 0xD9, # GREEK CAPITAL LETTER OMEGA
+ 0x03AA: 0xDA, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x03AB: 0xDB, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x03AC: 0xDC, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x03AD: 0xDD, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x03AE: 0xDE, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x03AF: 0xDF, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x03B0: 0xE0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x03B1: 0xE1, # GREEK SMALL LETTER ALPHA
+ 0x03B2: 0xE2, # GREEK SMALL LETTER BETA
+ 0x03B3: 0xE3, # GREEK SMALL LETTER GAMMA
+ 0x03B4: 0xE4, # GREEK SMALL LETTER DELTA
+ 0x03B5: 0xE5, # GREEK SMALL LETTER EPSILON
+ 0x03B6: 0xE6, # GREEK SMALL LETTER ZETA
+ 0x03B7: 0xE7, # GREEK SMALL LETTER ETA
+ 0x03B8: 0xE8, # GREEK SMALL LETTER THETA
+ 0x03B9: 0xE9, # GREEK SMALL LETTER IOTA
+ 0x03BA: 0xEA, # GREEK SMALL LETTER KAPPA
+ 0x03BB: 0xEB, # GREEK SMALL LETTER LAMDA
+ 0x03BC: 0xEC, # GREEK SMALL LETTER MU
+ 0x03BD: 0xED, # GREEK SMALL LETTER NU
+ 0x03BE: 0xEE, # GREEK SMALL LETTER XI
+ 0x03BF: 0xEF, # GREEK SMALL LETTER OMICRON
+ 0x03C0: 0xF0, # GREEK SMALL LETTER PI
+ 0x03C1: 0xF1, # GREEK SMALL LETTER RHO
+ 0x03C2: 0xF2, # GREEK SMALL LETTER FINAL SIGMA
+ 0x03C3: 0xF3, # GREEK SMALL LETTER SIGMA
+ 0x03C4: 0xF4, # GREEK SMALL LETTER TAU
+ 0x03C5: 0xF5, # GREEK SMALL LETTER UPSILON
+ 0x03C6: 0xF6, # GREEK SMALL LETTER PHI
+ 0x03C7: 0xF7, # GREEK SMALL LETTER CHI
+ 0x03C8: 0xF8, # GREEK SMALL LETTER PSI
+ 0x03C9: 0xF9, # GREEK SMALL LETTER OMEGA
+ 0x03CA: 0xFA, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x03CB: 0xFB, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x03CC: 0xFC, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x03CD: 0xFD, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x03CE: 0xFE, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2015: 0xAF, # HORIZONTAL BAR
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1254.py b/Lib/encodings/cp1254.py
index e6242cb..6769e1b 100644
--- a/Lib/encodings/cp1254.py
+++ b/Lib/encodings/cp1254.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,515 +32,514 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\u0160' # 0x8A -> LATIN CAPITAL LETTER S WITH CARON
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\ufffe' # 0x8E -> UNDEFINED
- u'\ufffe' # 0x8F -> UNDEFINED
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\u02dc' # 0x98 -> SMALL TILDE
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\u0161' # 0x9A -> LATIN SMALL LETTER S WITH CARON
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\ufffe' # 0x9E -> UNDEFINED
- u'\u0178' # 0x9F -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u011e' # 0xD0 -> LATIN CAPITAL LETTER G WITH BREVE
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u0130' # 0xDD -> LATIN CAPITAL LETTER I WITH DOT ABOVE
- u'\u015e' # 0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u011f' # 0xF0 -> LATIN SMALL LETTER G WITH BREVE
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u0131' # 0xFD -> LATIN SMALL LETTER DOTLESS I
- u'\u015f' # 0xFE -> LATIN SMALL LETTER S WITH CEDILLA
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\u0160' # 0x8A -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\ufffe' # 0x8E -> UNDEFINED
+ u'\ufffe' # 0x8F -> UNDEFINED
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\u02dc' # 0x98 -> SMALL TILDE
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\u0161' # 0x9A -> LATIN SMALL LETTER S WITH CARON
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\ufffe' # 0x9E -> UNDEFINED
+ u'\u0178' # 0x9F -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u011e' # 0xD0 -> LATIN CAPITAL LETTER G WITH BREVE
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u0130' # 0xDD -> LATIN CAPITAL LETTER I WITH DOT ABOVE
+ u'\u015e' # 0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u011f' # 0xF0 -> LATIN SMALL LETTER G WITH BREVE
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u0131' # 0xFD -> LATIN SMALL LETTER DOTLESS I
+ u'\u015f' # 0xFE -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x011E: 0xD0, # LATIN CAPITAL LETTER G WITH BREVE
- 0x011F: 0xF0, # LATIN SMALL LETTER G WITH BREVE
- 0x0130: 0xDD, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0131: 0xFD, # LATIN SMALL LETTER DOTLESS I
- 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
- 0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0xFE, # LATIN SMALL LETTER S WITH CEDILLA
- 0x0160: 0x8A, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0x9A, # LATIN SMALL LETTER S WITH CARON
- 0x0178: 0x9F, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02DC: 0x98, # SMALL TILDE
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x011E: 0xD0, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x011F: 0xF0, # LATIN SMALL LETTER G WITH BREVE
+ 0x0130: 0xDD, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0131: 0xFD, # LATIN SMALL LETTER DOTLESS I
+ 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
+ 0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0xFE, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0160: 0x8A, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0x9A, # LATIN SMALL LETTER S WITH CARON
+ 0x0178: 0x9F, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02DC: 0x98, # SMALL TILDE
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1255.py b/Lib/encodings/cp1255.py
index 65f021a..b994f9d 100644
--- a/Lib/encodings/cp1255.py
+++ b/Lib/encodings/cp1255.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,499 +32,498 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\ufffe' # 0x8A -> UNDEFINED
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\ufffe' # 0x8C -> UNDEFINED
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\ufffe' # 0x8E -> UNDEFINED
- u'\ufffe' # 0x8F -> UNDEFINED
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\u02dc' # 0x98 -> SMALL TILDE
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\ufffe' # 0x9A -> UNDEFINED
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\ufffe' # 0x9C -> UNDEFINED
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\ufffe' # 0x9E -> UNDEFINED
- u'\ufffe' # 0x9F -> UNDEFINED
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\u20aa' # 0xA4 -> NEW SHEQEL SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xd7' # 0xAA -> MULTIPLICATION SIGN
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xf7' # 0xBA -> DIVISION SIGN
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\u05b0' # 0xC0 -> HEBREW POINT SHEVA
- u'\u05b1' # 0xC1 -> HEBREW POINT HATAF SEGOL
- u'\u05b2' # 0xC2 -> HEBREW POINT HATAF PATAH
- u'\u05b3' # 0xC3 -> HEBREW POINT HATAF QAMATS
- u'\u05b4' # 0xC4 -> HEBREW POINT HIRIQ
- u'\u05b5' # 0xC5 -> HEBREW POINT TSERE
- u'\u05b6' # 0xC6 -> HEBREW POINT SEGOL
- u'\u05b7' # 0xC7 -> HEBREW POINT PATAH
- u'\u05b8' # 0xC8 -> HEBREW POINT QAMATS
- u'\u05b9' # 0xC9 -> HEBREW POINT HOLAM
- u'\ufffe' # 0xCA -> UNDEFINED
- u'\u05bb' # 0xCB -> HEBREW POINT QUBUTS
- u'\u05bc' # 0xCC -> HEBREW POINT DAGESH OR MAPIQ
- u'\u05bd' # 0xCD -> HEBREW POINT METEG
- u'\u05be' # 0xCE -> HEBREW PUNCTUATION MAQAF
- u'\u05bf' # 0xCF -> HEBREW POINT RAFE
- u'\u05c0' # 0xD0 -> HEBREW PUNCTUATION PASEQ
- u'\u05c1' # 0xD1 -> HEBREW POINT SHIN DOT
- u'\u05c2' # 0xD2 -> HEBREW POINT SIN DOT
- u'\u05c3' # 0xD3 -> HEBREW PUNCTUATION SOF PASUQ
- u'\u05f0' # 0xD4 -> HEBREW LIGATURE YIDDISH DOUBLE VAV
- u'\u05f1' # 0xD5 -> HEBREW LIGATURE YIDDISH VAV YOD
- u'\u05f2' # 0xD6 -> HEBREW LIGATURE YIDDISH DOUBLE YOD
- u'\u05f3' # 0xD7 -> HEBREW PUNCTUATION GERESH
- u'\u05f4' # 0xD8 -> HEBREW PUNCTUATION GERSHAYIM
- u'\ufffe' # 0xD9 -> UNDEFINED
- u'\ufffe' # 0xDA -> UNDEFINED
- u'\ufffe' # 0xDB -> UNDEFINED
- u'\ufffe' # 0xDC -> UNDEFINED
- u'\ufffe' # 0xDD -> UNDEFINED
- u'\ufffe' # 0xDE -> UNDEFINED
- u'\ufffe' # 0xDF -> UNDEFINED
- u'\u05d0' # 0xE0 -> HEBREW LETTER ALEF
- u'\u05d1' # 0xE1 -> HEBREW LETTER BET
- u'\u05d2' # 0xE2 -> HEBREW LETTER GIMEL
- u'\u05d3' # 0xE3 -> HEBREW LETTER DALET
- u'\u05d4' # 0xE4 -> HEBREW LETTER HE
- u'\u05d5' # 0xE5 -> HEBREW LETTER VAV
- u'\u05d6' # 0xE6 -> HEBREW LETTER ZAYIN
- u'\u05d7' # 0xE7 -> HEBREW LETTER HET
- u'\u05d8' # 0xE8 -> HEBREW LETTER TET
- u'\u05d9' # 0xE9 -> HEBREW LETTER YOD
- u'\u05da' # 0xEA -> HEBREW LETTER FINAL KAF
- u'\u05db' # 0xEB -> HEBREW LETTER KAF
- u'\u05dc' # 0xEC -> HEBREW LETTER LAMED
- u'\u05dd' # 0xED -> HEBREW LETTER FINAL MEM
- u'\u05de' # 0xEE -> HEBREW LETTER MEM
- u'\u05df' # 0xEF -> HEBREW LETTER FINAL NUN
- u'\u05e0' # 0xF0 -> HEBREW LETTER NUN
- u'\u05e1' # 0xF1 -> HEBREW LETTER SAMEKH
- u'\u05e2' # 0xF2 -> HEBREW LETTER AYIN
- u'\u05e3' # 0xF3 -> HEBREW LETTER FINAL PE
- u'\u05e4' # 0xF4 -> HEBREW LETTER PE
- u'\u05e5' # 0xF5 -> HEBREW LETTER FINAL TSADI
- u'\u05e6' # 0xF6 -> HEBREW LETTER TSADI
- u'\u05e7' # 0xF7 -> HEBREW LETTER QOF
- u'\u05e8' # 0xF8 -> HEBREW LETTER RESH
- u'\u05e9' # 0xF9 -> HEBREW LETTER SHIN
- u'\u05ea' # 0xFA -> HEBREW LETTER TAV
- u'\ufffe' # 0xFB -> UNDEFINED
- u'\ufffe' # 0xFC -> UNDEFINED
- u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK
- u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK
- u'\ufffe' # 0xFF -> UNDEFINED
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\ufffe' # 0x8A -> UNDEFINED
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\ufffe' # 0x8C -> UNDEFINED
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\ufffe' # 0x8E -> UNDEFINED
+ u'\ufffe' # 0x8F -> UNDEFINED
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\u02dc' # 0x98 -> SMALL TILDE
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\ufffe' # 0x9A -> UNDEFINED
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\ufffe' # 0x9C -> UNDEFINED
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\ufffe' # 0x9E -> UNDEFINED
+ u'\ufffe' # 0x9F -> UNDEFINED
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\u20aa' # 0xA4 -> NEW SHEQEL SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xd7' # 0xAA -> MULTIPLICATION SIGN
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xf7' # 0xBA -> DIVISION SIGN
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\u05b0' # 0xC0 -> HEBREW POINT SHEVA
+ u'\u05b1' # 0xC1 -> HEBREW POINT HATAF SEGOL
+ u'\u05b2' # 0xC2 -> HEBREW POINT HATAF PATAH
+ u'\u05b3' # 0xC3 -> HEBREW POINT HATAF QAMATS
+ u'\u05b4' # 0xC4 -> HEBREW POINT HIRIQ
+ u'\u05b5' # 0xC5 -> HEBREW POINT TSERE
+ u'\u05b6' # 0xC6 -> HEBREW POINT SEGOL
+ u'\u05b7' # 0xC7 -> HEBREW POINT PATAH
+ u'\u05b8' # 0xC8 -> HEBREW POINT QAMATS
+ u'\u05b9' # 0xC9 -> HEBREW POINT HOLAM
+ u'\ufffe' # 0xCA -> UNDEFINED
+ u'\u05bb' # 0xCB -> HEBREW POINT QUBUTS
+ u'\u05bc' # 0xCC -> HEBREW POINT DAGESH OR MAPIQ
+ u'\u05bd' # 0xCD -> HEBREW POINT METEG
+ u'\u05be' # 0xCE -> HEBREW PUNCTUATION MAQAF
+ u'\u05bf' # 0xCF -> HEBREW POINT RAFE
+ u'\u05c0' # 0xD0 -> HEBREW PUNCTUATION PASEQ
+ u'\u05c1' # 0xD1 -> HEBREW POINT SHIN DOT
+ u'\u05c2' # 0xD2 -> HEBREW POINT SIN DOT
+ u'\u05c3' # 0xD3 -> HEBREW PUNCTUATION SOF PASUQ
+ u'\u05f0' # 0xD4 -> HEBREW LIGATURE YIDDISH DOUBLE VAV
+ u'\u05f1' # 0xD5 -> HEBREW LIGATURE YIDDISH VAV YOD
+ u'\u05f2' # 0xD6 -> HEBREW LIGATURE YIDDISH DOUBLE YOD
+ u'\u05f3' # 0xD7 -> HEBREW PUNCTUATION GERESH
+ u'\u05f4' # 0xD8 -> HEBREW PUNCTUATION GERSHAYIM
+ u'\ufffe' # 0xD9 -> UNDEFINED
+ u'\ufffe' # 0xDA -> UNDEFINED
+ u'\ufffe' # 0xDB -> UNDEFINED
+ u'\ufffe' # 0xDC -> UNDEFINED
+ u'\ufffe' # 0xDD -> UNDEFINED
+ u'\ufffe' # 0xDE -> UNDEFINED
+ u'\ufffe' # 0xDF -> UNDEFINED
+ u'\u05d0' # 0xE0 -> HEBREW LETTER ALEF
+ u'\u05d1' # 0xE1 -> HEBREW LETTER BET
+ u'\u05d2' # 0xE2 -> HEBREW LETTER GIMEL
+ u'\u05d3' # 0xE3 -> HEBREW LETTER DALET
+ u'\u05d4' # 0xE4 -> HEBREW LETTER HE
+ u'\u05d5' # 0xE5 -> HEBREW LETTER VAV
+ u'\u05d6' # 0xE6 -> HEBREW LETTER ZAYIN
+ u'\u05d7' # 0xE7 -> HEBREW LETTER HET
+ u'\u05d8' # 0xE8 -> HEBREW LETTER TET
+ u'\u05d9' # 0xE9 -> HEBREW LETTER YOD
+ u'\u05da' # 0xEA -> HEBREW LETTER FINAL KAF
+ u'\u05db' # 0xEB -> HEBREW LETTER KAF
+ u'\u05dc' # 0xEC -> HEBREW LETTER LAMED
+ u'\u05dd' # 0xED -> HEBREW LETTER FINAL MEM
+ u'\u05de' # 0xEE -> HEBREW LETTER MEM
+ u'\u05df' # 0xEF -> HEBREW LETTER FINAL NUN
+ u'\u05e0' # 0xF0 -> HEBREW LETTER NUN
+ u'\u05e1' # 0xF1 -> HEBREW LETTER SAMEKH
+ u'\u05e2' # 0xF2 -> HEBREW LETTER AYIN
+ u'\u05e3' # 0xF3 -> HEBREW LETTER FINAL PE
+ u'\u05e4' # 0xF4 -> HEBREW LETTER PE
+ u'\u05e5' # 0xF5 -> HEBREW LETTER FINAL TSADI
+ u'\u05e6' # 0xF6 -> HEBREW LETTER TSADI
+ u'\u05e7' # 0xF7 -> HEBREW LETTER QOF
+ u'\u05e8' # 0xF8 -> HEBREW LETTER RESH
+ u'\u05e9' # 0xF9 -> HEBREW LETTER SHIN
+ u'\u05ea' # 0xFA -> HEBREW LETTER TAV
+ u'\ufffe' # 0xFB -> UNDEFINED
+ u'\ufffe' # 0xFC -> UNDEFINED
+ u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK
+ u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK
+ u'\ufffe' # 0xFF -> UNDEFINED
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00D7: 0xAA, # MULTIPLICATION SIGN
- 0x00F7: 0xBA, # DIVISION SIGN
- 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02DC: 0x98, # SMALL TILDE
- 0x05B0: 0xC0, # HEBREW POINT SHEVA
- 0x05B1: 0xC1, # HEBREW POINT HATAF SEGOL
- 0x05B2: 0xC2, # HEBREW POINT HATAF PATAH
- 0x05B3: 0xC3, # HEBREW POINT HATAF QAMATS
- 0x05B4: 0xC4, # HEBREW POINT HIRIQ
- 0x05B5: 0xC5, # HEBREW POINT TSERE
- 0x05B6: 0xC6, # HEBREW POINT SEGOL
- 0x05B7: 0xC7, # HEBREW POINT PATAH
- 0x05B8: 0xC8, # HEBREW POINT QAMATS
- 0x05B9: 0xC9, # HEBREW POINT HOLAM
- 0x05BB: 0xCB, # HEBREW POINT QUBUTS
- 0x05BC: 0xCC, # HEBREW POINT DAGESH OR MAPIQ
- 0x05BD: 0xCD, # HEBREW POINT METEG
- 0x05BE: 0xCE, # HEBREW PUNCTUATION MAQAF
- 0x05BF: 0xCF, # HEBREW POINT RAFE
- 0x05C0: 0xD0, # HEBREW PUNCTUATION PASEQ
- 0x05C1: 0xD1, # HEBREW POINT SHIN DOT
- 0x05C2: 0xD2, # HEBREW POINT SIN DOT
- 0x05C3: 0xD3, # HEBREW PUNCTUATION SOF PASUQ
- 0x05D0: 0xE0, # HEBREW LETTER ALEF
- 0x05D1: 0xE1, # HEBREW LETTER BET
- 0x05D2: 0xE2, # HEBREW LETTER GIMEL
- 0x05D3: 0xE3, # HEBREW LETTER DALET
- 0x05D4: 0xE4, # HEBREW LETTER HE
- 0x05D5: 0xE5, # HEBREW LETTER VAV
- 0x05D6: 0xE6, # HEBREW LETTER ZAYIN
- 0x05D7: 0xE7, # HEBREW LETTER HET
- 0x05D8: 0xE8, # HEBREW LETTER TET
- 0x05D9: 0xE9, # HEBREW LETTER YOD
- 0x05DA: 0xEA, # HEBREW LETTER FINAL KAF
- 0x05DB: 0xEB, # HEBREW LETTER KAF
- 0x05DC: 0xEC, # HEBREW LETTER LAMED
- 0x05DD: 0xED, # HEBREW LETTER FINAL MEM
- 0x05DE: 0xEE, # HEBREW LETTER MEM
- 0x05DF: 0xEF, # HEBREW LETTER FINAL NUN
- 0x05E0: 0xF0, # HEBREW LETTER NUN
- 0x05E1: 0xF1, # HEBREW LETTER SAMEKH
- 0x05E2: 0xF2, # HEBREW LETTER AYIN
- 0x05E3: 0xF3, # HEBREW LETTER FINAL PE
- 0x05E4: 0xF4, # HEBREW LETTER PE
- 0x05E5: 0xF5, # HEBREW LETTER FINAL TSADI
- 0x05E6: 0xF6, # HEBREW LETTER TSADI
- 0x05E7: 0xF7, # HEBREW LETTER QOF
- 0x05E8: 0xF8, # HEBREW LETTER RESH
- 0x05E9: 0xF9, # HEBREW LETTER SHIN
- 0x05EA: 0xFA, # HEBREW LETTER TAV
- 0x05F0: 0xD4, # HEBREW LIGATURE YIDDISH DOUBLE VAV
- 0x05F1: 0xD5, # HEBREW LIGATURE YIDDISH VAV YOD
- 0x05F2: 0xD6, # HEBREW LIGATURE YIDDISH DOUBLE YOD
- 0x05F3: 0xD7, # HEBREW PUNCTUATION GERESH
- 0x05F4: 0xD8, # HEBREW PUNCTUATION GERSHAYIM
- 0x200E: 0xFD, # LEFT-TO-RIGHT MARK
- 0x200F: 0xFE, # RIGHT-TO-LEFT MARK
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AA: 0xA4, # NEW SHEQEL SIGN
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00D7: 0xAA, # MULTIPLICATION SIGN
+ 0x00F7: 0xBA, # DIVISION SIGN
+ 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02DC: 0x98, # SMALL TILDE
+ 0x05B0: 0xC0, # HEBREW POINT SHEVA
+ 0x05B1: 0xC1, # HEBREW POINT HATAF SEGOL
+ 0x05B2: 0xC2, # HEBREW POINT HATAF PATAH
+ 0x05B3: 0xC3, # HEBREW POINT HATAF QAMATS
+ 0x05B4: 0xC4, # HEBREW POINT HIRIQ
+ 0x05B5: 0xC5, # HEBREW POINT TSERE
+ 0x05B6: 0xC6, # HEBREW POINT SEGOL
+ 0x05B7: 0xC7, # HEBREW POINT PATAH
+ 0x05B8: 0xC8, # HEBREW POINT QAMATS
+ 0x05B9: 0xC9, # HEBREW POINT HOLAM
+ 0x05BB: 0xCB, # HEBREW POINT QUBUTS
+ 0x05BC: 0xCC, # HEBREW POINT DAGESH OR MAPIQ
+ 0x05BD: 0xCD, # HEBREW POINT METEG
+ 0x05BE: 0xCE, # HEBREW PUNCTUATION MAQAF
+ 0x05BF: 0xCF, # HEBREW POINT RAFE
+ 0x05C0: 0xD0, # HEBREW PUNCTUATION PASEQ
+ 0x05C1: 0xD1, # HEBREW POINT SHIN DOT
+ 0x05C2: 0xD2, # HEBREW POINT SIN DOT
+ 0x05C3: 0xD3, # HEBREW PUNCTUATION SOF PASUQ
+ 0x05D0: 0xE0, # HEBREW LETTER ALEF
+ 0x05D1: 0xE1, # HEBREW LETTER BET
+ 0x05D2: 0xE2, # HEBREW LETTER GIMEL
+ 0x05D3: 0xE3, # HEBREW LETTER DALET
+ 0x05D4: 0xE4, # HEBREW LETTER HE
+ 0x05D5: 0xE5, # HEBREW LETTER VAV
+ 0x05D6: 0xE6, # HEBREW LETTER ZAYIN
+ 0x05D7: 0xE7, # HEBREW LETTER HET
+ 0x05D8: 0xE8, # HEBREW LETTER TET
+ 0x05D9: 0xE9, # HEBREW LETTER YOD
+ 0x05DA: 0xEA, # HEBREW LETTER FINAL KAF
+ 0x05DB: 0xEB, # HEBREW LETTER KAF
+ 0x05DC: 0xEC, # HEBREW LETTER LAMED
+ 0x05DD: 0xED, # HEBREW LETTER FINAL MEM
+ 0x05DE: 0xEE, # HEBREW LETTER MEM
+ 0x05DF: 0xEF, # HEBREW LETTER FINAL NUN
+ 0x05E0: 0xF0, # HEBREW LETTER NUN
+ 0x05E1: 0xF1, # HEBREW LETTER SAMEKH
+ 0x05E2: 0xF2, # HEBREW LETTER AYIN
+ 0x05E3: 0xF3, # HEBREW LETTER FINAL PE
+ 0x05E4: 0xF4, # HEBREW LETTER PE
+ 0x05E5: 0xF5, # HEBREW LETTER FINAL TSADI
+ 0x05E6: 0xF6, # HEBREW LETTER TSADI
+ 0x05E7: 0xF7, # HEBREW LETTER QOF
+ 0x05E8: 0xF8, # HEBREW LETTER RESH
+ 0x05E9: 0xF9, # HEBREW LETTER SHIN
+ 0x05EA: 0xFA, # HEBREW LETTER TAV
+ 0x05F0: 0xD4, # HEBREW LIGATURE YIDDISH DOUBLE VAV
+ 0x05F1: 0xD5, # HEBREW LIGATURE YIDDISH VAV YOD
+ 0x05F2: 0xD6, # HEBREW LIGATURE YIDDISH DOUBLE YOD
+ 0x05F3: 0xD7, # HEBREW PUNCTUATION GERESH
+ 0x05F4: 0xD8, # HEBREW PUNCTUATION GERSHAYIM
+ 0x200E: 0xFD, # LEFT-TO-RIGHT MARK
+ 0x200F: 0xFE, # RIGHT-TO-LEFT MARK
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AA: 0xA4, # NEW SHEQEL SIGN
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1256.py b/Lib/encodings/cp1256.py
index 6d58fbe..5da425e 100644
--- a/Lib/encodings/cp1256.py
+++ b/Lib/encodings/cp1256.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\u067e' # 0x81 -> ARABIC LETTER PEH
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\u0679' # 0x8A -> ARABIC LETTER TTEH
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
- u'\u0686' # 0x8D -> ARABIC LETTER TCHEH
- u'\u0698' # 0x8E -> ARABIC LETTER JEH
- u'\u0688' # 0x8F -> ARABIC LETTER DDAL
- u'\u06af' # 0x90 -> ARABIC LETTER GAF
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\u06a9' # 0x98 -> ARABIC LETTER KEHEH
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\u0691' # 0x9A -> ARABIC LETTER RREH
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
- u'\u200c' # 0x9D -> ZERO WIDTH NON-JOINER
- u'\u200d' # 0x9E -> ZERO WIDTH JOINER
- u'\u06ba' # 0x9F -> ARABIC LETTER NOON GHUNNA
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u060c' # 0xA1 -> ARABIC COMMA
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u06be' # 0xAA -> ARABIC LETTER HEH DOACHASHMEE
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\u061b' # 0xBA -> ARABIC SEMICOLON
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\u061f' # 0xBF -> ARABIC QUESTION MARK
- u'\u06c1' # 0xC0 -> ARABIC LETTER HEH GOAL
- u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
- u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
- u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
- u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
- u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
- u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
- u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
- u'\u0628' # 0xC8 -> ARABIC LETTER BEH
- u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
- u'\u062a' # 0xCA -> ARABIC LETTER TEH
- u'\u062b' # 0xCB -> ARABIC LETTER THEH
- u'\u062c' # 0xCC -> ARABIC LETTER JEEM
- u'\u062d' # 0xCD -> ARABIC LETTER HAH
- u'\u062e' # 0xCE -> ARABIC LETTER KHAH
- u'\u062f' # 0xCF -> ARABIC LETTER DAL
- u'\u0630' # 0xD0 -> ARABIC LETTER THAL
- u'\u0631' # 0xD1 -> ARABIC LETTER REH
- u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
- u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
- u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
- u'\u0635' # 0xD5 -> ARABIC LETTER SAD
- u'\u0636' # 0xD6 -> ARABIC LETTER DAD
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\u0637' # 0xD8 -> ARABIC LETTER TAH
- u'\u0638' # 0xD9 -> ARABIC LETTER ZAH
- u'\u0639' # 0xDA -> ARABIC LETTER AIN
- u'\u063a' # 0xDB -> ARABIC LETTER GHAIN
- u'\u0640' # 0xDC -> ARABIC TATWEEL
- u'\u0641' # 0xDD -> ARABIC LETTER FEH
- u'\u0642' # 0xDE -> ARABIC LETTER QAF
- u'\u0643' # 0xDF -> ARABIC LETTER KAF
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\u0644' # 0xE1 -> ARABIC LETTER LAM
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\u0645' # 0xE3 -> ARABIC LETTER MEEM
- u'\u0646' # 0xE4 -> ARABIC LETTER NOON
- u'\u0647' # 0xE5 -> ARABIC LETTER HEH
- u'\u0648' # 0xE6 -> ARABIC LETTER WAW
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u0649' # 0xEC -> ARABIC LETTER ALEF MAKSURA
- u'\u064a' # 0xED -> ARABIC LETTER YEH
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u064b' # 0xF0 -> ARABIC FATHATAN
- u'\u064c' # 0xF1 -> ARABIC DAMMATAN
- u'\u064d' # 0xF2 -> ARABIC KASRATAN
- u'\u064e' # 0xF3 -> ARABIC FATHA
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\u064f' # 0xF5 -> ARABIC DAMMA
- u'\u0650' # 0xF6 -> ARABIC KASRA
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\u0651' # 0xF8 -> ARABIC SHADDA
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\u0652' # 0xFA -> ARABIC SUKUN
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK
- u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK
- u'\u06d2' # 0xFF -> ARABIC LETTER YEH BARREE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\u067e' # 0x81 -> ARABIC LETTER PEH
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\u0679' # 0x8A -> ARABIC LETTER TTEH
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
+ u'\u0686' # 0x8D -> ARABIC LETTER TCHEH
+ u'\u0698' # 0x8E -> ARABIC LETTER JEH
+ u'\u0688' # 0x8F -> ARABIC LETTER DDAL
+ u'\u06af' # 0x90 -> ARABIC LETTER GAF
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\u06a9' # 0x98 -> ARABIC LETTER KEHEH
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\u0691' # 0x9A -> ARABIC LETTER RREH
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
+ u'\u200c' # 0x9D -> ZERO WIDTH NON-JOINER
+ u'\u200d' # 0x9E -> ZERO WIDTH JOINER
+ u'\u06ba' # 0x9F -> ARABIC LETTER NOON GHUNNA
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u060c' # 0xA1 -> ARABIC COMMA
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u06be' # 0xAA -> ARABIC LETTER HEH DOACHASHMEE
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\u061b' # 0xBA -> ARABIC SEMICOLON
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\u061f' # 0xBF -> ARABIC QUESTION MARK
+ u'\u06c1' # 0xC0 -> ARABIC LETTER HEH GOAL
+ u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
+ u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
+ u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
+ u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
+ u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
+ u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
+ u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
+ u'\u0628' # 0xC8 -> ARABIC LETTER BEH
+ u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
+ u'\u062a' # 0xCA -> ARABIC LETTER TEH
+ u'\u062b' # 0xCB -> ARABIC LETTER THEH
+ u'\u062c' # 0xCC -> ARABIC LETTER JEEM
+ u'\u062d' # 0xCD -> ARABIC LETTER HAH
+ u'\u062e' # 0xCE -> ARABIC LETTER KHAH
+ u'\u062f' # 0xCF -> ARABIC LETTER DAL
+ u'\u0630' # 0xD0 -> ARABIC LETTER THAL
+ u'\u0631' # 0xD1 -> ARABIC LETTER REH
+ u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
+ u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
+ u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
+ u'\u0635' # 0xD5 -> ARABIC LETTER SAD
+ u'\u0636' # 0xD6 -> ARABIC LETTER DAD
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\u0637' # 0xD8 -> ARABIC LETTER TAH
+ u'\u0638' # 0xD9 -> ARABIC LETTER ZAH
+ u'\u0639' # 0xDA -> ARABIC LETTER AIN
+ u'\u063a' # 0xDB -> ARABIC LETTER GHAIN
+ u'\u0640' # 0xDC -> ARABIC TATWEEL
+ u'\u0641' # 0xDD -> ARABIC LETTER FEH
+ u'\u0642' # 0xDE -> ARABIC LETTER QAF
+ u'\u0643' # 0xDF -> ARABIC LETTER KAF
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\u0644' # 0xE1 -> ARABIC LETTER LAM
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\u0645' # 0xE3 -> ARABIC LETTER MEEM
+ u'\u0646' # 0xE4 -> ARABIC LETTER NOON
+ u'\u0647' # 0xE5 -> ARABIC LETTER HEH
+ u'\u0648' # 0xE6 -> ARABIC LETTER WAW
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u0649' # 0xEC -> ARABIC LETTER ALEF MAKSURA
+ u'\u064a' # 0xED -> ARABIC LETTER YEH
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u064b' # 0xF0 -> ARABIC FATHATAN
+ u'\u064c' # 0xF1 -> ARABIC DAMMATAN
+ u'\u064d' # 0xF2 -> ARABIC KASRATAN
+ u'\u064e' # 0xF3 -> ARABIC FATHA
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\u064f' # 0xF5 -> ARABIC DAMMA
+ u'\u0650' # 0xF6 -> ARABIC KASRA
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\u0651' # 0xF8 -> ARABIC SHADDA
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\u0652' # 0xFA -> ARABIC SUKUN
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK
+ u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK
+ u'\u06d2' # 0xFF -> ARABIC LETTER YEH BARREE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
- 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x060C: 0xA1, # ARABIC COMMA
- 0x061B: 0xBA, # ARABIC SEMICOLON
- 0x061F: 0xBF, # ARABIC QUESTION MARK
- 0x0621: 0xC1, # ARABIC LETTER HAMZA
- 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
- 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
- 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
- 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
- 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
- 0x0627: 0xC7, # ARABIC LETTER ALEF
- 0x0628: 0xC8, # ARABIC LETTER BEH
- 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
- 0x062A: 0xCA, # ARABIC LETTER TEH
- 0x062B: 0xCB, # ARABIC LETTER THEH
- 0x062C: 0xCC, # ARABIC LETTER JEEM
- 0x062D: 0xCD, # ARABIC LETTER HAH
- 0x062E: 0xCE, # ARABIC LETTER KHAH
- 0x062F: 0xCF, # ARABIC LETTER DAL
- 0x0630: 0xD0, # ARABIC LETTER THAL
- 0x0631: 0xD1, # ARABIC LETTER REH
- 0x0632: 0xD2, # ARABIC LETTER ZAIN
- 0x0633: 0xD3, # ARABIC LETTER SEEN
- 0x0634: 0xD4, # ARABIC LETTER SHEEN
- 0x0635: 0xD5, # ARABIC LETTER SAD
- 0x0636: 0xD6, # ARABIC LETTER DAD
- 0x0637: 0xD8, # ARABIC LETTER TAH
- 0x0638: 0xD9, # ARABIC LETTER ZAH
- 0x0639: 0xDA, # ARABIC LETTER AIN
- 0x063A: 0xDB, # ARABIC LETTER GHAIN
- 0x0640: 0xDC, # ARABIC TATWEEL
- 0x0641: 0xDD, # ARABIC LETTER FEH
- 0x0642: 0xDE, # ARABIC LETTER QAF
- 0x0643: 0xDF, # ARABIC LETTER KAF
- 0x0644: 0xE1, # ARABIC LETTER LAM
- 0x0645: 0xE3, # ARABIC LETTER MEEM
- 0x0646: 0xE4, # ARABIC LETTER NOON
- 0x0647: 0xE5, # ARABIC LETTER HEH
- 0x0648: 0xE6, # ARABIC LETTER WAW
- 0x0649: 0xEC, # ARABIC LETTER ALEF MAKSURA
- 0x064A: 0xED, # ARABIC LETTER YEH
- 0x064B: 0xF0, # ARABIC FATHATAN
- 0x064C: 0xF1, # ARABIC DAMMATAN
- 0x064D: 0xF2, # ARABIC KASRATAN
- 0x064E: 0xF3, # ARABIC FATHA
- 0x064F: 0xF5, # ARABIC DAMMA
- 0x0650: 0xF6, # ARABIC KASRA
- 0x0651: 0xF8, # ARABIC SHADDA
- 0x0652: 0xFA, # ARABIC SUKUN
- 0x0679: 0x8A, # ARABIC LETTER TTEH
- 0x067E: 0x81, # ARABIC LETTER PEH
- 0x0686: 0x8D, # ARABIC LETTER TCHEH
- 0x0688: 0x8F, # ARABIC LETTER DDAL
- 0x0691: 0x9A, # ARABIC LETTER RREH
- 0x0698: 0x8E, # ARABIC LETTER JEH
- 0x06A9: 0x98, # ARABIC LETTER KEHEH
- 0x06AF: 0x90, # ARABIC LETTER GAF
- 0x06BA: 0x9F, # ARABIC LETTER NOON GHUNNA
- 0x06BE: 0xAA, # ARABIC LETTER HEH DOACHASHMEE
- 0x06C1: 0xC0, # ARABIC LETTER HEH GOAL
- 0x06D2: 0xFF, # ARABIC LETTER YEH BARREE
- 0x200C: 0x9D, # ZERO WIDTH NON-JOINER
- 0x200D: 0x9E, # ZERO WIDTH JOINER
- 0x200E: 0xFD, # LEFT-TO-RIGHT MARK
- 0x200F: 0xFE, # RIGHT-TO-LEFT MARK
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
+ 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x060C: 0xA1, # ARABIC COMMA
+ 0x061B: 0xBA, # ARABIC SEMICOLON
+ 0x061F: 0xBF, # ARABIC QUESTION MARK
+ 0x0621: 0xC1, # ARABIC LETTER HAMZA
+ 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
+ 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
+ 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
+ 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
+ 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
+ 0x0627: 0xC7, # ARABIC LETTER ALEF
+ 0x0628: 0xC8, # ARABIC LETTER BEH
+ 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
+ 0x062A: 0xCA, # ARABIC LETTER TEH
+ 0x062B: 0xCB, # ARABIC LETTER THEH
+ 0x062C: 0xCC, # ARABIC LETTER JEEM
+ 0x062D: 0xCD, # ARABIC LETTER HAH
+ 0x062E: 0xCE, # ARABIC LETTER KHAH
+ 0x062F: 0xCF, # ARABIC LETTER DAL
+ 0x0630: 0xD0, # ARABIC LETTER THAL
+ 0x0631: 0xD1, # ARABIC LETTER REH
+ 0x0632: 0xD2, # ARABIC LETTER ZAIN
+ 0x0633: 0xD3, # ARABIC LETTER SEEN
+ 0x0634: 0xD4, # ARABIC LETTER SHEEN
+ 0x0635: 0xD5, # ARABIC LETTER SAD
+ 0x0636: 0xD6, # ARABIC LETTER DAD
+ 0x0637: 0xD8, # ARABIC LETTER TAH
+ 0x0638: 0xD9, # ARABIC LETTER ZAH
+ 0x0639: 0xDA, # ARABIC LETTER AIN
+ 0x063A: 0xDB, # ARABIC LETTER GHAIN
+ 0x0640: 0xDC, # ARABIC TATWEEL
+ 0x0641: 0xDD, # ARABIC LETTER FEH
+ 0x0642: 0xDE, # ARABIC LETTER QAF
+ 0x0643: 0xDF, # ARABIC LETTER KAF
+ 0x0644: 0xE1, # ARABIC LETTER LAM
+ 0x0645: 0xE3, # ARABIC LETTER MEEM
+ 0x0646: 0xE4, # ARABIC LETTER NOON
+ 0x0647: 0xE5, # ARABIC LETTER HEH
+ 0x0648: 0xE6, # ARABIC LETTER WAW
+ 0x0649: 0xEC, # ARABIC LETTER ALEF MAKSURA
+ 0x064A: 0xED, # ARABIC LETTER YEH
+ 0x064B: 0xF0, # ARABIC FATHATAN
+ 0x064C: 0xF1, # ARABIC DAMMATAN
+ 0x064D: 0xF2, # ARABIC KASRATAN
+ 0x064E: 0xF3, # ARABIC FATHA
+ 0x064F: 0xF5, # ARABIC DAMMA
+ 0x0650: 0xF6, # ARABIC KASRA
+ 0x0651: 0xF8, # ARABIC SHADDA
+ 0x0652: 0xFA, # ARABIC SUKUN
+ 0x0679: 0x8A, # ARABIC LETTER TTEH
+ 0x067E: 0x81, # ARABIC LETTER PEH
+ 0x0686: 0x8D, # ARABIC LETTER TCHEH
+ 0x0688: 0x8F, # ARABIC LETTER DDAL
+ 0x0691: 0x9A, # ARABIC LETTER RREH
+ 0x0698: 0x8E, # ARABIC LETTER JEH
+ 0x06A9: 0x98, # ARABIC LETTER KEHEH
+ 0x06AF: 0x90, # ARABIC LETTER GAF
+ 0x06BA: 0x9F, # ARABIC LETTER NOON GHUNNA
+ 0x06BE: 0xAA, # ARABIC LETTER HEH DOACHASHMEE
+ 0x06C1: 0xC0, # ARABIC LETTER HEH GOAL
+ 0x06D2: 0xFF, # ARABIC LETTER YEH BARREE
+ 0x200C: 0x9D, # ZERO WIDTH NON-JOINER
+ 0x200D: 0x9E, # ZERO WIDTH JOINER
+ 0x200E: 0xFD, # LEFT-TO-RIGHT MARK
+ 0x200F: 0xFE, # RIGHT-TO-LEFT MARK
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1257.py b/Lib/encodings/cp1257.py
index dee8fd4..237a531 100644
--- a/Lib/encodings/cp1257.py
+++ b/Lib/encodings/cp1257.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,510 +32,509 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\ufffe' # 0x83 -> UNDEFINED
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\ufffe' # 0x88 -> UNDEFINED
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\ufffe' # 0x8A -> UNDEFINED
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\ufffe' # 0x8C -> UNDEFINED
- u'\xa8' # 0x8D -> DIAERESIS
- u'\u02c7' # 0x8E -> CARON
- u'\xb8' # 0x8F -> CEDILLA
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\ufffe' # 0x98 -> UNDEFINED
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\ufffe' # 0x9A -> UNDEFINED
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\ufffe' # 0x9C -> UNDEFINED
- u'\xaf' # 0x9D -> MACRON
- u'\u02db' # 0x9E -> OGONEK
- u'\ufffe' # 0x9F -> UNDEFINED
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\ufffe' # 0xA1 -> UNDEFINED
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\ufffe' # 0xA5 -> UNDEFINED
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xd8' # 0xA8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u0156' # 0xAA -> LATIN CAPITAL LETTER R WITH CEDILLA
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xc6' # 0xAF -> LATIN CAPITAL LETTER AE
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xf8' # 0xB8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\u0157' # 0xBA -> LATIN SMALL LETTER R WITH CEDILLA
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xe6' # 0xBF -> LATIN SMALL LETTER AE
- u'\u0104' # 0xC0 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u012e' # 0xC1 -> LATIN CAPITAL LETTER I WITH OGONEK
- u'\u0100' # 0xC2 -> LATIN CAPITAL LETTER A WITH MACRON
- u'\u0106' # 0xC3 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\u0118' # 0xC6 -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\u0112' # 0xC7 -> LATIN CAPITAL LETTER E WITH MACRON
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0179' # 0xCA -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\u0116' # 0xCB -> LATIN CAPITAL LETTER E WITH DOT ABOVE
- u'\u0122' # 0xCC -> LATIN CAPITAL LETTER G WITH CEDILLA
- u'\u0136' # 0xCD -> LATIN CAPITAL LETTER K WITH CEDILLA
- u'\u012a' # 0xCE -> LATIN CAPITAL LETTER I WITH MACRON
- u'\u013b' # 0xCF -> LATIN CAPITAL LETTER L WITH CEDILLA
- u'\u0160' # 0xD0 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\u0145' # 0xD2 -> LATIN CAPITAL LETTER N WITH CEDILLA
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\u014c' # 0xD4 -> LATIN CAPITAL LETTER O WITH MACRON
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\u0172' # 0xD8 -> LATIN CAPITAL LETTER U WITH OGONEK
- u'\u0141' # 0xD9 -> LATIN CAPITAL LETTER L WITH STROKE
- u'\u015a' # 0xDA -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u016a' # 0xDB -> LATIN CAPITAL LETTER U WITH MACRON
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u017b' # 0xDD -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\u017d' # 0xDE -> LATIN CAPITAL LETTER Z WITH CARON
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\u0105' # 0xE0 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u012f' # 0xE1 -> LATIN SMALL LETTER I WITH OGONEK
- u'\u0101' # 0xE2 -> LATIN SMALL LETTER A WITH MACRON
- u'\u0107' # 0xE3 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\u0119' # 0xE6 -> LATIN SMALL LETTER E WITH OGONEK
- u'\u0113' # 0xE7 -> LATIN SMALL LETTER E WITH MACRON
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u017a' # 0xEA -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u0117' # 0xEB -> LATIN SMALL LETTER E WITH DOT ABOVE
- u'\u0123' # 0xEC -> LATIN SMALL LETTER G WITH CEDILLA
- u'\u0137' # 0xED -> LATIN SMALL LETTER K WITH CEDILLA
- u'\u012b' # 0xEE -> LATIN SMALL LETTER I WITH MACRON
- u'\u013c' # 0xEF -> LATIN SMALL LETTER L WITH CEDILLA
- u'\u0161' # 0xF0 -> LATIN SMALL LETTER S WITH CARON
- u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0146' # 0xF2 -> LATIN SMALL LETTER N WITH CEDILLA
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\u014d' # 0xF4 -> LATIN SMALL LETTER O WITH MACRON
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\u0173' # 0xF8 -> LATIN SMALL LETTER U WITH OGONEK
- u'\u0142' # 0xF9 -> LATIN SMALL LETTER L WITH STROKE
- u'\u015b' # 0xFA -> LATIN SMALL LETTER S WITH ACUTE
- u'\u016b' # 0xFB -> LATIN SMALL LETTER U WITH MACRON
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u017c' # 0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u017e' # 0xFE -> LATIN SMALL LETTER Z WITH CARON
- u'\u02d9' # 0xFF -> DOT ABOVE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\ufffe' # 0x83 -> UNDEFINED
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\ufffe' # 0x88 -> UNDEFINED
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\ufffe' # 0x8A -> UNDEFINED
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\ufffe' # 0x8C -> UNDEFINED
+ u'\xa8' # 0x8D -> DIAERESIS
+ u'\u02c7' # 0x8E -> CARON
+ u'\xb8' # 0x8F -> CEDILLA
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\ufffe' # 0x98 -> UNDEFINED
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\ufffe' # 0x9A -> UNDEFINED
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\ufffe' # 0x9C -> UNDEFINED
+ u'\xaf' # 0x9D -> MACRON
+ u'\u02db' # 0x9E -> OGONEK
+ u'\ufffe' # 0x9F -> UNDEFINED
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\ufffe' # 0xA1 -> UNDEFINED
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\ufffe' # 0xA5 -> UNDEFINED
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xd8' # 0xA8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u0156' # 0xAA -> LATIN CAPITAL LETTER R WITH CEDILLA
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xc6' # 0xAF -> LATIN CAPITAL LETTER AE
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xf8' # 0xB8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\u0157' # 0xBA -> LATIN SMALL LETTER R WITH CEDILLA
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xe6' # 0xBF -> LATIN SMALL LETTER AE
+ u'\u0104' # 0xC0 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u012e' # 0xC1 -> LATIN CAPITAL LETTER I WITH OGONEK
+ u'\u0100' # 0xC2 -> LATIN CAPITAL LETTER A WITH MACRON
+ u'\u0106' # 0xC3 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\u0118' # 0xC6 -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\u0112' # 0xC7 -> LATIN CAPITAL LETTER E WITH MACRON
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0179' # 0xCA -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\u0116' # 0xCB -> LATIN CAPITAL LETTER E WITH DOT ABOVE
+ u'\u0122' # 0xCC -> LATIN CAPITAL LETTER G WITH CEDILLA
+ u'\u0136' # 0xCD -> LATIN CAPITAL LETTER K WITH CEDILLA
+ u'\u012a' # 0xCE -> LATIN CAPITAL LETTER I WITH MACRON
+ u'\u013b' # 0xCF -> LATIN CAPITAL LETTER L WITH CEDILLA
+ u'\u0160' # 0xD0 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\u0145' # 0xD2 -> LATIN CAPITAL LETTER N WITH CEDILLA
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\u014c' # 0xD4 -> LATIN CAPITAL LETTER O WITH MACRON
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\u0172' # 0xD8 -> LATIN CAPITAL LETTER U WITH OGONEK
+ u'\u0141' # 0xD9 -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\u015a' # 0xDA -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u016a' # 0xDB -> LATIN CAPITAL LETTER U WITH MACRON
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u017b' # 0xDD -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\u017d' # 0xDE -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\u0105' # 0xE0 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u012f' # 0xE1 -> LATIN SMALL LETTER I WITH OGONEK
+ u'\u0101' # 0xE2 -> LATIN SMALL LETTER A WITH MACRON
+ u'\u0107' # 0xE3 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\u0119' # 0xE6 -> LATIN SMALL LETTER E WITH OGONEK
+ u'\u0113' # 0xE7 -> LATIN SMALL LETTER E WITH MACRON
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u017a' # 0xEA -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u0117' # 0xEB -> LATIN SMALL LETTER E WITH DOT ABOVE
+ u'\u0123' # 0xEC -> LATIN SMALL LETTER G WITH CEDILLA
+ u'\u0137' # 0xED -> LATIN SMALL LETTER K WITH CEDILLA
+ u'\u012b' # 0xEE -> LATIN SMALL LETTER I WITH MACRON
+ u'\u013c' # 0xEF -> LATIN SMALL LETTER L WITH CEDILLA
+ u'\u0161' # 0xF0 -> LATIN SMALL LETTER S WITH CARON
+ u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0146' # 0xF2 -> LATIN SMALL LETTER N WITH CEDILLA
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\u014d' # 0xF4 -> LATIN SMALL LETTER O WITH MACRON
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\u0173' # 0xF8 -> LATIN SMALL LETTER U WITH OGONEK
+ u'\u0142' # 0xF9 -> LATIN SMALL LETTER L WITH STROKE
+ u'\u015b' # 0xFA -> LATIN SMALL LETTER S WITH ACUTE
+ u'\u016b' # 0xFB -> LATIN SMALL LETTER U WITH MACRON
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u017c' # 0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u017e' # 0xFE -> LATIN SMALL LETTER Z WITH CARON
+ u'\u02d9' # 0xFF -> DOT ABOVE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0x8D, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0x9D, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0x8F, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xAF, # LATIN CAPITAL LETTER AE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xA8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xBF, # LATIN SMALL LETTER AE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xB8, # LATIN SMALL LETTER O WITH STROKE
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0100: 0xC2, # LATIN CAPITAL LETTER A WITH MACRON
- 0x0101: 0xE2, # LATIN SMALL LETTER A WITH MACRON
- 0x0104: 0xC0, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xE0, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0xC3, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0xE3, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x0112: 0xC7, # LATIN CAPITAL LETTER E WITH MACRON
- 0x0113: 0xE7, # LATIN SMALL LETTER E WITH MACRON
- 0x0116: 0xCB, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x0117: 0xEB, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x0118: 0xC6, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xE6, # LATIN SMALL LETTER E WITH OGONEK
- 0x0122: 0xCC, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0123: 0xEC, # LATIN SMALL LETTER G WITH CEDILLA
- 0x012A: 0xCE, # LATIN CAPITAL LETTER I WITH MACRON
- 0x012B: 0xEE, # LATIN SMALL LETTER I WITH MACRON
- 0x012E: 0xC1, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x012F: 0xE1, # LATIN SMALL LETTER I WITH OGONEK
- 0x0136: 0xCD, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x0137: 0xED, # LATIN SMALL LETTER K WITH CEDILLA
- 0x013B: 0xCF, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x013C: 0xEF, # LATIN SMALL LETTER L WITH CEDILLA
- 0x0141: 0xD9, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0xF9, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
- 0x0145: 0xD2, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x0146: 0xF2, # LATIN SMALL LETTER N WITH CEDILLA
- 0x014C: 0xD4, # LATIN CAPITAL LETTER O WITH MACRON
- 0x014D: 0xF4, # LATIN SMALL LETTER O WITH MACRON
- 0x0156: 0xAA, # LATIN CAPITAL LETTER R WITH CEDILLA
- 0x0157: 0xBA, # LATIN SMALL LETTER R WITH CEDILLA
- 0x015A: 0xDA, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015B: 0xFA, # LATIN SMALL LETTER S WITH ACUTE
- 0x0160: 0xD0, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xF0, # LATIN SMALL LETTER S WITH CARON
- 0x016A: 0xDB, # LATIN CAPITAL LETTER U WITH MACRON
- 0x016B: 0xFB, # LATIN SMALL LETTER U WITH MACRON
- 0x0172: 0xD8, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x0173: 0xF8, # LATIN SMALL LETTER U WITH OGONEK
- 0x0179: 0xCA, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017A: 0xEA, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017B: 0xDD, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xFD, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017D: 0xDE, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xFE, # LATIN SMALL LETTER Z WITH CARON
- 0x02C7: 0x8E, # CARON
- 0x02D9: 0xFF, # DOT ABOVE
- 0x02DB: 0x9E, # OGONEK
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0x8D, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0x9D, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0x8F, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xAF, # LATIN CAPITAL LETTER AE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xA8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xBF, # LATIN SMALL LETTER AE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xB8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0100: 0xC2, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x0101: 0xE2, # LATIN SMALL LETTER A WITH MACRON
+ 0x0104: 0xC0, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xE0, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0xC3, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0xE3, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x0112: 0xC7, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x0113: 0xE7, # LATIN SMALL LETTER E WITH MACRON
+ 0x0116: 0xCB, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x0117: 0xEB, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x0118: 0xC6, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xE6, # LATIN SMALL LETTER E WITH OGONEK
+ 0x0122: 0xCC, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0123: 0xEC, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x012A: 0xCE, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x012B: 0xEE, # LATIN SMALL LETTER I WITH MACRON
+ 0x012E: 0xC1, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x012F: 0xE1, # LATIN SMALL LETTER I WITH OGONEK
+ 0x0136: 0xCD, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x0137: 0xED, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x013B: 0xCF, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x013C: 0xEF, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x0141: 0xD9, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0xF9, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0145: 0xD2, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x0146: 0xF2, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x014C: 0xD4, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x014D: 0xF4, # LATIN SMALL LETTER O WITH MACRON
+ 0x0156: 0xAA, # LATIN CAPITAL LETTER R WITH CEDILLA
+ 0x0157: 0xBA, # LATIN SMALL LETTER R WITH CEDILLA
+ 0x015A: 0xDA, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015B: 0xFA, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0160: 0xD0, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xF0, # LATIN SMALL LETTER S WITH CARON
+ 0x016A: 0xDB, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x016B: 0xFB, # LATIN SMALL LETTER U WITH MACRON
+ 0x0172: 0xD8, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x0173: 0xF8, # LATIN SMALL LETTER U WITH OGONEK
+ 0x0179: 0xCA, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017A: 0xEA, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017B: 0xDD, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xFD, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017D: 0xDE, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xFE, # LATIN SMALL LETTER Z WITH CARON
+ 0x02C7: 0x8E, # CARON
+ 0x02D9: 0xFF, # DOT ABOVE
+ 0x02DB: 0x9E, # OGONEK
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp1258.py b/Lib/encodings/cp1258.py
index 43a9ba1..5de3fd8 100644
--- a/Lib/encodings/cp1258.py
+++ b/Lib/encodings/cp1258.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,513 +32,512 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
- u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
- u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\u2020' # 0x86 -> DAGGER
- u'\u2021' # 0x87 -> DOUBLE DAGGER
- u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u2030' # 0x89 -> PER MILLE SIGN
- u'\ufffe' # 0x8A -> UNDEFINED
- u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\ufffe' # 0x8E -> UNDEFINED
- u'\ufffe' # 0x8F -> UNDEFINED
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\u02dc' # 0x98 -> SMALL TILDE
- u'\u2122' # 0x99 -> TRADE MARK SIGN
- u'\ufffe' # 0x9A -> UNDEFINED
- u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\ufffe' # 0x9E -> UNDEFINED
- u'\u0178' # 0x9F -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u0300' # 0xCC -> COMBINING GRAVE ACCENT
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\u0309' # 0xD2 -> COMBINING HOOK ABOVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u01a0' # 0xD5 -> LATIN CAPITAL LETTER O WITH HORN
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u01af' # 0xDD -> LATIN CAPITAL LETTER U WITH HORN
- u'\u0303' # 0xDE -> COMBINING TILDE
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u0301' # 0xEC -> COMBINING ACUTE ACCENT
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\u0323' # 0xF2 -> COMBINING DOT BELOW
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\u01a1' # 0xF5 -> LATIN SMALL LETTER O WITH HORN
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u01b0' # 0xFD -> LATIN SMALL LETTER U WITH HORN
- u'\u20ab' # 0xFE -> DONG SIGN
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\u201a' # 0x82 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u0192' # 0x83 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u201e' # 0x84 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\u2020' # 0x86 -> DAGGER
+ u'\u2021' # 0x87 -> DOUBLE DAGGER
+ u'\u02c6' # 0x88 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u2030' # 0x89 -> PER MILLE SIGN
+ u'\ufffe' # 0x8A -> UNDEFINED
+ u'\u2039' # 0x8B -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u0152' # 0x8C -> LATIN CAPITAL LIGATURE OE
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\ufffe' # 0x8E -> UNDEFINED
+ u'\ufffe' # 0x8F -> UNDEFINED
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\u02dc' # 0x98 -> SMALL TILDE
+ u'\u2122' # 0x99 -> TRADE MARK SIGN
+ u'\ufffe' # 0x9A -> UNDEFINED
+ u'\u203a' # 0x9B -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u0153' # 0x9C -> LATIN SMALL LIGATURE OE
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\ufffe' # 0x9E -> UNDEFINED
+ u'\u0178' # 0x9F -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u0300' # 0xCC -> COMBINING GRAVE ACCENT
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\u0309' # 0xD2 -> COMBINING HOOK ABOVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u01a0' # 0xD5 -> LATIN CAPITAL LETTER O WITH HORN
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u01af' # 0xDD -> LATIN CAPITAL LETTER U WITH HORN
+ u'\u0303' # 0xDE -> COMBINING TILDE
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u0301' # 0xEC -> COMBINING ACUTE ACCENT
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\u0323' # 0xF2 -> COMBINING DOT BELOW
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\u01a1' # 0xF5 -> LATIN SMALL LETTER O WITH HORN
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u01b0' # 0xFD -> LATIN SMALL LETTER U WITH HORN
+ u'\u20ab' # 0xFE -> DONG SIGN
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
- 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
- 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
- 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
- 0x0178: 0x9F, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
- 0x01A0: 0xD5, # LATIN CAPITAL LETTER O WITH HORN
- 0x01A1: 0xF5, # LATIN SMALL LETTER O WITH HORN
- 0x01AF: 0xDD, # LATIN CAPITAL LETTER U WITH HORN
- 0x01B0: 0xFD, # LATIN SMALL LETTER U WITH HORN
- 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02DC: 0x98, # SMALL TILDE
- 0x0300: 0xCC, # COMBINING GRAVE ACCENT
- 0x0301: 0xEC, # COMBINING ACUTE ACCENT
- 0x0303: 0xDE, # COMBINING TILDE
- 0x0309: 0xD2, # COMBINING HOOK ABOVE
- 0x0323: 0xF2, # COMBINING DOT BELOW
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0x86, # DAGGER
- 0x2021: 0x87, # DOUBLE DAGGER
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x2030: 0x89, # PER MILLE SIGN
- 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x20AB: 0xFE, # DONG SIGN
- 0x20AC: 0x80, # EURO SIGN
- 0x2122: 0x99, # TRADE MARK SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
+ 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0152: 0x8C, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0x9C, # LATIN SMALL LIGATURE OE
+ 0x0178: 0x9F, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0192: 0x83, # LATIN SMALL LETTER F WITH HOOK
+ 0x01A0: 0xD5, # LATIN CAPITAL LETTER O WITH HORN
+ 0x01A1: 0xF5, # LATIN SMALL LETTER O WITH HORN
+ 0x01AF: 0xDD, # LATIN CAPITAL LETTER U WITH HORN
+ 0x01B0: 0xFD, # LATIN SMALL LETTER U WITH HORN
+ 0x02C6: 0x88, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02DC: 0x98, # SMALL TILDE
+ 0x0300: 0xCC, # COMBINING GRAVE ACCENT
+ 0x0301: 0xEC, # COMBINING ACUTE ACCENT
+ 0x0303: 0xDE, # COMBINING TILDE
+ 0x0309: 0xD2, # COMBINING HOOK ABOVE
+ 0x0323: 0xF2, # COMBINING DOT BELOW
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0x82, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0x84, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0x86, # DAGGER
+ 0x2021: 0x87, # DOUBLE DAGGER
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x89, # PER MILLE SIGN
+ 0x2039: 0x8B, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0x9B, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x20AB: 0xFE, # DONG SIGN
+ 0x20AC: 0x80, # EURO SIGN
+ 0x2122: 0x99, # TRADE MARK SIGN
}
-
diff --git a/Lib/encodings/cp424.py b/Lib/encodings/cp424.py
index 60082e8..d19c756 100644
--- a/Lib/encodings/cp424.py
+++ b/Lib/encodings/cp424.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,484 +32,483 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x9c' # 0x04 -> SELECT
- u'\t' # 0x05 -> HORIZONTAL TABULATION
- u'\x86' # 0x06 -> REQUIRED NEW LINE
- u'\x7f' # 0x07 -> DELETE
- u'\x97' # 0x08 -> GRAPHIC ESCAPE
- u'\x8d' # 0x09 -> SUPERSCRIPT
- u'\x8e' # 0x0A -> REPEAT
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x9d' # 0x14 -> RESTORE/ENABLE PRESENTATION
- u'\x85' # 0x15 -> NEW LINE
- u'\x08' # 0x16 -> BACKSPACE
- u'\x87' # 0x17 -> PROGRAM OPERATOR COMMUNICATION
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x92' # 0x1A -> UNIT BACK SPACE
- u'\x8f' # 0x1B -> CUSTOMER USE ONE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u'\x80' # 0x20 -> DIGIT SELECT
- u'\x81' # 0x21 -> START OF SIGNIFICANCE
- u'\x82' # 0x22 -> FIELD SEPARATOR
- u'\x83' # 0x23 -> WORD UNDERSCORE
- u'\x84' # 0x24 -> BYPASS OR INHIBIT PRESENTATION
- u'\n' # 0x25 -> LINE FEED
- u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
- u'\x1b' # 0x27 -> ESCAPE
- u'\x88' # 0x28 -> SET ATTRIBUTE
- u'\x89' # 0x29 -> START FIELD EXTENDED
- u'\x8a' # 0x2A -> SET MODE OR SWITCH
- u'\x8b' # 0x2B -> CONTROL SEQUENCE PREFIX
- u'\x8c' # 0x2C -> MODIFY FIELD ATTRIBUTE
- u'\x05' # 0x2D -> ENQUIRY
- u'\x06' # 0x2E -> ACKNOWLEDGE
- u'\x07' # 0x2F -> BELL
- u'\x90' # 0x30 -> <reserved>
- u'\x91' # 0x31 -> <reserved>
- u'\x16' # 0x32 -> SYNCHRONOUS IDLE
- u'\x93' # 0x33 -> INDEX RETURN
- u'\x94' # 0x34 -> PRESENTATION POSITION
- u'\x95' # 0x35 -> TRANSPARENT
- u'\x96' # 0x36 -> NUMERIC BACKSPACE
- u'\x04' # 0x37 -> END OF TRANSMISSION
- u'\x98' # 0x38 -> SUBSCRIPT
- u'\x99' # 0x39 -> INDENT TABULATION
- u'\x9a' # 0x3A -> REVERSE FORM FEED
- u'\x9b' # 0x3B -> CUSTOMER USE THREE
- u'\x14' # 0x3C -> DEVICE CONTROL FOUR
- u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
- u'\x9e' # 0x3E -> <reserved>
- u'\x1a' # 0x3F -> SUBSTITUTE
- u' ' # 0x40 -> SPACE
- u'\u05d0' # 0x41 -> HEBREW LETTER ALEF
- u'\u05d1' # 0x42 -> HEBREW LETTER BET
- u'\u05d2' # 0x43 -> HEBREW LETTER GIMEL
- u'\u05d3' # 0x44 -> HEBREW LETTER DALET
- u'\u05d4' # 0x45 -> HEBREW LETTER HE
- u'\u05d5' # 0x46 -> HEBREW LETTER VAV
- u'\u05d6' # 0x47 -> HEBREW LETTER ZAYIN
- u'\u05d7' # 0x48 -> HEBREW LETTER HET
- u'\u05d8' # 0x49 -> HEBREW LETTER TET
- u'\xa2' # 0x4A -> CENT SIGN
- u'.' # 0x4B -> FULL STOP
- u'<' # 0x4C -> LESS-THAN SIGN
- u'(' # 0x4D -> LEFT PARENTHESIS
- u'+' # 0x4E -> PLUS SIGN
- u'|' # 0x4F -> VERTICAL LINE
- u'&' # 0x50 -> AMPERSAND
- u'\u05d9' # 0x51 -> HEBREW LETTER YOD
- u'\u05da' # 0x52 -> HEBREW LETTER FINAL KAF
- u'\u05db' # 0x53 -> HEBREW LETTER KAF
- u'\u05dc' # 0x54 -> HEBREW LETTER LAMED
- u'\u05dd' # 0x55 -> HEBREW LETTER FINAL MEM
- u'\u05de' # 0x56 -> HEBREW LETTER MEM
- u'\u05df' # 0x57 -> HEBREW LETTER FINAL NUN
- u'\u05e0' # 0x58 -> HEBREW LETTER NUN
- u'\u05e1' # 0x59 -> HEBREW LETTER SAMEKH
- u'!' # 0x5A -> EXCLAMATION MARK
- u'$' # 0x5B -> DOLLAR SIGN
- u'*' # 0x5C -> ASTERISK
- u')' # 0x5D -> RIGHT PARENTHESIS
- u';' # 0x5E -> SEMICOLON
- u'\xac' # 0x5F -> NOT SIGN
- u'-' # 0x60 -> HYPHEN-MINUS
- u'/' # 0x61 -> SOLIDUS
- u'\u05e2' # 0x62 -> HEBREW LETTER AYIN
- u'\u05e3' # 0x63 -> HEBREW LETTER FINAL PE
- u'\u05e4' # 0x64 -> HEBREW LETTER PE
- u'\u05e5' # 0x65 -> HEBREW LETTER FINAL TSADI
- u'\u05e6' # 0x66 -> HEBREW LETTER TSADI
- u'\u05e7' # 0x67 -> HEBREW LETTER QOF
- u'\u05e8' # 0x68 -> HEBREW LETTER RESH
- u'\u05e9' # 0x69 -> HEBREW LETTER SHIN
- u'\xa6' # 0x6A -> BROKEN BAR
- u',' # 0x6B -> COMMA
- u'%' # 0x6C -> PERCENT SIGN
- u'_' # 0x6D -> LOW LINE
- u'>' # 0x6E -> GREATER-THAN SIGN
- u'?' # 0x6F -> QUESTION MARK
- u'\ufffe' # 0x70 -> UNDEFINED
- u'\u05ea' # 0x71 -> HEBREW LETTER TAV
- u'\ufffe' # 0x72 -> UNDEFINED
- u'\ufffe' # 0x73 -> UNDEFINED
- u'\xa0' # 0x74 -> NO-BREAK SPACE
- u'\ufffe' # 0x75 -> UNDEFINED
- u'\ufffe' # 0x76 -> UNDEFINED
- u'\ufffe' # 0x77 -> UNDEFINED
- u'\u2017' # 0x78 -> DOUBLE LOW LINE
- u'`' # 0x79 -> GRAVE ACCENT
- u':' # 0x7A -> COLON
- u'#' # 0x7B -> NUMBER SIGN
- u'@' # 0x7C -> COMMERCIAL AT
- u"'" # 0x7D -> APOSTROPHE
- u'=' # 0x7E -> EQUALS SIGN
- u'"' # 0x7F -> QUOTATION MARK
- u'\ufffe' # 0x80 -> UNDEFINED
- u'a' # 0x81 -> LATIN SMALL LETTER A
- u'b' # 0x82 -> LATIN SMALL LETTER B
- u'c' # 0x83 -> LATIN SMALL LETTER C
- u'd' # 0x84 -> LATIN SMALL LETTER D
- u'e' # 0x85 -> LATIN SMALL LETTER E
- u'f' # 0x86 -> LATIN SMALL LETTER F
- u'g' # 0x87 -> LATIN SMALL LETTER G
- u'h' # 0x88 -> LATIN SMALL LETTER H
- u'i' # 0x89 -> LATIN SMALL LETTER I
- u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\ufffe' # 0x8C -> UNDEFINED
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\ufffe' # 0x8E -> UNDEFINED
- u'\xb1' # 0x8F -> PLUS-MINUS SIGN
- u'\xb0' # 0x90 -> DEGREE SIGN
- u'j' # 0x91 -> LATIN SMALL LETTER J
- u'k' # 0x92 -> LATIN SMALL LETTER K
- u'l' # 0x93 -> LATIN SMALL LETTER L
- u'm' # 0x94 -> LATIN SMALL LETTER M
- u'n' # 0x95 -> LATIN SMALL LETTER N
- u'o' # 0x96 -> LATIN SMALL LETTER O
- u'p' # 0x97 -> LATIN SMALL LETTER P
- u'q' # 0x98 -> LATIN SMALL LETTER Q
- u'r' # 0x99 -> LATIN SMALL LETTER R
- u'\ufffe' # 0x9A -> UNDEFINED
- u'\ufffe' # 0x9B -> UNDEFINED
- u'\ufffe' # 0x9C -> UNDEFINED
- u'\xb8' # 0x9D -> CEDILLA
- u'\ufffe' # 0x9E -> UNDEFINED
- u'\xa4' # 0x9F -> CURRENCY SIGN
- u'\xb5' # 0xA0 -> MICRO SIGN
- u'~' # 0xA1 -> TILDE
- u's' # 0xA2 -> LATIN SMALL LETTER S
- u't' # 0xA3 -> LATIN SMALL LETTER T
- u'u' # 0xA4 -> LATIN SMALL LETTER U
- u'v' # 0xA5 -> LATIN SMALL LETTER V
- u'w' # 0xA6 -> LATIN SMALL LETTER W
- u'x' # 0xA7 -> LATIN SMALL LETTER X
- u'y' # 0xA8 -> LATIN SMALL LETTER Y
- u'z' # 0xA9 -> LATIN SMALL LETTER Z
- u'\ufffe' # 0xAA -> UNDEFINED
- u'\ufffe' # 0xAB -> UNDEFINED
- u'\ufffe' # 0xAC -> UNDEFINED
- u'\ufffe' # 0xAD -> UNDEFINED
- u'\ufffe' # 0xAE -> UNDEFINED
- u'\xae' # 0xAF -> REGISTERED SIGN
- u'^' # 0xB0 -> CIRCUMFLEX ACCENT
- u'\xa3' # 0xB1 -> POUND SIGN
- u'\xa5' # 0xB2 -> YEN SIGN
- u'\xb7' # 0xB3 -> MIDDLE DOT
- u'\xa9' # 0xB4 -> COPYRIGHT SIGN
- u'\xa7' # 0xB5 -> SECTION SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
- u'[' # 0xBA -> LEFT SQUARE BRACKET
- u']' # 0xBB -> RIGHT SQUARE BRACKET
- u'\xaf' # 0xBC -> MACRON
- u'\xa8' # 0xBD -> DIAERESIS
- u'\xb4' # 0xBE -> ACUTE ACCENT
- u'\xd7' # 0xBF -> MULTIPLICATION SIGN
- u'{' # 0xC0 -> LEFT CURLY BRACKET
- u'A' # 0xC1 -> LATIN CAPITAL LETTER A
- u'B' # 0xC2 -> LATIN CAPITAL LETTER B
- u'C' # 0xC3 -> LATIN CAPITAL LETTER C
- u'D' # 0xC4 -> LATIN CAPITAL LETTER D
- u'E' # 0xC5 -> LATIN CAPITAL LETTER E
- u'F' # 0xC6 -> LATIN CAPITAL LETTER F
- u'G' # 0xC7 -> LATIN CAPITAL LETTER G
- u'H' # 0xC8 -> LATIN CAPITAL LETTER H
- u'I' # 0xC9 -> LATIN CAPITAL LETTER I
- u'\xad' # 0xCA -> SOFT HYPHEN
- u'\ufffe' # 0xCB -> UNDEFINED
- u'\ufffe' # 0xCC -> UNDEFINED
- u'\ufffe' # 0xCD -> UNDEFINED
- u'\ufffe' # 0xCE -> UNDEFINED
- u'\ufffe' # 0xCF -> UNDEFINED
- u'}' # 0xD0 -> RIGHT CURLY BRACKET
- u'J' # 0xD1 -> LATIN CAPITAL LETTER J
- u'K' # 0xD2 -> LATIN CAPITAL LETTER K
- u'L' # 0xD3 -> LATIN CAPITAL LETTER L
- u'M' # 0xD4 -> LATIN CAPITAL LETTER M
- u'N' # 0xD5 -> LATIN CAPITAL LETTER N
- u'O' # 0xD6 -> LATIN CAPITAL LETTER O
- u'P' # 0xD7 -> LATIN CAPITAL LETTER P
- u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
- u'R' # 0xD9 -> LATIN CAPITAL LETTER R
- u'\xb9' # 0xDA -> SUPERSCRIPT ONE
- u'\ufffe' # 0xDB -> UNDEFINED
- u'\ufffe' # 0xDC -> UNDEFINED
- u'\ufffe' # 0xDD -> UNDEFINED
- u'\ufffe' # 0xDE -> UNDEFINED
- u'\ufffe' # 0xDF -> UNDEFINED
- u'\\' # 0xE0 -> REVERSE SOLIDUS
- u'\xf7' # 0xE1 -> DIVISION SIGN
- u'S' # 0xE2 -> LATIN CAPITAL LETTER S
- u'T' # 0xE3 -> LATIN CAPITAL LETTER T
- u'U' # 0xE4 -> LATIN CAPITAL LETTER U
- u'V' # 0xE5 -> LATIN CAPITAL LETTER V
- u'W' # 0xE6 -> LATIN CAPITAL LETTER W
- u'X' # 0xE7 -> LATIN CAPITAL LETTER X
- u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
- u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
- u'\xb2' # 0xEA -> SUPERSCRIPT TWO
- u'\ufffe' # 0xEB -> UNDEFINED
- u'\ufffe' # 0xEC -> UNDEFINED
- u'\ufffe' # 0xED -> UNDEFINED
- u'\ufffe' # 0xEE -> UNDEFINED
- u'\ufffe' # 0xEF -> UNDEFINED
- u'0' # 0xF0 -> DIGIT ZERO
- u'1' # 0xF1 -> DIGIT ONE
- u'2' # 0xF2 -> DIGIT TWO
- u'3' # 0xF3 -> DIGIT THREE
- u'4' # 0xF4 -> DIGIT FOUR
- u'5' # 0xF5 -> DIGIT FIVE
- u'6' # 0xF6 -> DIGIT SIX
- u'7' # 0xF7 -> DIGIT SEVEN
- u'8' # 0xF8 -> DIGIT EIGHT
- u'9' # 0xF9 -> DIGIT NINE
- u'\xb3' # 0xFA -> SUPERSCRIPT THREE
- u'\ufffe' # 0xFB -> UNDEFINED
- u'\ufffe' # 0xFC -> UNDEFINED
- u'\ufffe' # 0xFD -> UNDEFINED
- u'\ufffe' # 0xFE -> UNDEFINED
- u'\x9f' # 0xFF -> EIGHT ONES
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x9c' # 0x04 -> SELECT
+ u'\t' # 0x05 -> HORIZONTAL TABULATION
+ u'\x86' # 0x06 -> REQUIRED NEW LINE
+ u'\x7f' # 0x07 -> DELETE
+ u'\x97' # 0x08 -> GRAPHIC ESCAPE
+ u'\x8d' # 0x09 -> SUPERSCRIPT
+ u'\x8e' # 0x0A -> REPEAT
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x9d' # 0x14 -> RESTORE/ENABLE PRESENTATION
+ u'\x85' # 0x15 -> NEW LINE
+ u'\x08' # 0x16 -> BACKSPACE
+ u'\x87' # 0x17 -> PROGRAM OPERATOR COMMUNICATION
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x92' # 0x1A -> UNIT BACK SPACE
+ u'\x8f' # 0x1B -> CUSTOMER USE ONE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u'\x80' # 0x20 -> DIGIT SELECT
+ u'\x81' # 0x21 -> START OF SIGNIFICANCE
+ u'\x82' # 0x22 -> FIELD SEPARATOR
+ u'\x83' # 0x23 -> WORD UNDERSCORE
+ u'\x84' # 0x24 -> BYPASS OR INHIBIT PRESENTATION
+ u'\n' # 0x25 -> LINE FEED
+ u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
+ u'\x1b' # 0x27 -> ESCAPE
+ u'\x88' # 0x28 -> SET ATTRIBUTE
+ u'\x89' # 0x29 -> START FIELD EXTENDED
+ u'\x8a' # 0x2A -> SET MODE OR SWITCH
+ u'\x8b' # 0x2B -> CONTROL SEQUENCE PREFIX
+ u'\x8c' # 0x2C -> MODIFY FIELD ATTRIBUTE
+ u'\x05' # 0x2D -> ENQUIRY
+ u'\x06' # 0x2E -> ACKNOWLEDGE
+ u'\x07' # 0x2F -> BELL
+ u'\x90' # 0x30 -> <reserved>
+ u'\x91' # 0x31 -> <reserved>
+ u'\x16' # 0x32 -> SYNCHRONOUS IDLE
+ u'\x93' # 0x33 -> INDEX RETURN
+ u'\x94' # 0x34 -> PRESENTATION POSITION
+ u'\x95' # 0x35 -> TRANSPARENT
+ u'\x96' # 0x36 -> NUMERIC BACKSPACE
+ u'\x04' # 0x37 -> END OF TRANSMISSION
+ u'\x98' # 0x38 -> SUBSCRIPT
+ u'\x99' # 0x39 -> INDENT TABULATION
+ u'\x9a' # 0x3A -> REVERSE FORM FEED
+ u'\x9b' # 0x3B -> CUSTOMER USE THREE
+ u'\x14' # 0x3C -> DEVICE CONTROL FOUR
+ u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
+ u'\x9e' # 0x3E -> <reserved>
+ u'\x1a' # 0x3F -> SUBSTITUTE
+ u' ' # 0x40 -> SPACE
+ u'\u05d0' # 0x41 -> HEBREW LETTER ALEF
+ u'\u05d1' # 0x42 -> HEBREW LETTER BET
+ u'\u05d2' # 0x43 -> HEBREW LETTER GIMEL
+ u'\u05d3' # 0x44 -> HEBREW LETTER DALET
+ u'\u05d4' # 0x45 -> HEBREW LETTER HE
+ u'\u05d5' # 0x46 -> HEBREW LETTER VAV
+ u'\u05d6' # 0x47 -> HEBREW LETTER ZAYIN
+ u'\u05d7' # 0x48 -> HEBREW LETTER HET
+ u'\u05d8' # 0x49 -> HEBREW LETTER TET
+ u'\xa2' # 0x4A -> CENT SIGN
+ u'.' # 0x4B -> FULL STOP
+ u'<' # 0x4C -> LESS-THAN SIGN
+ u'(' # 0x4D -> LEFT PARENTHESIS
+ u'+' # 0x4E -> PLUS SIGN
+ u'|' # 0x4F -> VERTICAL LINE
+ u'&' # 0x50 -> AMPERSAND
+ u'\u05d9' # 0x51 -> HEBREW LETTER YOD
+ u'\u05da' # 0x52 -> HEBREW LETTER FINAL KAF
+ u'\u05db' # 0x53 -> HEBREW LETTER KAF
+ u'\u05dc' # 0x54 -> HEBREW LETTER LAMED
+ u'\u05dd' # 0x55 -> HEBREW LETTER FINAL MEM
+ u'\u05de' # 0x56 -> HEBREW LETTER MEM
+ u'\u05df' # 0x57 -> HEBREW LETTER FINAL NUN
+ u'\u05e0' # 0x58 -> HEBREW LETTER NUN
+ u'\u05e1' # 0x59 -> HEBREW LETTER SAMEKH
+ u'!' # 0x5A -> EXCLAMATION MARK
+ u'$' # 0x5B -> DOLLAR SIGN
+ u'*' # 0x5C -> ASTERISK
+ u')' # 0x5D -> RIGHT PARENTHESIS
+ u';' # 0x5E -> SEMICOLON
+ u'\xac' # 0x5F -> NOT SIGN
+ u'-' # 0x60 -> HYPHEN-MINUS
+ u'/' # 0x61 -> SOLIDUS
+ u'\u05e2' # 0x62 -> HEBREW LETTER AYIN
+ u'\u05e3' # 0x63 -> HEBREW LETTER FINAL PE
+ u'\u05e4' # 0x64 -> HEBREW LETTER PE
+ u'\u05e5' # 0x65 -> HEBREW LETTER FINAL TSADI
+ u'\u05e6' # 0x66 -> HEBREW LETTER TSADI
+ u'\u05e7' # 0x67 -> HEBREW LETTER QOF
+ u'\u05e8' # 0x68 -> HEBREW LETTER RESH
+ u'\u05e9' # 0x69 -> HEBREW LETTER SHIN
+ u'\xa6' # 0x6A -> BROKEN BAR
+ u',' # 0x6B -> COMMA
+ u'%' # 0x6C -> PERCENT SIGN
+ u'_' # 0x6D -> LOW LINE
+ u'>' # 0x6E -> GREATER-THAN SIGN
+ u'?' # 0x6F -> QUESTION MARK
+ u'\ufffe' # 0x70 -> UNDEFINED
+ u'\u05ea' # 0x71 -> HEBREW LETTER TAV
+ u'\ufffe' # 0x72 -> UNDEFINED
+ u'\ufffe' # 0x73 -> UNDEFINED
+ u'\xa0' # 0x74 -> NO-BREAK SPACE
+ u'\ufffe' # 0x75 -> UNDEFINED
+ u'\ufffe' # 0x76 -> UNDEFINED
+ u'\ufffe' # 0x77 -> UNDEFINED
+ u'\u2017' # 0x78 -> DOUBLE LOW LINE
+ u'`' # 0x79 -> GRAVE ACCENT
+ u':' # 0x7A -> COLON
+ u'#' # 0x7B -> NUMBER SIGN
+ u'@' # 0x7C -> COMMERCIAL AT
+ u"'" # 0x7D -> APOSTROPHE
+ u'=' # 0x7E -> EQUALS SIGN
+ u'"' # 0x7F -> QUOTATION MARK
+ u'\ufffe' # 0x80 -> UNDEFINED
+ u'a' # 0x81 -> LATIN SMALL LETTER A
+ u'b' # 0x82 -> LATIN SMALL LETTER B
+ u'c' # 0x83 -> LATIN SMALL LETTER C
+ u'd' # 0x84 -> LATIN SMALL LETTER D
+ u'e' # 0x85 -> LATIN SMALL LETTER E
+ u'f' # 0x86 -> LATIN SMALL LETTER F
+ u'g' # 0x87 -> LATIN SMALL LETTER G
+ u'h' # 0x88 -> LATIN SMALL LETTER H
+ u'i' # 0x89 -> LATIN SMALL LETTER I
+ u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\ufffe' # 0x8C -> UNDEFINED
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\ufffe' # 0x8E -> UNDEFINED
+ u'\xb1' # 0x8F -> PLUS-MINUS SIGN
+ u'\xb0' # 0x90 -> DEGREE SIGN
+ u'j' # 0x91 -> LATIN SMALL LETTER J
+ u'k' # 0x92 -> LATIN SMALL LETTER K
+ u'l' # 0x93 -> LATIN SMALL LETTER L
+ u'm' # 0x94 -> LATIN SMALL LETTER M
+ u'n' # 0x95 -> LATIN SMALL LETTER N
+ u'o' # 0x96 -> LATIN SMALL LETTER O
+ u'p' # 0x97 -> LATIN SMALL LETTER P
+ u'q' # 0x98 -> LATIN SMALL LETTER Q
+ u'r' # 0x99 -> LATIN SMALL LETTER R
+ u'\ufffe' # 0x9A -> UNDEFINED
+ u'\ufffe' # 0x9B -> UNDEFINED
+ u'\ufffe' # 0x9C -> UNDEFINED
+ u'\xb8' # 0x9D -> CEDILLA
+ u'\ufffe' # 0x9E -> UNDEFINED
+ u'\xa4' # 0x9F -> CURRENCY SIGN
+ u'\xb5' # 0xA0 -> MICRO SIGN
+ u'~' # 0xA1 -> TILDE
+ u's' # 0xA2 -> LATIN SMALL LETTER S
+ u't' # 0xA3 -> LATIN SMALL LETTER T
+ u'u' # 0xA4 -> LATIN SMALL LETTER U
+ u'v' # 0xA5 -> LATIN SMALL LETTER V
+ u'w' # 0xA6 -> LATIN SMALL LETTER W
+ u'x' # 0xA7 -> LATIN SMALL LETTER X
+ u'y' # 0xA8 -> LATIN SMALL LETTER Y
+ u'z' # 0xA9 -> LATIN SMALL LETTER Z
+ u'\ufffe' # 0xAA -> UNDEFINED
+ u'\ufffe' # 0xAB -> UNDEFINED
+ u'\ufffe' # 0xAC -> UNDEFINED
+ u'\ufffe' # 0xAD -> UNDEFINED
+ u'\ufffe' # 0xAE -> UNDEFINED
+ u'\xae' # 0xAF -> REGISTERED SIGN
+ u'^' # 0xB0 -> CIRCUMFLEX ACCENT
+ u'\xa3' # 0xB1 -> POUND SIGN
+ u'\xa5' # 0xB2 -> YEN SIGN
+ u'\xb7' # 0xB3 -> MIDDLE DOT
+ u'\xa9' # 0xB4 -> COPYRIGHT SIGN
+ u'\xa7' # 0xB5 -> SECTION SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
+ u'[' # 0xBA -> LEFT SQUARE BRACKET
+ u']' # 0xBB -> RIGHT SQUARE BRACKET
+ u'\xaf' # 0xBC -> MACRON
+ u'\xa8' # 0xBD -> DIAERESIS
+ u'\xb4' # 0xBE -> ACUTE ACCENT
+ u'\xd7' # 0xBF -> MULTIPLICATION SIGN
+ u'{' # 0xC0 -> LEFT CURLY BRACKET
+ u'A' # 0xC1 -> LATIN CAPITAL LETTER A
+ u'B' # 0xC2 -> LATIN CAPITAL LETTER B
+ u'C' # 0xC3 -> LATIN CAPITAL LETTER C
+ u'D' # 0xC4 -> LATIN CAPITAL LETTER D
+ u'E' # 0xC5 -> LATIN CAPITAL LETTER E
+ u'F' # 0xC6 -> LATIN CAPITAL LETTER F
+ u'G' # 0xC7 -> LATIN CAPITAL LETTER G
+ u'H' # 0xC8 -> LATIN CAPITAL LETTER H
+ u'I' # 0xC9 -> LATIN CAPITAL LETTER I
+ u'\xad' # 0xCA -> SOFT HYPHEN
+ u'\ufffe' # 0xCB -> UNDEFINED
+ u'\ufffe' # 0xCC -> UNDEFINED
+ u'\ufffe' # 0xCD -> UNDEFINED
+ u'\ufffe' # 0xCE -> UNDEFINED
+ u'\ufffe' # 0xCF -> UNDEFINED
+ u'}' # 0xD0 -> RIGHT CURLY BRACKET
+ u'J' # 0xD1 -> LATIN CAPITAL LETTER J
+ u'K' # 0xD2 -> LATIN CAPITAL LETTER K
+ u'L' # 0xD3 -> LATIN CAPITAL LETTER L
+ u'M' # 0xD4 -> LATIN CAPITAL LETTER M
+ u'N' # 0xD5 -> LATIN CAPITAL LETTER N
+ u'O' # 0xD6 -> LATIN CAPITAL LETTER O
+ u'P' # 0xD7 -> LATIN CAPITAL LETTER P
+ u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
+ u'R' # 0xD9 -> LATIN CAPITAL LETTER R
+ u'\xb9' # 0xDA -> SUPERSCRIPT ONE
+ u'\ufffe' # 0xDB -> UNDEFINED
+ u'\ufffe' # 0xDC -> UNDEFINED
+ u'\ufffe' # 0xDD -> UNDEFINED
+ u'\ufffe' # 0xDE -> UNDEFINED
+ u'\ufffe' # 0xDF -> UNDEFINED
+ u'\\' # 0xE0 -> REVERSE SOLIDUS
+ u'\xf7' # 0xE1 -> DIVISION SIGN
+ u'S' # 0xE2 -> LATIN CAPITAL LETTER S
+ u'T' # 0xE3 -> LATIN CAPITAL LETTER T
+ u'U' # 0xE4 -> LATIN CAPITAL LETTER U
+ u'V' # 0xE5 -> LATIN CAPITAL LETTER V
+ u'W' # 0xE6 -> LATIN CAPITAL LETTER W
+ u'X' # 0xE7 -> LATIN CAPITAL LETTER X
+ u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
+ u'\xb2' # 0xEA -> SUPERSCRIPT TWO
+ u'\ufffe' # 0xEB -> UNDEFINED
+ u'\ufffe' # 0xEC -> UNDEFINED
+ u'\ufffe' # 0xED -> UNDEFINED
+ u'\ufffe' # 0xEE -> UNDEFINED
+ u'\ufffe' # 0xEF -> UNDEFINED
+ u'0' # 0xF0 -> DIGIT ZERO
+ u'1' # 0xF1 -> DIGIT ONE
+ u'2' # 0xF2 -> DIGIT TWO
+ u'3' # 0xF3 -> DIGIT THREE
+ u'4' # 0xF4 -> DIGIT FOUR
+ u'5' # 0xF5 -> DIGIT FIVE
+ u'6' # 0xF6 -> DIGIT SIX
+ u'7' # 0xF7 -> DIGIT SEVEN
+ u'8' # 0xF8 -> DIGIT EIGHT
+ u'9' # 0xF9 -> DIGIT NINE
+ u'\xb3' # 0xFA -> SUPERSCRIPT THREE
+ u'\ufffe' # 0xFB -> UNDEFINED
+ u'\ufffe' # 0xFC -> UNDEFINED
+ u'\ufffe' # 0xFD -> UNDEFINED
+ u'\ufffe' # 0xFE -> UNDEFINED
+ u'\x9f' # 0xFF -> EIGHT ONES
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x37, # END OF TRANSMISSION
- 0x0005: 0x2D, # ENQUIRY
- 0x0006: 0x2E, # ACKNOWLEDGE
- 0x0007: 0x2F, # BELL
- 0x0008: 0x16, # BACKSPACE
- 0x0009: 0x05, # HORIZONTAL TABULATION
- 0x000A: 0x25, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x3C, # DEVICE CONTROL FOUR
- 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x32, # SYNCHRONOUS IDLE
- 0x0017: 0x26, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x3F, # SUBSTITUTE
- 0x001B: 0x27, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x40, # SPACE
- 0x0021: 0x5A, # EXCLAMATION MARK
- 0x0022: 0x7F, # QUOTATION MARK
- 0x0023: 0x7B, # NUMBER SIGN
- 0x0024: 0x5B, # DOLLAR SIGN
- 0x0025: 0x6C, # PERCENT SIGN
- 0x0026: 0x50, # AMPERSAND
- 0x0027: 0x7D, # APOSTROPHE
- 0x0028: 0x4D, # LEFT PARENTHESIS
- 0x0029: 0x5D, # RIGHT PARENTHESIS
- 0x002A: 0x5C, # ASTERISK
- 0x002B: 0x4E, # PLUS SIGN
- 0x002C: 0x6B, # COMMA
- 0x002D: 0x60, # HYPHEN-MINUS
- 0x002E: 0x4B, # FULL STOP
- 0x002F: 0x61, # SOLIDUS
- 0x0030: 0xF0, # DIGIT ZERO
- 0x0031: 0xF1, # DIGIT ONE
- 0x0032: 0xF2, # DIGIT TWO
- 0x0033: 0xF3, # DIGIT THREE
- 0x0034: 0xF4, # DIGIT FOUR
- 0x0035: 0xF5, # DIGIT FIVE
- 0x0036: 0xF6, # DIGIT SIX
- 0x0037: 0xF7, # DIGIT SEVEN
- 0x0038: 0xF8, # DIGIT EIGHT
- 0x0039: 0xF9, # DIGIT NINE
- 0x003A: 0x7A, # COLON
- 0x003B: 0x5E, # SEMICOLON
- 0x003C: 0x4C, # LESS-THAN SIGN
- 0x003D: 0x7E, # EQUALS SIGN
- 0x003E: 0x6E, # GREATER-THAN SIGN
- 0x003F: 0x6F, # QUESTION MARK
- 0x0040: 0x7C, # COMMERCIAL AT
- 0x0041: 0xC1, # LATIN CAPITAL LETTER A
- 0x0042: 0xC2, # LATIN CAPITAL LETTER B
- 0x0043: 0xC3, # LATIN CAPITAL LETTER C
- 0x0044: 0xC4, # LATIN CAPITAL LETTER D
- 0x0045: 0xC5, # LATIN CAPITAL LETTER E
- 0x0046: 0xC6, # LATIN CAPITAL LETTER F
- 0x0047: 0xC7, # LATIN CAPITAL LETTER G
- 0x0048: 0xC8, # LATIN CAPITAL LETTER H
- 0x0049: 0xC9, # LATIN CAPITAL LETTER I
- 0x004A: 0xD1, # LATIN CAPITAL LETTER J
- 0x004B: 0xD2, # LATIN CAPITAL LETTER K
- 0x004C: 0xD3, # LATIN CAPITAL LETTER L
- 0x004D: 0xD4, # LATIN CAPITAL LETTER M
- 0x004E: 0xD5, # LATIN CAPITAL LETTER N
- 0x004F: 0xD6, # LATIN CAPITAL LETTER O
- 0x0050: 0xD7, # LATIN CAPITAL LETTER P
- 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
- 0x0052: 0xD9, # LATIN CAPITAL LETTER R
- 0x0053: 0xE2, # LATIN CAPITAL LETTER S
- 0x0054: 0xE3, # LATIN CAPITAL LETTER T
- 0x0055: 0xE4, # LATIN CAPITAL LETTER U
- 0x0056: 0xE5, # LATIN CAPITAL LETTER V
- 0x0057: 0xE6, # LATIN CAPITAL LETTER W
- 0x0058: 0xE7, # LATIN CAPITAL LETTER X
- 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
- 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
- 0x005B: 0xBA, # LEFT SQUARE BRACKET
- 0x005C: 0xE0, # REVERSE SOLIDUS
- 0x005D: 0xBB, # RIGHT SQUARE BRACKET
- 0x005E: 0xB0, # CIRCUMFLEX ACCENT
- 0x005F: 0x6D, # LOW LINE
- 0x0060: 0x79, # GRAVE ACCENT
- 0x0061: 0x81, # LATIN SMALL LETTER A
- 0x0062: 0x82, # LATIN SMALL LETTER B
- 0x0063: 0x83, # LATIN SMALL LETTER C
- 0x0064: 0x84, # LATIN SMALL LETTER D
- 0x0065: 0x85, # LATIN SMALL LETTER E
- 0x0066: 0x86, # LATIN SMALL LETTER F
- 0x0067: 0x87, # LATIN SMALL LETTER G
- 0x0068: 0x88, # LATIN SMALL LETTER H
- 0x0069: 0x89, # LATIN SMALL LETTER I
- 0x006A: 0x91, # LATIN SMALL LETTER J
- 0x006B: 0x92, # LATIN SMALL LETTER K
- 0x006C: 0x93, # LATIN SMALL LETTER L
- 0x006D: 0x94, # LATIN SMALL LETTER M
- 0x006E: 0x95, # LATIN SMALL LETTER N
- 0x006F: 0x96, # LATIN SMALL LETTER O
- 0x0070: 0x97, # LATIN SMALL LETTER P
- 0x0071: 0x98, # LATIN SMALL LETTER Q
- 0x0072: 0x99, # LATIN SMALL LETTER R
- 0x0073: 0xA2, # LATIN SMALL LETTER S
- 0x0074: 0xA3, # LATIN SMALL LETTER T
- 0x0075: 0xA4, # LATIN SMALL LETTER U
- 0x0076: 0xA5, # LATIN SMALL LETTER V
- 0x0077: 0xA6, # LATIN SMALL LETTER W
- 0x0078: 0xA7, # LATIN SMALL LETTER X
- 0x0079: 0xA8, # LATIN SMALL LETTER Y
- 0x007A: 0xA9, # LATIN SMALL LETTER Z
- 0x007B: 0xC0, # LEFT CURLY BRACKET
- 0x007C: 0x4F, # VERTICAL LINE
- 0x007D: 0xD0, # RIGHT CURLY BRACKET
- 0x007E: 0xA1, # TILDE
- 0x007F: 0x07, # DELETE
- 0x0080: 0x20, # DIGIT SELECT
- 0x0081: 0x21, # START OF SIGNIFICANCE
- 0x0082: 0x22, # FIELD SEPARATOR
- 0x0083: 0x23, # WORD UNDERSCORE
- 0x0084: 0x24, # BYPASS OR INHIBIT PRESENTATION
- 0x0085: 0x15, # NEW LINE
- 0x0086: 0x06, # REQUIRED NEW LINE
- 0x0087: 0x17, # PROGRAM OPERATOR COMMUNICATION
- 0x0088: 0x28, # SET ATTRIBUTE
- 0x0089: 0x29, # START FIELD EXTENDED
- 0x008A: 0x2A, # SET MODE OR SWITCH
- 0x008B: 0x2B, # CONTROL SEQUENCE PREFIX
- 0x008C: 0x2C, # MODIFY FIELD ATTRIBUTE
- 0x008D: 0x09, # SUPERSCRIPT
- 0x008E: 0x0A, # REPEAT
- 0x008F: 0x1B, # CUSTOMER USE ONE
- 0x0090: 0x30, # <reserved>
- 0x0091: 0x31, # <reserved>
- 0x0092: 0x1A, # UNIT BACK SPACE
- 0x0093: 0x33, # INDEX RETURN
- 0x0094: 0x34, # PRESENTATION POSITION
- 0x0095: 0x35, # TRANSPARENT
- 0x0096: 0x36, # NUMERIC BACKSPACE
- 0x0097: 0x08, # GRAPHIC ESCAPE
- 0x0098: 0x38, # SUBSCRIPT
- 0x0099: 0x39, # INDENT TABULATION
- 0x009A: 0x3A, # REVERSE FORM FEED
- 0x009B: 0x3B, # CUSTOMER USE THREE
- 0x009C: 0x04, # SELECT
- 0x009D: 0x14, # RESTORE/ENABLE PRESENTATION
- 0x009E: 0x3E, # <reserved>
- 0x009F: 0xFF, # EIGHT ONES
- 0x00A0: 0x74, # NO-BREAK SPACE
- 0x00A2: 0x4A, # CENT SIGN
- 0x00A3: 0xB1, # POUND SIGN
- 0x00A4: 0x9F, # CURRENCY SIGN
- 0x00A5: 0xB2, # YEN SIGN
- 0x00A6: 0x6A, # BROKEN BAR
- 0x00A7: 0xB5, # SECTION SIGN
- 0x00A8: 0xBD, # DIAERESIS
- 0x00A9: 0xB4, # COPYRIGHT SIGN
- 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0x5F, # NOT SIGN
- 0x00AD: 0xCA, # SOFT HYPHEN
- 0x00AE: 0xAF, # REGISTERED SIGN
- 0x00AF: 0xBC, # MACRON
- 0x00B0: 0x90, # DEGREE SIGN
- 0x00B1: 0x8F, # PLUS-MINUS SIGN
- 0x00B2: 0xEA, # SUPERSCRIPT TWO
- 0x00B3: 0xFA, # SUPERSCRIPT THREE
- 0x00B4: 0xBE, # ACUTE ACCENT
- 0x00B5: 0xA0, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB3, # MIDDLE DOT
- 0x00B8: 0x9D, # CEDILLA
- 0x00B9: 0xDA, # SUPERSCRIPT ONE
- 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
- 0x00D7: 0xBF, # MULTIPLICATION SIGN
- 0x00F7: 0xE1, # DIVISION SIGN
- 0x05D0: 0x41, # HEBREW LETTER ALEF
- 0x05D1: 0x42, # HEBREW LETTER BET
- 0x05D2: 0x43, # HEBREW LETTER GIMEL
- 0x05D3: 0x44, # HEBREW LETTER DALET
- 0x05D4: 0x45, # HEBREW LETTER HE
- 0x05D5: 0x46, # HEBREW LETTER VAV
- 0x05D6: 0x47, # HEBREW LETTER ZAYIN
- 0x05D7: 0x48, # HEBREW LETTER HET
- 0x05D8: 0x49, # HEBREW LETTER TET
- 0x05D9: 0x51, # HEBREW LETTER YOD
- 0x05DA: 0x52, # HEBREW LETTER FINAL KAF
- 0x05DB: 0x53, # HEBREW LETTER KAF
- 0x05DC: 0x54, # HEBREW LETTER LAMED
- 0x05DD: 0x55, # HEBREW LETTER FINAL MEM
- 0x05DE: 0x56, # HEBREW LETTER MEM
- 0x05DF: 0x57, # HEBREW LETTER FINAL NUN
- 0x05E0: 0x58, # HEBREW LETTER NUN
- 0x05E1: 0x59, # HEBREW LETTER SAMEKH
- 0x05E2: 0x62, # HEBREW LETTER AYIN
- 0x05E3: 0x63, # HEBREW LETTER FINAL PE
- 0x05E4: 0x64, # HEBREW LETTER PE
- 0x05E5: 0x65, # HEBREW LETTER FINAL TSADI
- 0x05E6: 0x66, # HEBREW LETTER TSADI
- 0x05E7: 0x67, # HEBREW LETTER QOF
- 0x05E8: 0x68, # HEBREW LETTER RESH
- 0x05E9: 0x69, # HEBREW LETTER SHIN
- 0x05EA: 0x71, # HEBREW LETTER TAV
- 0x2017: 0x78, # DOUBLE LOW LINE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x37, # END OF TRANSMISSION
+ 0x0005: 0x2D, # ENQUIRY
+ 0x0006: 0x2E, # ACKNOWLEDGE
+ 0x0007: 0x2F, # BELL
+ 0x0008: 0x16, # BACKSPACE
+ 0x0009: 0x05, # HORIZONTAL TABULATION
+ 0x000A: 0x25, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x3C, # DEVICE CONTROL FOUR
+ 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x32, # SYNCHRONOUS IDLE
+ 0x0017: 0x26, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x3F, # SUBSTITUTE
+ 0x001B: 0x27, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x40, # SPACE
+ 0x0021: 0x5A, # EXCLAMATION MARK
+ 0x0022: 0x7F, # QUOTATION MARK
+ 0x0023: 0x7B, # NUMBER SIGN
+ 0x0024: 0x5B, # DOLLAR SIGN
+ 0x0025: 0x6C, # PERCENT SIGN
+ 0x0026: 0x50, # AMPERSAND
+ 0x0027: 0x7D, # APOSTROPHE
+ 0x0028: 0x4D, # LEFT PARENTHESIS
+ 0x0029: 0x5D, # RIGHT PARENTHESIS
+ 0x002A: 0x5C, # ASTERISK
+ 0x002B: 0x4E, # PLUS SIGN
+ 0x002C: 0x6B, # COMMA
+ 0x002D: 0x60, # HYPHEN-MINUS
+ 0x002E: 0x4B, # FULL STOP
+ 0x002F: 0x61, # SOLIDUS
+ 0x0030: 0xF0, # DIGIT ZERO
+ 0x0031: 0xF1, # DIGIT ONE
+ 0x0032: 0xF2, # DIGIT TWO
+ 0x0033: 0xF3, # DIGIT THREE
+ 0x0034: 0xF4, # DIGIT FOUR
+ 0x0035: 0xF5, # DIGIT FIVE
+ 0x0036: 0xF6, # DIGIT SIX
+ 0x0037: 0xF7, # DIGIT SEVEN
+ 0x0038: 0xF8, # DIGIT EIGHT
+ 0x0039: 0xF9, # DIGIT NINE
+ 0x003A: 0x7A, # COLON
+ 0x003B: 0x5E, # SEMICOLON
+ 0x003C: 0x4C, # LESS-THAN SIGN
+ 0x003D: 0x7E, # EQUALS SIGN
+ 0x003E: 0x6E, # GREATER-THAN SIGN
+ 0x003F: 0x6F, # QUESTION MARK
+ 0x0040: 0x7C, # COMMERCIAL AT
+ 0x0041: 0xC1, # LATIN CAPITAL LETTER A
+ 0x0042: 0xC2, # LATIN CAPITAL LETTER B
+ 0x0043: 0xC3, # LATIN CAPITAL LETTER C
+ 0x0044: 0xC4, # LATIN CAPITAL LETTER D
+ 0x0045: 0xC5, # LATIN CAPITAL LETTER E
+ 0x0046: 0xC6, # LATIN CAPITAL LETTER F
+ 0x0047: 0xC7, # LATIN CAPITAL LETTER G
+ 0x0048: 0xC8, # LATIN CAPITAL LETTER H
+ 0x0049: 0xC9, # LATIN CAPITAL LETTER I
+ 0x004A: 0xD1, # LATIN CAPITAL LETTER J
+ 0x004B: 0xD2, # LATIN CAPITAL LETTER K
+ 0x004C: 0xD3, # LATIN CAPITAL LETTER L
+ 0x004D: 0xD4, # LATIN CAPITAL LETTER M
+ 0x004E: 0xD5, # LATIN CAPITAL LETTER N
+ 0x004F: 0xD6, # LATIN CAPITAL LETTER O
+ 0x0050: 0xD7, # LATIN CAPITAL LETTER P
+ 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
+ 0x0052: 0xD9, # LATIN CAPITAL LETTER R
+ 0x0053: 0xE2, # LATIN CAPITAL LETTER S
+ 0x0054: 0xE3, # LATIN CAPITAL LETTER T
+ 0x0055: 0xE4, # LATIN CAPITAL LETTER U
+ 0x0056: 0xE5, # LATIN CAPITAL LETTER V
+ 0x0057: 0xE6, # LATIN CAPITAL LETTER W
+ 0x0058: 0xE7, # LATIN CAPITAL LETTER X
+ 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
+ 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
+ 0x005B: 0xBA, # LEFT SQUARE BRACKET
+ 0x005C: 0xE0, # REVERSE SOLIDUS
+ 0x005D: 0xBB, # RIGHT SQUARE BRACKET
+ 0x005E: 0xB0, # CIRCUMFLEX ACCENT
+ 0x005F: 0x6D, # LOW LINE
+ 0x0060: 0x79, # GRAVE ACCENT
+ 0x0061: 0x81, # LATIN SMALL LETTER A
+ 0x0062: 0x82, # LATIN SMALL LETTER B
+ 0x0063: 0x83, # LATIN SMALL LETTER C
+ 0x0064: 0x84, # LATIN SMALL LETTER D
+ 0x0065: 0x85, # LATIN SMALL LETTER E
+ 0x0066: 0x86, # LATIN SMALL LETTER F
+ 0x0067: 0x87, # LATIN SMALL LETTER G
+ 0x0068: 0x88, # LATIN SMALL LETTER H
+ 0x0069: 0x89, # LATIN SMALL LETTER I
+ 0x006A: 0x91, # LATIN SMALL LETTER J
+ 0x006B: 0x92, # LATIN SMALL LETTER K
+ 0x006C: 0x93, # LATIN SMALL LETTER L
+ 0x006D: 0x94, # LATIN SMALL LETTER M
+ 0x006E: 0x95, # LATIN SMALL LETTER N
+ 0x006F: 0x96, # LATIN SMALL LETTER O
+ 0x0070: 0x97, # LATIN SMALL LETTER P
+ 0x0071: 0x98, # LATIN SMALL LETTER Q
+ 0x0072: 0x99, # LATIN SMALL LETTER R
+ 0x0073: 0xA2, # LATIN SMALL LETTER S
+ 0x0074: 0xA3, # LATIN SMALL LETTER T
+ 0x0075: 0xA4, # LATIN SMALL LETTER U
+ 0x0076: 0xA5, # LATIN SMALL LETTER V
+ 0x0077: 0xA6, # LATIN SMALL LETTER W
+ 0x0078: 0xA7, # LATIN SMALL LETTER X
+ 0x0079: 0xA8, # LATIN SMALL LETTER Y
+ 0x007A: 0xA9, # LATIN SMALL LETTER Z
+ 0x007B: 0xC0, # LEFT CURLY BRACKET
+ 0x007C: 0x4F, # VERTICAL LINE
+ 0x007D: 0xD0, # RIGHT CURLY BRACKET
+ 0x007E: 0xA1, # TILDE
+ 0x007F: 0x07, # DELETE
+ 0x0080: 0x20, # DIGIT SELECT
+ 0x0081: 0x21, # START OF SIGNIFICANCE
+ 0x0082: 0x22, # FIELD SEPARATOR
+ 0x0083: 0x23, # WORD UNDERSCORE
+ 0x0084: 0x24, # BYPASS OR INHIBIT PRESENTATION
+ 0x0085: 0x15, # NEW LINE
+ 0x0086: 0x06, # REQUIRED NEW LINE
+ 0x0087: 0x17, # PROGRAM OPERATOR COMMUNICATION
+ 0x0088: 0x28, # SET ATTRIBUTE
+ 0x0089: 0x29, # START FIELD EXTENDED
+ 0x008A: 0x2A, # SET MODE OR SWITCH
+ 0x008B: 0x2B, # CONTROL SEQUENCE PREFIX
+ 0x008C: 0x2C, # MODIFY FIELD ATTRIBUTE
+ 0x008D: 0x09, # SUPERSCRIPT
+ 0x008E: 0x0A, # REPEAT
+ 0x008F: 0x1B, # CUSTOMER USE ONE
+ 0x0090: 0x30, # <reserved>
+ 0x0091: 0x31, # <reserved>
+ 0x0092: 0x1A, # UNIT BACK SPACE
+ 0x0093: 0x33, # INDEX RETURN
+ 0x0094: 0x34, # PRESENTATION POSITION
+ 0x0095: 0x35, # TRANSPARENT
+ 0x0096: 0x36, # NUMERIC BACKSPACE
+ 0x0097: 0x08, # GRAPHIC ESCAPE
+ 0x0098: 0x38, # SUBSCRIPT
+ 0x0099: 0x39, # INDENT TABULATION
+ 0x009A: 0x3A, # REVERSE FORM FEED
+ 0x009B: 0x3B, # CUSTOMER USE THREE
+ 0x009C: 0x04, # SELECT
+ 0x009D: 0x14, # RESTORE/ENABLE PRESENTATION
+ 0x009E: 0x3E, # <reserved>
+ 0x009F: 0xFF, # EIGHT ONES
+ 0x00A0: 0x74, # NO-BREAK SPACE
+ 0x00A2: 0x4A, # CENT SIGN
+ 0x00A3: 0xB1, # POUND SIGN
+ 0x00A4: 0x9F, # CURRENCY SIGN
+ 0x00A5: 0xB2, # YEN SIGN
+ 0x00A6: 0x6A, # BROKEN BAR
+ 0x00A7: 0xB5, # SECTION SIGN
+ 0x00A8: 0xBD, # DIAERESIS
+ 0x00A9: 0xB4, # COPYRIGHT SIGN
+ 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0x5F, # NOT SIGN
+ 0x00AD: 0xCA, # SOFT HYPHEN
+ 0x00AE: 0xAF, # REGISTERED SIGN
+ 0x00AF: 0xBC, # MACRON
+ 0x00B0: 0x90, # DEGREE SIGN
+ 0x00B1: 0x8F, # PLUS-MINUS SIGN
+ 0x00B2: 0xEA, # SUPERSCRIPT TWO
+ 0x00B3: 0xFA, # SUPERSCRIPT THREE
+ 0x00B4: 0xBE, # ACUTE ACCENT
+ 0x00B5: 0xA0, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB3, # MIDDLE DOT
+ 0x00B8: 0x9D, # CEDILLA
+ 0x00B9: 0xDA, # SUPERSCRIPT ONE
+ 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
+ 0x00D7: 0xBF, # MULTIPLICATION SIGN
+ 0x00F7: 0xE1, # DIVISION SIGN
+ 0x05D0: 0x41, # HEBREW LETTER ALEF
+ 0x05D1: 0x42, # HEBREW LETTER BET
+ 0x05D2: 0x43, # HEBREW LETTER GIMEL
+ 0x05D3: 0x44, # HEBREW LETTER DALET
+ 0x05D4: 0x45, # HEBREW LETTER HE
+ 0x05D5: 0x46, # HEBREW LETTER VAV
+ 0x05D6: 0x47, # HEBREW LETTER ZAYIN
+ 0x05D7: 0x48, # HEBREW LETTER HET
+ 0x05D8: 0x49, # HEBREW LETTER TET
+ 0x05D9: 0x51, # HEBREW LETTER YOD
+ 0x05DA: 0x52, # HEBREW LETTER FINAL KAF
+ 0x05DB: 0x53, # HEBREW LETTER KAF
+ 0x05DC: 0x54, # HEBREW LETTER LAMED
+ 0x05DD: 0x55, # HEBREW LETTER FINAL MEM
+ 0x05DE: 0x56, # HEBREW LETTER MEM
+ 0x05DF: 0x57, # HEBREW LETTER FINAL NUN
+ 0x05E0: 0x58, # HEBREW LETTER NUN
+ 0x05E1: 0x59, # HEBREW LETTER SAMEKH
+ 0x05E2: 0x62, # HEBREW LETTER AYIN
+ 0x05E3: 0x63, # HEBREW LETTER FINAL PE
+ 0x05E4: 0x64, # HEBREW LETTER PE
+ 0x05E5: 0x65, # HEBREW LETTER FINAL TSADI
+ 0x05E6: 0x66, # HEBREW LETTER TSADI
+ 0x05E7: 0x67, # HEBREW LETTER QOF
+ 0x05E8: 0x68, # HEBREW LETTER RESH
+ 0x05E9: 0x69, # HEBREW LETTER SHIN
+ 0x05EA: 0x71, # HEBREW LETTER TAV
+ 0x2017: 0x78, # DOUBLE LOW LINE
}
-
diff --git a/Lib/encodings/cp437.py b/Lib/encodings/cp437.py
index ee3fca3..e9cefaf 100644
--- a/Lib/encodings/cp437.py
+++ b/Lib/encodings/cp437.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
- 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
- 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00a2, # CENT SIGN
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00a5, # YEN SIGN
- 0x009e: 0x20a7, # PESETA SIGN
- 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
- 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x2310, # REVERSED NOT SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
- 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00ec: 0x221e, # INFINITY
- 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00ef: 0x2229, # INTERSECTION
- 0x00f0: 0x2261, # IDENTICAL TO
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x2320, # TOP HALF INTEGRAL
- 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+ 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00a2, # CENT SIGN
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00a5, # YEN SIGN
+ 0x009e: 0x20a7, # PESETA SIGN
+ 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+ 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x2310, # REVERSED NOT SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00ec: 0x221e, # INFINITY
+ 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00ef: 0x2229, # INTERSECTION
+ 0x00f0: 0x2261, # IDENTICAL TO
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x2320, # TOP HALF INTEGRAL
+ 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
- u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xff' # 0x0098 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xa2' # 0x009b -> CENT SIGN
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xa5' # 0x009d -> YEN SIGN
- u'\u20a7' # 0x009e -> PESETA SIGN
- u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
- u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
- u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
- u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
- u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
- u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
- u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
- u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
- u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
- u'\u221e' # 0x00ec -> INFINITY
- u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
- u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
- u'\u2229' # 0x00ef -> INTERSECTION
- u'\u2261' # 0x00f0 -> IDENTICAL TO
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
- u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
+ u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xff' # 0x0098 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xa2' # 0x009b -> CENT SIGN
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xa5' # 0x009d -> YEN SIGN
+ u'\u20a7' # 0x009e -> PESETA SIGN
+ u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
+ u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
+ u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
+ u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
+ u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
+ u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
+ u'\u221e' # 0x00ec -> INFINITY
+ u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
+ u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
+ u'\u2229' # 0x00ef -> INTERSECTION
+ u'\u2261' # 0x00f0 -> IDENTICAL TO
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
+ u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a2: 0x009b, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a5: 0x009d, # YEN SIGN
- 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
- 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00ff: 0x0098, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
- 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
- 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
- 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
- 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
- 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
- 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
- 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
- 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
- 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
- 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x20a7: 0x009e, # PESETA SIGN
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x221e: 0x00ec, # INFINITY
- 0x2229: 0x00ef, # INTERSECTION
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2261: 0x00f0, # IDENTICAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2310: 0x00a9, # REVERSED NOT SIGN
- 0x2320: 0x00f4, # TOP HALF INTEGRAL
- 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a2: 0x009b, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a5: 0x009d, # YEN SIGN
+ 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00ff: 0x0098, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
+ 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
+ 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
+ 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
+ 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
+ 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
+ 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
+ 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
+ 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
+ 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
+ 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x20a7: 0x009e, # PESETA SIGN
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x221e: 0x00ec, # INFINITY
+ 0x2229: 0x00ef, # INTERSECTION
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2261: 0x00f0, # IDENTICAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2310: 0x00a9, # REVERSED NOT SIGN
+ 0x2320: 0x00f4, # TOP HALF INTEGRAL
+ 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp500.py b/Lib/encodings/cp500.py
index 562bc9c..3bbefa0 100644
--- a/Lib/encodings/cp500.py
+++ b/Lib/encodings/cp500.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x9c' # 0x04 -> CONTROL
- u'\t' # 0x05 -> HORIZONTAL TABULATION
- u'\x86' # 0x06 -> CONTROL
- u'\x7f' # 0x07 -> DELETE
- u'\x97' # 0x08 -> CONTROL
- u'\x8d' # 0x09 -> CONTROL
- u'\x8e' # 0x0A -> CONTROL
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x9d' # 0x14 -> CONTROL
- u'\x85' # 0x15 -> CONTROL
- u'\x08' # 0x16 -> BACKSPACE
- u'\x87' # 0x17 -> CONTROL
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x92' # 0x1A -> CONTROL
- u'\x8f' # 0x1B -> CONTROL
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u'\x80' # 0x20 -> CONTROL
- u'\x81' # 0x21 -> CONTROL
- u'\x82' # 0x22 -> CONTROL
- u'\x83' # 0x23 -> CONTROL
- u'\x84' # 0x24 -> CONTROL
- u'\n' # 0x25 -> LINE FEED
- u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
- u'\x1b' # 0x27 -> ESCAPE
- u'\x88' # 0x28 -> CONTROL
- u'\x89' # 0x29 -> CONTROL
- u'\x8a' # 0x2A -> CONTROL
- u'\x8b' # 0x2B -> CONTROL
- u'\x8c' # 0x2C -> CONTROL
- u'\x05' # 0x2D -> ENQUIRY
- u'\x06' # 0x2E -> ACKNOWLEDGE
- u'\x07' # 0x2F -> BELL
- u'\x90' # 0x30 -> CONTROL
- u'\x91' # 0x31 -> CONTROL
- u'\x16' # 0x32 -> SYNCHRONOUS IDLE
- u'\x93' # 0x33 -> CONTROL
- u'\x94' # 0x34 -> CONTROL
- u'\x95' # 0x35 -> CONTROL
- u'\x96' # 0x36 -> CONTROL
- u'\x04' # 0x37 -> END OF TRANSMISSION
- u'\x98' # 0x38 -> CONTROL
- u'\x99' # 0x39 -> CONTROL
- u'\x9a' # 0x3A -> CONTROL
- u'\x9b' # 0x3B -> CONTROL
- u'\x14' # 0x3C -> DEVICE CONTROL FOUR
- u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
- u'\x9e' # 0x3E -> CONTROL
- u'\x1a' # 0x3F -> SUBSTITUTE
- u' ' # 0x40 -> SPACE
- u'\xa0' # 0x41 -> NO-BREAK SPACE
- u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x48 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
- u'[' # 0x4A -> LEFT SQUARE BRACKET
- u'.' # 0x4B -> FULL STOP
- u'<' # 0x4C -> LESS-THAN SIGN
- u'(' # 0x4D -> LEFT PARENTHESIS
- u'+' # 0x4E -> PLUS SIGN
- u'!' # 0x4F -> EXCLAMATION MARK
- u'&' # 0x50 -> AMPERSAND
- u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
- u']' # 0x5A -> RIGHT SQUARE BRACKET
- u'$' # 0x5B -> DOLLAR SIGN
- u'*' # 0x5C -> ASTERISK
- u')' # 0x5D -> RIGHT PARENTHESIS
- u';' # 0x5E -> SEMICOLON
- u'^' # 0x5F -> CIRCUMFLEX ACCENT
- u'-' # 0x60 -> HYPHEN-MINUS
- u'/' # 0x61 -> SOLIDUS
- u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x68 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xa6' # 0x6A -> BROKEN BAR
- u',' # 0x6B -> COMMA
- u'%' # 0x6C -> PERCENT SIGN
- u'_' # 0x6D -> LOW LINE
- u'>' # 0x6E -> GREATER-THAN SIGN
- u'?' # 0x6F -> QUESTION MARK
- u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
- u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
- u'`' # 0x79 -> GRAVE ACCENT
- u':' # 0x7A -> COLON
- u'#' # 0x7B -> NUMBER SIGN
- u'@' # 0x7C -> COMMERCIAL AT
- u"'" # 0x7D -> APOSTROPHE
- u'=' # 0x7E -> EQUALS SIGN
- u'"' # 0x7F -> QUOTATION MARK
- u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
- u'a' # 0x81 -> LATIN SMALL LETTER A
- u'b' # 0x82 -> LATIN SMALL LETTER B
- u'c' # 0x83 -> LATIN SMALL LETTER C
- u'd' # 0x84 -> LATIN SMALL LETTER D
- u'e' # 0x85 -> LATIN SMALL LETTER E
- u'f' # 0x86 -> LATIN SMALL LETTER F
- u'g' # 0x87 -> LATIN SMALL LETTER G
- u'h' # 0x88 -> LATIN SMALL LETTER H
- u'i' # 0x89 -> LATIN SMALL LETTER I
- u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xf0' # 0x8C -> LATIN SMALL LETTER ETH (ICELANDIC)
- u'\xfd' # 0x8D -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0x8E -> LATIN SMALL LETTER THORN (ICELANDIC)
- u'\xb1' # 0x8F -> PLUS-MINUS SIGN
- u'\xb0' # 0x90 -> DEGREE SIGN
- u'j' # 0x91 -> LATIN SMALL LETTER J
- u'k' # 0x92 -> LATIN SMALL LETTER K
- u'l' # 0x93 -> LATIN SMALL LETTER L
- u'm' # 0x94 -> LATIN SMALL LETTER M
- u'n' # 0x95 -> LATIN SMALL LETTER N
- u'o' # 0x96 -> LATIN SMALL LETTER O
- u'p' # 0x97 -> LATIN SMALL LETTER P
- u'q' # 0x98 -> LATIN SMALL LETTER Q
- u'r' # 0x99 -> LATIN SMALL LETTER R
- u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
- u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
- u'\xb8' # 0x9D -> CEDILLA
- u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
- u'\xa4' # 0x9F -> CURRENCY SIGN
- u'\xb5' # 0xA0 -> MICRO SIGN
- u'~' # 0xA1 -> TILDE
- u's' # 0xA2 -> LATIN SMALL LETTER S
- u't' # 0xA3 -> LATIN SMALL LETTER T
- u'u' # 0xA4 -> LATIN SMALL LETTER U
- u'v' # 0xA5 -> LATIN SMALL LETTER V
- u'w' # 0xA6 -> LATIN SMALL LETTER W
- u'x' # 0xA7 -> LATIN SMALL LETTER X
- u'y' # 0xA8 -> LATIN SMALL LETTER Y
- u'z' # 0xA9 -> LATIN SMALL LETTER Z
- u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
- u'\xbf' # 0xAB -> INVERTED QUESTION MARK
- u'\xd0' # 0xAC -> LATIN CAPITAL LETTER ETH (ICELANDIC)
- u'\xdd' # 0xAD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xAE -> LATIN CAPITAL LETTER THORN (ICELANDIC)
- u'\xae' # 0xAF -> REGISTERED SIGN
- u'\xa2' # 0xB0 -> CENT SIGN
- u'\xa3' # 0xB1 -> POUND SIGN
- u'\xa5' # 0xB2 -> YEN SIGN
- u'\xb7' # 0xB3 -> MIDDLE DOT
- u'\xa9' # 0xB4 -> COPYRIGHT SIGN
- u'\xa7' # 0xB5 -> SECTION SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
- u'\xac' # 0xBA -> NOT SIGN
- u'|' # 0xBB -> VERTICAL LINE
- u'\xaf' # 0xBC -> MACRON
- u'\xa8' # 0xBD -> DIAERESIS
- u'\xb4' # 0xBE -> ACUTE ACCENT
- u'\xd7' # 0xBF -> MULTIPLICATION SIGN
- u'{' # 0xC0 -> LEFT CURLY BRACKET
- u'A' # 0xC1 -> LATIN CAPITAL LETTER A
- u'B' # 0xC2 -> LATIN CAPITAL LETTER B
- u'C' # 0xC3 -> LATIN CAPITAL LETTER C
- u'D' # 0xC4 -> LATIN CAPITAL LETTER D
- u'E' # 0xC5 -> LATIN CAPITAL LETTER E
- u'F' # 0xC6 -> LATIN CAPITAL LETTER F
- u'G' # 0xC7 -> LATIN CAPITAL LETTER G
- u'H' # 0xC8 -> LATIN CAPITAL LETTER H
- u'I' # 0xC9 -> LATIN CAPITAL LETTER I
- u'\xad' # 0xCA -> SOFT HYPHEN
- u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0xCC -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
- u'}' # 0xD0 -> RIGHT CURLY BRACKET
- u'J' # 0xD1 -> LATIN CAPITAL LETTER J
- u'K' # 0xD2 -> LATIN CAPITAL LETTER K
- u'L' # 0xD3 -> LATIN CAPITAL LETTER L
- u'M' # 0xD4 -> LATIN CAPITAL LETTER M
- u'N' # 0xD5 -> LATIN CAPITAL LETTER N
- u'O' # 0xD6 -> LATIN CAPITAL LETTER O
- u'P' # 0xD7 -> LATIN CAPITAL LETTER P
- u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
- u'R' # 0xD9 -> LATIN CAPITAL LETTER R
- u'\xb9' # 0xDA -> SUPERSCRIPT ONE
- u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xDC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
- u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\\' # 0xE0 -> REVERSE SOLIDUS
- u'\xf7' # 0xE1 -> DIVISION SIGN
- u'S' # 0xE2 -> LATIN CAPITAL LETTER S
- u'T' # 0xE3 -> LATIN CAPITAL LETTER T
- u'U' # 0xE4 -> LATIN CAPITAL LETTER U
- u'V' # 0xE5 -> LATIN CAPITAL LETTER V
- u'W' # 0xE6 -> LATIN CAPITAL LETTER W
- u'X' # 0xE7 -> LATIN CAPITAL LETTER X
- u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
- u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
- u'\xb2' # 0xEA -> SUPERSCRIPT TWO
- u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd6' # 0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
- u'0' # 0xF0 -> DIGIT ZERO
- u'1' # 0xF1 -> DIGIT ONE
- u'2' # 0xF2 -> DIGIT TWO
- u'3' # 0xF3 -> DIGIT THREE
- u'4' # 0xF4 -> DIGIT FOUR
- u'5' # 0xF5 -> DIGIT FIVE
- u'6' # 0xF6 -> DIGIT SIX
- u'7' # 0xF7 -> DIGIT SEVEN
- u'8' # 0xF8 -> DIGIT EIGHT
- u'9' # 0xF9 -> DIGIT NINE
- u'\xb3' # 0xFA -> SUPERSCRIPT THREE
- u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\x9f' # 0xFF -> CONTROL
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x9c' # 0x04 -> CONTROL
+ u'\t' # 0x05 -> HORIZONTAL TABULATION
+ u'\x86' # 0x06 -> CONTROL
+ u'\x7f' # 0x07 -> DELETE
+ u'\x97' # 0x08 -> CONTROL
+ u'\x8d' # 0x09 -> CONTROL
+ u'\x8e' # 0x0A -> CONTROL
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x9d' # 0x14 -> CONTROL
+ u'\x85' # 0x15 -> CONTROL
+ u'\x08' # 0x16 -> BACKSPACE
+ u'\x87' # 0x17 -> CONTROL
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x92' # 0x1A -> CONTROL
+ u'\x8f' # 0x1B -> CONTROL
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u'\x80' # 0x20 -> CONTROL
+ u'\x81' # 0x21 -> CONTROL
+ u'\x82' # 0x22 -> CONTROL
+ u'\x83' # 0x23 -> CONTROL
+ u'\x84' # 0x24 -> CONTROL
+ u'\n' # 0x25 -> LINE FEED
+ u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
+ u'\x1b' # 0x27 -> ESCAPE
+ u'\x88' # 0x28 -> CONTROL
+ u'\x89' # 0x29 -> CONTROL
+ u'\x8a' # 0x2A -> CONTROL
+ u'\x8b' # 0x2B -> CONTROL
+ u'\x8c' # 0x2C -> CONTROL
+ u'\x05' # 0x2D -> ENQUIRY
+ u'\x06' # 0x2E -> ACKNOWLEDGE
+ u'\x07' # 0x2F -> BELL
+ u'\x90' # 0x30 -> CONTROL
+ u'\x91' # 0x31 -> CONTROL
+ u'\x16' # 0x32 -> SYNCHRONOUS IDLE
+ u'\x93' # 0x33 -> CONTROL
+ u'\x94' # 0x34 -> CONTROL
+ u'\x95' # 0x35 -> CONTROL
+ u'\x96' # 0x36 -> CONTROL
+ u'\x04' # 0x37 -> END OF TRANSMISSION
+ u'\x98' # 0x38 -> CONTROL
+ u'\x99' # 0x39 -> CONTROL
+ u'\x9a' # 0x3A -> CONTROL
+ u'\x9b' # 0x3B -> CONTROL
+ u'\x14' # 0x3C -> DEVICE CONTROL FOUR
+ u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
+ u'\x9e' # 0x3E -> CONTROL
+ u'\x1a' # 0x3F -> SUBSTITUTE
+ u' ' # 0x40 -> SPACE
+ u'\xa0' # 0x41 -> NO-BREAK SPACE
+ u'\xe2' # 0x42 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x43 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x44 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0x45 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe3' # 0x46 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x47 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x48 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xf1' # 0x49 -> LATIN SMALL LETTER N WITH TILDE
+ u'[' # 0x4A -> LEFT SQUARE BRACKET
+ u'.' # 0x4B -> FULL STOP
+ u'<' # 0x4C -> LESS-THAN SIGN
+ u'(' # 0x4D -> LEFT PARENTHESIS
+ u'+' # 0x4E -> PLUS SIGN
+ u'!' # 0x4F -> EXCLAMATION MARK
+ u'&' # 0x50 -> AMPERSAND
+ u'\xe9' # 0x51 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0x52 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x53 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x54 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xed' # 0x55 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0x56 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x57 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xec' # 0x58 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xdf' # 0x59 -> LATIN SMALL LETTER SHARP S (GERMAN)
+ u']' # 0x5A -> RIGHT SQUARE BRACKET
+ u'$' # 0x5B -> DOLLAR SIGN
+ u'*' # 0x5C -> ASTERISK
+ u')' # 0x5D -> RIGHT PARENTHESIS
+ u';' # 0x5E -> SEMICOLON
+ u'^' # 0x5F -> CIRCUMFLEX ACCENT
+ u'-' # 0x60 -> HYPHEN-MINUS
+ u'/' # 0x61 -> SOLIDUS
+ u'\xc2' # 0x62 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc4' # 0x63 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc0' # 0x64 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0x65 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc3' # 0x66 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc5' # 0x67 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x68 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xd1' # 0x69 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xa6' # 0x6A -> BROKEN BAR
+ u',' # 0x6B -> COMMA
+ u'%' # 0x6C -> PERCENT SIGN
+ u'_' # 0x6D -> LOW LINE
+ u'>' # 0x6E -> GREATER-THAN SIGN
+ u'?' # 0x6F -> QUESTION MARK
+ u'\xf8' # 0x70 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xc9' # 0x71 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0x72 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0x73 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0x74 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0x75 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x76 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0x77 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0x78 -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'`' # 0x79 -> GRAVE ACCENT
+ u':' # 0x7A -> COLON
+ u'#' # 0x7B -> NUMBER SIGN
+ u'@' # 0x7C -> COMMERCIAL AT
+ u"'" # 0x7D -> APOSTROPHE
+ u'=' # 0x7E -> EQUALS SIGN
+ u'"' # 0x7F -> QUOTATION MARK
+ u'\xd8' # 0x80 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'a' # 0x81 -> LATIN SMALL LETTER A
+ u'b' # 0x82 -> LATIN SMALL LETTER B
+ u'c' # 0x83 -> LATIN SMALL LETTER C
+ u'd' # 0x84 -> LATIN SMALL LETTER D
+ u'e' # 0x85 -> LATIN SMALL LETTER E
+ u'f' # 0x86 -> LATIN SMALL LETTER F
+ u'g' # 0x87 -> LATIN SMALL LETTER G
+ u'h' # 0x88 -> LATIN SMALL LETTER H
+ u'i' # 0x89 -> LATIN SMALL LETTER I
+ u'\xab' # 0x8A -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x8B -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xf0' # 0x8C -> LATIN SMALL LETTER ETH (ICELANDIC)
+ u'\xfd' # 0x8D -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0x8E -> LATIN SMALL LETTER THORN (ICELANDIC)
+ u'\xb1' # 0x8F -> PLUS-MINUS SIGN
+ u'\xb0' # 0x90 -> DEGREE SIGN
+ u'j' # 0x91 -> LATIN SMALL LETTER J
+ u'k' # 0x92 -> LATIN SMALL LETTER K
+ u'l' # 0x93 -> LATIN SMALL LETTER L
+ u'm' # 0x94 -> LATIN SMALL LETTER M
+ u'n' # 0x95 -> LATIN SMALL LETTER N
+ u'o' # 0x96 -> LATIN SMALL LETTER O
+ u'p' # 0x97 -> LATIN SMALL LETTER P
+ u'q' # 0x98 -> LATIN SMALL LETTER Q
+ u'r' # 0x99 -> LATIN SMALL LETTER R
+ u'\xaa' # 0x9A -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x9B -> MASCULINE ORDINAL INDICATOR
+ u'\xe6' # 0x9C -> LATIN SMALL LIGATURE AE
+ u'\xb8' # 0x9D -> CEDILLA
+ u'\xc6' # 0x9E -> LATIN CAPITAL LIGATURE AE
+ u'\xa4' # 0x9F -> CURRENCY SIGN
+ u'\xb5' # 0xA0 -> MICRO SIGN
+ u'~' # 0xA1 -> TILDE
+ u's' # 0xA2 -> LATIN SMALL LETTER S
+ u't' # 0xA3 -> LATIN SMALL LETTER T
+ u'u' # 0xA4 -> LATIN SMALL LETTER U
+ u'v' # 0xA5 -> LATIN SMALL LETTER V
+ u'w' # 0xA6 -> LATIN SMALL LETTER W
+ u'x' # 0xA7 -> LATIN SMALL LETTER X
+ u'y' # 0xA8 -> LATIN SMALL LETTER Y
+ u'z' # 0xA9 -> LATIN SMALL LETTER Z
+ u'\xa1' # 0xAA -> INVERTED EXCLAMATION MARK
+ u'\xbf' # 0xAB -> INVERTED QUESTION MARK
+ u'\xd0' # 0xAC -> LATIN CAPITAL LETTER ETH (ICELANDIC)
+ u'\xdd' # 0xAD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xAE -> LATIN CAPITAL LETTER THORN (ICELANDIC)
+ u'\xae' # 0xAF -> REGISTERED SIGN
+ u'\xa2' # 0xB0 -> CENT SIGN
+ u'\xa3' # 0xB1 -> POUND SIGN
+ u'\xa5' # 0xB2 -> YEN SIGN
+ u'\xb7' # 0xB3 -> MIDDLE DOT
+ u'\xa9' # 0xB4 -> COPYRIGHT SIGN
+ u'\xa7' # 0xB5 -> SECTION SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xbc' # 0xB7 -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xB8 -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xB9 -> VULGAR FRACTION THREE QUARTERS
+ u'\xac' # 0xBA -> NOT SIGN
+ u'|' # 0xBB -> VERTICAL LINE
+ u'\xaf' # 0xBC -> MACRON
+ u'\xa8' # 0xBD -> DIAERESIS
+ u'\xb4' # 0xBE -> ACUTE ACCENT
+ u'\xd7' # 0xBF -> MULTIPLICATION SIGN
+ u'{' # 0xC0 -> LEFT CURLY BRACKET
+ u'A' # 0xC1 -> LATIN CAPITAL LETTER A
+ u'B' # 0xC2 -> LATIN CAPITAL LETTER B
+ u'C' # 0xC3 -> LATIN CAPITAL LETTER C
+ u'D' # 0xC4 -> LATIN CAPITAL LETTER D
+ u'E' # 0xC5 -> LATIN CAPITAL LETTER E
+ u'F' # 0xC6 -> LATIN CAPITAL LETTER F
+ u'G' # 0xC7 -> LATIN CAPITAL LETTER G
+ u'H' # 0xC8 -> LATIN CAPITAL LETTER H
+ u'I' # 0xC9 -> LATIN CAPITAL LETTER I
+ u'\xad' # 0xCA -> SOFT HYPHEN
+ u'\xf4' # 0xCB -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0xCC -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0xCD -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xCE -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf5' # 0xCF -> LATIN SMALL LETTER O WITH TILDE
+ u'}' # 0xD0 -> RIGHT CURLY BRACKET
+ u'J' # 0xD1 -> LATIN CAPITAL LETTER J
+ u'K' # 0xD2 -> LATIN CAPITAL LETTER K
+ u'L' # 0xD3 -> LATIN CAPITAL LETTER L
+ u'M' # 0xD4 -> LATIN CAPITAL LETTER M
+ u'N' # 0xD5 -> LATIN CAPITAL LETTER N
+ u'O' # 0xD6 -> LATIN CAPITAL LETTER O
+ u'P' # 0xD7 -> LATIN CAPITAL LETTER P
+ u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
+ u'R' # 0xD9 -> LATIN CAPITAL LETTER R
+ u'\xb9' # 0xDA -> SUPERSCRIPT ONE
+ u'\xfb' # 0xDB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xDC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xf9' # 0xDD -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xDE -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xff' # 0xDF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\\' # 0xE0 -> REVERSE SOLIDUS
+ u'\xf7' # 0xE1 -> DIVISION SIGN
+ u'S' # 0xE2 -> LATIN CAPITAL LETTER S
+ u'T' # 0xE3 -> LATIN CAPITAL LETTER T
+ u'U' # 0xE4 -> LATIN CAPITAL LETTER U
+ u'V' # 0xE5 -> LATIN CAPITAL LETTER V
+ u'W' # 0xE6 -> LATIN CAPITAL LETTER W
+ u'X' # 0xE7 -> LATIN CAPITAL LETTER X
+ u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
+ u'\xb2' # 0xEA -> SUPERSCRIPT TWO
+ u'\xd4' # 0xEB -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd6' # 0xEC -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd2' # 0xED -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd5' # 0xEF -> LATIN CAPITAL LETTER O WITH TILDE
+ u'0' # 0xF0 -> DIGIT ZERO
+ u'1' # 0xF1 -> DIGIT ONE
+ u'2' # 0xF2 -> DIGIT TWO
+ u'3' # 0xF3 -> DIGIT THREE
+ u'4' # 0xF4 -> DIGIT FOUR
+ u'5' # 0xF5 -> DIGIT FIVE
+ u'6' # 0xF6 -> DIGIT SIX
+ u'7' # 0xF7 -> DIGIT SEVEN
+ u'8' # 0xF8 -> DIGIT EIGHT
+ u'9' # 0xF9 -> DIGIT NINE
+ u'\xb3' # 0xFA -> SUPERSCRIPT THREE
+ u'\xdb' # 0xFB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xFC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xd9' # 0xFD -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xFE -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\x9f' # 0xFF -> CONTROL
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x37, # END OF TRANSMISSION
- 0x0005: 0x2D, # ENQUIRY
- 0x0006: 0x2E, # ACKNOWLEDGE
- 0x0007: 0x2F, # BELL
- 0x0008: 0x16, # BACKSPACE
- 0x0009: 0x05, # HORIZONTAL TABULATION
- 0x000A: 0x25, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x3C, # DEVICE CONTROL FOUR
- 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x32, # SYNCHRONOUS IDLE
- 0x0017: 0x26, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x3F, # SUBSTITUTE
- 0x001B: 0x27, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x40, # SPACE
- 0x0021: 0x4F, # EXCLAMATION MARK
- 0x0022: 0x7F, # QUOTATION MARK
- 0x0023: 0x7B, # NUMBER SIGN
- 0x0024: 0x5B, # DOLLAR SIGN
- 0x0025: 0x6C, # PERCENT SIGN
- 0x0026: 0x50, # AMPERSAND
- 0x0027: 0x7D, # APOSTROPHE
- 0x0028: 0x4D, # LEFT PARENTHESIS
- 0x0029: 0x5D, # RIGHT PARENTHESIS
- 0x002A: 0x5C, # ASTERISK
- 0x002B: 0x4E, # PLUS SIGN
- 0x002C: 0x6B, # COMMA
- 0x002D: 0x60, # HYPHEN-MINUS
- 0x002E: 0x4B, # FULL STOP
- 0x002F: 0x61, # SOLIDUS
- 0x0030: 0xF0, # DIGIT ZERO
- 0x0031: 0xF1, # DIGIT ONE
- 0x0032: 0xF2, # DIGIT TWO
- 0x0033: 0xF3, # DIGIT THREE
- 0x0034: 0xF4, # DIGIT FOUR
- 0x0035: 0xF5, # DIGIT FIVE
- 0x0036: 0xF6, # DIGIT SIX
- 0x0037: 0xF7, # DIGIT SEVEN
- 0x0038: 0xF8, # DIGIT EIGHT
- 0x0039: 0xF9, # DIGIT NINE
- 0x003A: 0x7A, # COLON
- 0x003B: 0x5E, # SEMICOLON
- 0x003C: 0x4C, # LESS-THAN SIGN
- 0x003D: 0x7E, # EQUALS SIGN
- 0x003E: 0x6E, # GREATER-THAN SIGN
- 0x003F: 0x6F, # QUESTION MARK
- 0x0040: 0x7C, # COMMERCIAL AT
- 0x0041: 0xC1, # LATIN CAPITAL LETTER A
- 0x0042: 0xC2, # LATIN CAPITAL LETTER B
- 0x0043: 0xC3, # LATIN CAPITAL LETTER C
- 0x0044: 0xC4, # LATIN CAPITAL LETTER D
- 0x0045: 0xC5, # LATIN CAPITAL LETTER E
- 0x0046: 0xC6, # LATIN CAPITAL LETTER F
- 0x0047: 0xC7, # LATIN CAPITAL LETTER G
- 0x0048: 0xC8, # LATIN CAPITAL LETTER H
- 0x0049: 0xC9, # LATIN CAPITAL LETTER I
- 0x004A: 0xD1, # LATIN CAPITAL LETTER J
- 0x004B: 0xD2, # LATIN CAPITAL LETTER K
- 0x004C: 0xD3, # LATIN CAPITAL LETTER L
- 0x004D: 0xD4, # LATIN CAPITAL LETTER M
- 0x004E: 0xD5, # LATIN CAPITAL LETTER N
- 0x004F: 0xD6, # LATIN CAPITAL LETTER O
- 0x0050: 0xD7, # LATIN CAPITAL LETTER P
- 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
- 0x0052: 0xD9, # LATIN CAPITAL LETTER R
- 0x0053: 0xE2, # LATIN CAPITAL LETTER S
- 0x0054: 0xE3, # LATIN CAPITAL LETTER T
- 0x0055: 0xE4, # LATIN CAPITAL LETTER U
- 0x0056: 0xE5, # LATIN CAPITAL LETTER V
- 0x0057: 0xE6, # LATIN CAPITAL LETTER W
- 0x0058: 0xE7, # LATIN CAPITAL LETTER X
- 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
- 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
- 0x005B: 0x4A, # LEFT SQUARE BRACKET
- 0x005C: 0xE0, # REVERSE SOLIDUS
- 0x005D: 0x5A, # RIGHT SQUARE BRACKET
- 0x005E: 0x5F, # CIRCUMFLEX ACCENT
- 0x005F: 0x6D, # LOW LINE
- 0x0060: 0x79, # GRAVE ACCENT
- 0x0061: 0x81, # LATIN SMALL LETTER A
- 0x0062: 0x82, # LATIN SMALL LETTER B
- 0x0063: 0x83, # LATIN SMALL LETTER C
- 0x0064: 0x84, # LATIN SMALL LETTER D
- 0x0065: 0x85, # LATIN SMALL LETTER E
- 0x0066: 0x86, # LATIN SMALL LETTER F
- 0x0067: 0x87, # LATIN SMALL LETTER G
- 0x0068: 0x88, # LATIN SMALL LETTER H
- 0x0069: 0x89, # LATIN SMALL LETTER I
- 0x006A: 0x91, # LATIN SMALL LETTER J
- 0x006B: 0x92, # LATIN SMALL LETTER K
- 0x006C: 0x93, # LATIN SMALL LETTER L
- 0x006D: 0x94, # LATIN SMALL LETTER M
- 0x006E: 0x95, # LATIN SMALL LETTER N
- 0x006F: 0x96, # LATIN SMALL LETTER O
- 0x0070: 0x97, # LATIN SMALL LETTER P
- 0x0071: 0x98, # LATIN SMALL LETTER Q
- 0x0072: 0x99, # LATIN SMALL LETTER R
- 0x0073: 0xA2, # LATIN SMALL LETTER S
- 0x0074: 0xA3, # LATIN SMALL LETTER T
- 0x0075: 0xA4, # LATIN SMALL LETTER U
- 0x0076: 0xA5, # LATIN SMALL LETTER V
- 0x0077: 0xA6, # LATIN SMALL LETTER W
- 0x0078: 0xA7, # LATIN SMALL LETTER X
- 0x0079: 0xA8, # LATIN SMALL LETTER Y
- 0x007A: 0xA9, # LATIN SMALL LETTER Z
- 0x007B: 0xC0, # LEFT CURLY BRACKET
- 0x007C: 0xBB, # VERTICAL LINE
- 0x007D: 0xD0, # RIGHT CURLY BRACKET
- 0x007E: 0xA1, # TILDE
- 0x007F: 0x07, # DELETE
- 0x0080: 0x20, # CONTROL
- 0x0081: 0x21, # CONTROL
- 0x0082: 0x22, # CONTROL
- 0x0083: 0x23, # CONTROL
- 0x0084: 0x24, # CONTROL
- 0x0085: 0x15, # CONTROL
- 0x0086: 0x06, # CONTROL
- 0x0087: 0x17, # CONTROL
- 0x0088: 0x28, # CONTROL
- 0x0089: 0x29, # CONTROL
- 0x008A: 0x2A, # CONTROL
- 0x008B: 0x2B, # CONTROL
- 0x008C: 0x2C, # CONTROL
- 0x008D: 0x09, # CONTROL
- 0x008E: 0x0A, # CONTROL
- 0x008F: 0x1B, # CONTROL
- 0x0090: 0x30, # CONTROL
- 0x0091: 0x31, # CONTROL
- 0x0092: 0x1A, # CONTROL
- 0x0093: 0x33, # CONTROL
- 0x0094: 0x34, # CONTROL
- 0x0095: 0x35, # CONTROL
- 0x0096: 0x36, # CONTROL
- 0x0097: 0x08, # CONTROL
- 0x0098: 0x38, # CONTROL
- 0x0099: 0x39, # CONTROL
- 0x009A: 0x3A, # CONTROL
- 0x009B: 0x3B, # CONTROL
- 0x009C: 0x04, # CONTROL
- 0x009D: 0x14, # CONTROL
- 0x009E: 0x3E, # CONTROL
- 0x009F: 0xFF, # CONTROL
- 0x00A0: 0x41, # NO-BREAK SPACE
- 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xB0, # CENT SIGN
- 0x00A3: 0xB1, # POUND SIGN
- 0x00A4: 0x9F, # CURRENCY SIGN
- 0x00A5: 0xB2, # YEN SIGN
- 0x00A6: 0x6A, # BROKEN BAR
- 0x00A7: 0xB5, # SECTION SIGN
- 0x00A8: 0xBD, # DIAERESIS
- 0x00A9: 0xB4, # COPYRIGHT SIGN
- 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xBA, # NOT SIGN
- 0x00AD: 0xCA, # SOFT HYPHEN
- 0x00AE: 0xAF, # REGISTERED SIGN
- 0x00AF: 0xBC, # MACRON
- 0x00B0: 0x90, # DEGREE SIGN
- 0x00B1: 0x8F, # PLUS-MINUS SIGN
- 0x00B2: 0xEA, # SUPERSCRIPT TWO
- 0x00B3: 0xFA, # SUPERSCRIPT THREE
- 0x00B4: 0xBE, # ACUTE ACCENT
- 0x00B5: 0xA0, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB3, # MIDDLE DOT
- 0x00B8: 0x9D, # CEDILLA
- 0x00B9: 0xDA, # SUPERSCRIPT ONE
- 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xAB, # INVERTED QUESTION MARK
- 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
- 0x00C7: 0x68, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xAC, # LATIN CAPITAL LETTER ETH (ICELANDIC)
- 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xEC, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xBF, # MULTIPLICATION SIGN
- 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xFC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xAD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xAE, # LATIN CAPITAL LETTER THORN (ICELANDIC)
- 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
- 0x00E7: 0x48, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0x8C, # LATIN SMALL LETTER ETH (ICELANDIC)
- 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xCC, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xE1, # DIVISION SIGN
- 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xDC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0x8D, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
- 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x37, # END OF TRANSMISSION
+ 0x0005: 0x2D, # ENQUIRY
+ 0x0006: 0x2E, # ACKNOWLEDGE
+ 0x0007: 0x2F, # BELL
+ 0x0008: 0x16, # BACKSPACE
+ 0x0009: 0x05, # HORIZONTAL TABULATION
+ 0x000A: 0x25, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x3C, # DEVICE CONTROL FOUR
+ 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x32, # SYNCHRONOUS IDLE
+ 0x0017: 0x26, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x3F, # SUBSTITUTE
+ 0x001B: 0x27, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x40, # SPACE
+ 0x0021: 0x4F, # EXCLAMATION MARK
+ 0x0022: 0x7F, # QUOTATION MARK
+ 0x0023: 0x7B, # NUMBER SIGN
+ 0x0024: 0x5B, # DOLLAR SIGN
+ 0x0025: 0x6C, # PERCENT SIGN
+ 0x0026: 0x50, # AMPERSAND
+ 0x0027: 0x7D, # APOSTROPHE
+ 0x0028: 0x4D, # LEFT PARENTHESIS
+ 0x0029: 0x5D, # RIGHT PARENTHESIS
+ 0x002A: 0x5C, # ASTERISK
+ 0x002B: 0x4E, # PLUS SIGN
+ 0x002C: 0x6B, # COMMA
+ 0x002D: 0x60, # HYPHEN-MINUS
+ 0x002E: 0x4B, # FULL STOP
+ 0x002F: 0x61, # SOLIDUS
+ 0x0030: 0xF0, # DIGIT ZERO
+ 0x0031: 0xF1, # DIGIT ONE
+ 0x0032: 0xF2, # DIGIT TWO
+ 0x0033: 0xF3, # DIGIT THREE
+ 0x0034: 0xF4, # DIGIT FOUR
+ 0x0035: 0xF5, # DIGIT FIVE
+ 0x0036: 0xF6, # DIGIT SIX
+ 0x0037: 0xF7, # DIGIT SEVEN
+ 0x0038: 0xF8, # DIGIT EIGHT
+ 0x0039: 0xF9, # DIGIT NINE
+ 0x003A: 0x7A, # COLON
+ 0x003B: 0x5E, # SEMICOLON
+ 0x003C: 0x4C, # LESS-THAN SIGN
+ 0x003D: 0x7E, # EQUALS SIGN
+ 0x003E: 0x6E, # GREATER-THAN SIGN
+ 0x003F: 0x6F, # QUESTION MARK
+ 0x0040: 0x7C, # COMMERCIAL AT
+ 0x0041: 0xC1, # LATIN CAPITAL LETTER A
+ 0x0042: 0xC2, # LATIN CAPITAL LETTER B
+ 0x0043: 0xC3, # LATIN CAPITAL LETTER C
+ 0x0044: 0xC4, # LATIN CAPITAL LETTER D
+ 0x0045: 0xC5, # LATIN CAPITAL LETTER E
+ 0x0046: 0xC6, # LATIN CAPITAL LETTER F
+ 0x0047: 0xC7, # LATIN CAPITAL LETTER G
+ 0x0048: 0xC8, # LATIN CAPITAL LETTER H
+ 0x0049: 0xC9, # LATIN CAPITAL LETTER I
+ 0x004A: 0xD1, # LATIN CAPITAL LETTER J
+ 0x004B: 0xD2, # LATIN CAPITAL LETTER K
+ 0x004C: 0xD3, # LATIN CAPITAL LETTER L
+ 0x004D: 0xD4, # LATIN CAPITAL LETTER M
+ 0x004E: 0xD5, # LATIN CAPITAL LETTER N
+ 0x004F: 0xD6, # LATIN CAPITAL LETTER O
+ 0x0050: 0xD7, # LATIN CAPITAL LETTER P
+ 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
+ 0x0052: 0xD9, # LATIN CAPITAL LETTER R
+ 0x0053: 0xE2, # LATIN CAPITAL LETTER S
+ 0x0054: 0xE3, # LATIN CAPITAL LETTER T
+ 0x0055: 0xE4, # LATIN CAPITAL LETTER U
+ 0x0056: 0xE5, # LATIN CAPITAL LETTER V
+ 0x0057: 0xE6, # LATIN CAPITAL LETTER W
+ 0x0058: 0xE7, # LATIN CAPITAL LETTER X
+ 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
+ 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x4A, # LEFT SQUARE BRACKET
+ 0x005C: 0xE0, # REVERSE SOLIDUS
+ 0x005D: 0x5A, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5F, # CIRCUMFLEX ACCENT
+ 0x005F: 0x6D, # LOW LINE
+ 0x0060: 0x79, # GRAVE ACCENT
+ 0x0061: 0x81, # LATIN SMALL LETTER A
+ 0x0062: 0x82, # LATIN SMALL LETTER B
+ 0x0063: 0x83, # LATIN SMALL LETTER C
+ 0x0064: 0x84, # LATIN SMALL LETTER D
+ 0x0065: 0x85, # LATIN SMALL LETTER E
+ 0x0066: 0x86, # LATIN SMALL LETTER F
+ 0x0067: 0x87, # LATIN SMALL LETTER G
+ 0x0068: 0x88, # LATIN SMALL LETTER H
+ 0x0069: 0x89, # LATIN SMALL LETTER I
+ 0x006A: 0x91, # LATIN SMALL LETTER J
+ 0x006B: 0x92, # LATIN SMALL LETTER K
+ 0x006C: 0x93, # LATIN SMALL LETTER L
+ 0x006D: 0x94, # LATIN SMALL LETTER M
+ 0x006E: 0x95, # LATIN SMALL LETTER N
+ 0x006F: 0x96, # LATIN SMALL LETTER O
+ 0x0070: 0x97, # LATIN SMALL LETTER P
+ 0x0071: 0x98, # LATIN SMALL LETTER Q
+ 0x0072: 0x99, # LATIN SMALL LETTER R
+ 0x0073: 0xA2, # LATIN SMALL LETTER S
+ 0x0074: 0xA3, # LATIN SMALL LETTER T
+ 0x0075: 0xA4, # LATIN SMALL LETTER U
+ 0x0076: 0xA5, # LATIN SMALL LETTER V
+ 0x0077: 0xA6, # LATIN SMALL LETTER W
+ 0x0078: 0xA7, # LATIN SMALL LETTER X
+ 0x0079: 0xA8, # LATIN SMALL LETTER Y
+ 0x007A: 0xA9, # LATIN SMALL LETTER Z
+ 0x007B: 0xC0, # LEFT CURLY BRACKET
+ 0x007C: 0xBB, # VERTICAL LINE
+ 0x007D: 0xD0, # RIGHT CURLY BRACKET
+ 0x007E: 0xA1, # TILDE
+ 0x007F: 0x07, # DELETE
+ 0x0080: 0x20, # CONTROL
+ 0x0081: 0x21, # CONTROL
+ 0x0082: 0x22, # CONTROL
+ 0x0083: 0x23, # CONTROL
+ 0x0084: 0x24, # CONTROL
+ 0x0085: 0x15, # CONTROL
+ 0x0086: 0x06, # CONTROL
+ 0x0087: 0x17, # CONTROL
+ 0x0088: 0x28, # CONTROL
+ 0x0089: 0x29, # CONTROL
+ 0x008A: 0x2A, # CONTROL
+ 0x008B: 0x2B, # CONTROL
+ 0x008C: 0x2C, # CONTROL
+ 0x008D: 0x09, # CONTROL
+ 0x008E: 0x0A, # CONTROL
+ 0x008F: 0x1B, # CONTROL
+ 0x0090: 0x30, # CONTROL
+ 0x0091: 0x31, # CONTROL
+ 0x0092: 0x1A, # CONTROL
+ 0x0093: 0x33, # CONTROL
+ 0x0094: 0x34, # CONTROL
+ 0x0095: 0x35, # CONTROL
+ 0x0096: 0x36, # CONTROL
+ 0x0097: 0x08, # CONTROL
+ 0x0098: 0x38, # CONTROL
+ 0x0099: 0x39, # CONTROL
+ 0x009A: 0x3A, # CONTROL
+ 0x009B: 0x3B, # CONTROL
+ 0x009C: 0x04, # CONTROL
+ 0x009D: 0x14, # CONTROL
+ 0x009E: 0x3E, # CONTROL
+ 0x009F: 0xFF, # CONTROL
+ 0x00A0: 0x41, # NO-BREAK SPACE
+ 0x00A1: 0xAA, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xB0, # CENT SIGN
+ 0x00A3: 0xB1, # POUND SIGN
+ 0x00A4: 0x9F, # CURRENCY SIGN
+ 0x00A5: 0xB2, # YEN SIGN
+ 0x00A6: 0x6A, # BROKEN BAR
+ 0x00A7: 0xB5, # SECTION SIGN
+ 0x00A8: 0xBD, # DIAERESIS
+ 0x00A9: 0xB4, # COPYRIGHT SIGN
+ 0x00AA: 0x9A, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0x8A, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xBA, # NOT SIGN
+ 0x00AD: 0xCA, # SOFT HYPHEN
+ 0x00AE: 0xAF, # REGISTERED SIGN
+ 0x00AF: 0xBC, # MACRON
+ 0x00B0: 0x90, # DEGREE SIGN
+ 0x00B1: 0x8F, # PLUS-MINUS SIGN
+ 0x00B2: 0xEA, # SUPERSCRIPT TWO
+ 0x00B3: 0xFA, # SUPERSCRIPT THREE
+ 0x00B4: 0xBE, # ACUTE ACCENT
+ 0x00B5: 0xA0, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB3, # MIDDLE DOT
+ 0x00B8: 0x9D, # CEDILLA
+ 0x00B9: 0xDA, # SUPERSCRIPT ONE
+ 0x00BA: 0x9B, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0x8B, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xB7, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xB8, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xB9, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xAB, # INVERTED QUESTION MARK
+ 0x00C0: 0x64, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0x65, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0x62, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0x66, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x63, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x67, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0x9E, # LATIN CAPITAL LIGATURE AE
+ 0x00C7: 0x68, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0x74, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x71, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0x72, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0x73, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0x78, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0x75, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0x76, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0x77, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xAC, # LATIN CAPITAL LETTER ETH (ICELANDIC)
+ 0x00D1: 0x69, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xED, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEB, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xEF, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xEC, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xBF, # MULTIPLICATION SIGN
+ 0x00D8: 0x80, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xFD, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xFE, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xFB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xFC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xAD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xAE, # LATIN CAPITAL LETTER THORN (ICELANDIC)
+ 0x00DF: 0x59, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00E0: 0x44, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x45, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x42, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x46, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x43, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x47, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0x9C, # LATIN SMALL LIGATURE AE
+ 0x00E7: 0x48, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x54, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x51, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x52, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x53, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x58, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x55, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x56, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x57, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0x8C, # LATIN SMALL LETTER ETH (ICELANDIC)
+ 0x00F1: 0x49, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xCD, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xCE, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xCB, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xCF, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xCC, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xE1, # DIVISION SIGN
+ 0x00F8: 0x70, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xDD, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xDE, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xDB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xDC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0x8D, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
+ 0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
}
-
diff --git a/Lib/encodings/cp737.py b/Lib/encodings/cp737.py
index e2ade6f..883a8ba 100644
--- a/Lib/encodings/cp737.py
+++ b/Lib/encodings/cp737.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x0391, # GREEK CAPITAL LETTER ALPHA
- 0x0081: 0x0392, # GREEK CAPITAL LETTER BETA
- 0x0082: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x0083: 0x0394, # GREEK CAPITAL LETTER DELTA
- 0x0084: 0x0395, # GREEK CAPITAL LETTER EPSILON
- 0x0085: 0x0396, # GREEK CAPITAL LETTER ZETA
- 0x0086: 0x0397, # GREEK CAPITAL LETTER ETA
- 0x0087: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x0088: 0x0399, # GREEK CAPITAL LETTER IOTA
- 0x0089: 0x039a, # GREEK CAPITAL LETTER KAPPA
- 0x008a: 0x039b, # GREEK CAPITAL LETTER LAMDA
- 0x008b: 0x039c, # GREEK CAPITAL LETTER MU
- 0x008c: 0x039d, # GREEK CAPITAL LETTER NU
- 0x008d: 0x039e, # GREEK CAPITAL LETTER XI
- 0x008e: 0x039f, # GREEK CAPITAL LETTER OMICRON
- 0x008f: 0x03a0, # GREEK CAPITAL LETTER PI
- 0x0090: 0x03a1, # GREEK CAPITAL LETTER RHO
- 0x0091: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x0092: 0x03a4, # GREEK CAPITAL LETTER TAU
- 0x0093: 0x03a5, # GREEK CAPITAL LETTER UPSILON
- 0x0094: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x0095: 0x03a7, # GREEK CAPITAL LETTER CHI
- 0x0096: 0x03a8, # GREEK CAPITAL LETTER PSI
- 0x0097: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x0098: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x0099: 0x03b2, # GREEK SMALL LETTER BETA
- 0x009a: 0x03b3, # GREEK SMALL LETTER GAMMA
- 0x009b: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x009c: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x009d: 0x03b6, # GREEK SMALL LETTER ZETA
- 0x009e: 0x03b7, # GREEK SMALL LETTER ETA
- 0x009f: 0x03b8, # GREEK SMALL LETTER THETA
- 0x00a0: 0x03b9, # GREEK SMALL LETTER IOTA
- 0x00a1: 0x03ba, # GREEK SMALL LETTER KAPPA
- 0x00a2: 0x03bb, # GREEK SMALL LETTER LAMDA
- 0x00a3: 0x03bc, # GREEK SMALL LETTER MU
- 0x00a4: 0x03bd, # GREEK SMALL LETTER NU
- 0x00a5: 0x03be, # GREEK SMALL LETTER XI
- 0x00a6: 0x03bf, # GREEK SMALL LETTER OMICRON
- 0x00a7: 0x03c0, # GREEK SMALL LETTER PI
- 0x00a8: 0x03c1, # GREEK SMALL LETTER RHO
- 0x00a9: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00aa: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
- 0x00ab: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00ac: 0x03c5, # GREEK SMALL LETTER UPSILON
- 0x00ad: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ae: 0x03c7, # GREEK SMALL LETTER CHI
- 0x00af: 0x03c8, # GREEK SMALL LETTER PSI
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03c9, # GREEK SMALL LETTER OMEGA
- 0x00e1: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x00e2: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x00e3: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
- 0x00e4: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x00e5: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x00e6: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x00e7: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x00e8: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x00e9: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x00ea: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x00eb: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x00ec: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x00ed: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x00ee: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x00ef: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x00f0: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x00f5: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x0391, # GREEK CAPITAL LETTER ALPHA
+ 0x0081: 0x0392, # GREEK CAPITAL LETTER BETA
+ 0x0082: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x0083: 0x0394, # GREEK CAPITAL LETTER DELTA
+ 0x0084: 0x0395, # GREEK CAPITAL LETTER EPSILON
+ 0x0085: 0x0396, # GREEK CAPITAL LETTER ZETA
+ 0x0086: 0x0397, # GREEK CAPITAL LETTER ETA
+ 0x0087: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x0088: 0x0399, # GREEK CAPITAL LETTER IOTA
+ 0x0089: 0x039a, # GREEK CAPITAL LETTER KAPPA
+ 0x008a: 0x039b, # GREEK CAPITAL LETTER LAMDA
+ 0x008b: 0x039c, # GREEK CAPITAL LETTER MU
+ 0x008c: 0x039d, # GREEK CAPITAL LETTER NU
+ 0x008d: 0x039e, # GREEK CAPITAL LETTER XI
+ 0x008e: 0x039f, # GREEK CAPITAL LETTER OMICRON
+ 0x008f: 0x03a0, # GREEK CAPITAL LETTER PI
+ 0x0090: 0x03a1, # GREEK CAPITAL LETTER RHO
+ 0x0091: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x0092: 0x03a4, # GREEK CAPITAL LETTER TAU
+ 0x0093: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+ 0x0094: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x0095: 0x03a7, # GREEK CAPITAL LETTER CHI
+ 0x0096: 0x03a8, # GREEK CAPITAL LETTER PSI
+ 0x0097: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x0098: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x0099: 0x03b2, # GREEK SMALL LETTER BETA
+ 0x009a: 0x03b3, # GREEK SMALL LETTER GAMMA
+ 0x009b: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x009c: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x009d: 0x03b6, # GREEK SMALL LETTER ZETA
+ 0x009e: 0x03b7, # GREEK SMALL LETTER ETA
+ 0x009f: 0x03b8, # GREEK SMALL LETTER THETA
+ 0x00a0: 0x03b9, # GREEK SMALL LETTER IOTA
+ 0x00a1: 0x03ba, # GREEK SMALL LETTER KAPPA
+ 0x00a2: 0x03bb, # GREEK SMALL LETTER LAMDA
+ 0x00a3: 0x03bc, # GREEK SMALL LETTER MU
+ 0x00a4: 0x03bd, # GREEK SMALL LETTER NU
+ 0x00a5: 0x03be, # GREEK SMALL LETTER XI
+ 0x00a6: 0x03bf, # GREEK SMALL LETTER OMICRON
+ 0x00a7: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00a8: 0x03c1, # GREEK SMALL LETTER RHO
+ 0x00a9: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00aa: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+ 0x00ab: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00ac: 0x03c5, # GREEK SMALL LETTER UPSILON
+ 0x00ad: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ae: 0x03c7, # GREEK SMALL LETTER CHI
+ 0x00af: 0x03c8, # GREEK SMALL LETTER PSI
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03c9, # GREEK SMALL LETTER OMEGA
+ 0x00e1: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x00e2: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x00e3: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x00e4: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x00e5: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x00e6: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x00e7: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x00e8: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x00e9: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x00ea: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x00eb: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x00ec: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x00ed: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x00ee: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x00ef: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x00f0: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x00f5: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\u0391' # 0x0080 -> GREEK CAPITAL LETTER ALPHA
- u'\u0392' # 0x0081 -> GREEK CAPITAL LETTER BETA
- u'\u0393' # 0x0082 -> GREEK CAPITAL LETTER GAMMA
- u'\u0394' # 0x0083 -> GREEK CAPITAL LETTER DELTA
- u'\u0395' # 0x0084 -> GREEK CAPITAL LETTER EPSILON
- u'\u0396' # 0x0085 -> GREEK CAPITAL LETTER ZETA
- u'\u0397' # 0x0086 -> GREEK CAPITAL LETTER ETA
- u'\u0398' # 0x0087 -> GREEK CAPITAL LETTER THETA
- u'\u0399' # 0x0088 -> GREEK CAPITAL LETTER IOTA
- u'\u039a' # 0x0089 -> GREEK CAPITAL LETTER KAPPA
- u'\u039b' # 0x008a -> GREEK CAPITAL LETTER LAMDA
- u'\u039c' # 0x008b -> GREEK CAPITAL LETTER MU
- u'\u039d' # 0x008c -> GREEK CAPITAL LETTER NU
- u'\u039e' # 0x008d -> GREEK CAPITAL LETTER XI
- u'\u039f' # 0x008e -> GREEK CAPITAL LETTER OMICRON
- u'\u03a0' # 0x008f -> GREEK CAPITAL LETTER PI
- u'\u03a1' # 0x0090 -> GREEK CAPITAL LETTER RHO
- u'\u03a3' # 0x0091 -> GREEK CAPITAL LETTER SIGMA
- u'\u03a4' # 0x0092 -> GREEK CAPITAL LETTER TAU
- u'\u03a5' # 0x0093 -> GREEK CAPITAL LETTER UPSILON
- u'\u03a6' # 0x0094 -> GREEK CAPITAL LETTER PHI
- u'\u03a7' # 0x0095 -> GREEK CAPITAL LETTER CHI
- u'\u03a8' # 0x0096 -> GREEK CAPITAL LETTER PSI
- u'\u03a9' # 0x0097 -> GREEK CAPITAL LETTER OMEGA
- u'\u03b1' # 0x0098 -> GREEK SMALL LETTER ALPHA
- u'\u03b2' # 0x0099 -> GREEK SMALL LETTER BETA
- u'\u03b3' # 0x009a -> GREEK SMALL LETTER GAMMA
- u'\u03b4' # 0x009b -> GREEK SMALL LETTER DELTA
- u'\u03b5' # 0x009c -> GREEK SMALL LETTER EPSILON
- u'\u03b6' # 0x009d -> GREEK SMALL LETTER ZETA
- u'\u03b7' # 0x009e -> GREEK SMALL LETTER ETA
- u'\u03b8' # 0x009f -> GREEK SMALL LETTER THETA
- u'\u03b9' # 0x00a0 -> GREEK SMALL LETTER IOTA
- u'\u03ba' # 0x00a1 -> GREEK SMALL LETTER KAPPA
- u'\u03bb' # 0x00a2 -> GREEK SMALL LETTER LAMDA
- u'\u03bc' # 0x00a3 -> GREEK SMALL LETTER MU
- u'\u03bd' # 0x00a4 -> GREEK SMALL LETTER NU
- u'\u03be' # 0x00a5 -> GREEK SMALL LETTER XI
- u'\u03bf' # 0x00a6 -> GREEK SMALL LETTER OMICRON
- u'\u03c0' # 0x00a7 -> GREEK SMALL LETTER PI
- u'\u03c1' # 0x00a8 -> GREEK SMALL LETTER RHO
- u'\u03c3' # 0x00a9 -> GREEK SMALL LETTER SIGMA
- u'\u03c2' # 0x00aa -> GREEK SMALL LETTER FINAL SIGMA
- u'\u03c4' # 0x00ab -> GREEK SMALL LETTER TAU
- u'\u03c5' # 0x00ac -> GREEK SMALL LETTER UPSILON
- u'\u03c6' # 0x00ad -> GREEK SMALL LETTER PHI
- u'\u03c7' # 0x00ae -> GREEK SMALL LETTER CHI
- u'\u03c8' # 0x00af -> GREEK SMALL LETTER PSI
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03c9' # 0x00e0 -> GREEK SMALL LETTER OMEGA
- u'\u03ac' # 0x00e1 -> GREEK SMALL LETTER ALPHA WITH TONOS
- u'\u03ad' # 0x00e2 -> GREEK SMALL LETTER EPSILON WITH TONOS
- u'\u03ae' # 0x00e3 -> GREEK SMALL LETTER ETA WITH TONOS
- u'\u03ca' # 0x00e4 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
- u'\u03af' # 0x00e5 -> GREEK SMALL LETTER IOTA WITH TONOS
- u'\u03cc' # 0x00e6 -> GREEK SMALL LETTER OMICRON WITH TONOS
- u'\u03cd' # 0x00e7 -> GREEK SMALL LETTER UPSILON WITH TONOS
- u'\u03cb' # 0x00e8 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- u'\u03ce' # 0x00e9 -> GREEK SMALL LETTER OMEGA WITH TONOS
- u'\u0386' # 0x00ea -> GREEK CAPITAL LETTER ALPHA WITH TONOS
- u'\u0388' # 0x00eb -> GREEK CAPITAL LETTER EPSILON WITH TONOS
- u'\u0389' # 0x00ec -> GREEK CAPITAL LETTER ETA WITH TONOS
- u'\u038a' # 0x00ed -> GREEK CAPITAL LETTER IOTA WITH TONOS
- u'\u038c' # 0x00ee -> GREEK CAPITAL LETTER OMICRON WITH TONOS
- u'\u038e' # 0x00ef -> GREEK CAPITAL LETTER UPSILON WITH TONOS
- u'\u038f' # 0x00f0 -> GREEK CAPITAL LETTER OMEGA WITH TONOS
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u03aa' # 0x00f4 -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- u'\u03ab' # 0x00f5 -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\u0391' # 0x0080 -> GREEK CAPITAL LETTER ALPHA
+ u'\u0392' # 0x0081 -> GREEK CAPITAL LETTER BETA
+ u'\u0393' # 0x0082 -> GREEK CAPITAL LETTER GAMMA
+ u'\u0394' # 0x0083 -> GREEK CAPITAL LETTER DELTA
+ u'\u0395' # 0x0084 -> GREEK CAPITAL LETTER EPSILON
+ u'\u0396' # 0x0085 -> GREEK CAPITAL LETTER ZETA
+ u'\u0397' # 0x0086 -> GREEK CAPITAL LETTER ETA
+ u'\u0398' # 0x0087 -> GREEK CAPITAL LETTER THETA
+ u'\u0399' # 0x0088 -> GREEK CAPITAL LETTER IOTA
+ u'\u039a' # 0x0089 -> GREEK CAPITAL LETTER KAPPA
+ u'\u039b' # 0x008a -> GREEK CAPITAL LETTER LAMDA
+ u'\u039c' # 0x008b -> GREEK CAPITAL LETTER MU
+ u'\u039d' # 0x008c -> GREEK CAPITAL LETTER NU
+ u'\u039e' # 0x008d -> GREEK CAPITAL LETTER XI
+ u'\u039f' # 0x008e -> GREEK CAPITAL LETTER OMICRON
+ u'\u03a0' # 0x008f -> GREEK CAPITAL LETTER PI
+ u'\u03a1' # 0x0090 -> GREEK CAPITAL LETTER RHO
+ u'\u03a3' # 0x0091 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03a4' # 0x0092 -> GREEK CAPITAL LETTER TAU
+ u'\u03a5' # 0x0093 -> GREEK CAPITAL LETTER UPSILON
+ u'\u03a6' # 0x0094 -> GREEK CAPITAL LETTER PHI
+ u'\u03a7' # 0x0095 -> GREEK CAPITAL LETTER CHI
+ u'\u03a8' # 0x0096 -> GREEK CAPITAL LETTER PSI
+ u'\u03a9' # 0x0097 -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b1' # 0x0098 -> GREEK SMALL LETTER ALPHA
+ u'\u03b2' # 0x0099 -> GREEK SMALL LETTER BETA
+ u'\u03b3' # 0x009a -> GREEK SMALL LETTER GAMMA
+ u'\u03b4' # 0x009b -> GREEK SMALL LETTER DELTA
+ u'\u03b5' # 0x009c -> GREEK SMALL LETTER EPSILON
+ u'\u03b6' # 0x009d -> GREEK SMALL LETTER ZETA
+ u'\u03b7' # 0x009e -> GREEK SMALL LETTER ETA
+ u'\u03b8' # 0x009f -> GREEK SMALL LETTER THETA
+ u'\u03b9' # 0x00a0 -> GREEK SMALL LETTER IOTA
+ u'\u03ba' # 0x00a1 -> GREEK SMALL LETTER KAPPA
+ u'\u03bb' # 0x00a2 -> GREEK SMALL LETTER LAMDA
+ u'\u03bc' # 0x00a3 -> GREEK SMALL LETTER MU
+ u'\u03bd' # 0x00a4 -> GREEK SMALL LETTER NU
+ u'\u03be' # 0x00a5 -> GREEK SMALL LETTER XI
+ u'\u03bf' # 0x00a6 -> GREEK SMALL LETTER OMICRON
+ u'\u03c0' # 0x00a7 -> GREEK SMALL LETTER PI
+ u'\u03c1' # 0x00a8 -> GREEK SMALL LETTER RHO
+ u'\u03c3' # 0x00a9 -> GREEK SMALL LETTER SIGMA
+ u'\u03c2' # 0x00aa -> GREEK SMALL LETTER FINAL SIGMA
+ u'\u03c4' # 0x00ab -> GREEK SMALL LETTER TAU
+ u'\u03c5' # 0x00ac -> GREEK SMALL LETTER UPSILON
+ u'\u03c6' # 0x00ad -> GREEK SMALL LETTER PHI
+ u'\u03c7' # 0x00ae -> GREEK SMALL LETTER CHI
+ u'\u03c8' # 0x00af -> GREEK SMALL LETTER PSI
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03c9' # 0x00e0 -> GREEK SMALL LETTER OMEGA
+ u'\u03ac' # 0x00e1 -> GREEK SMALL LETTER ALPHA WITH TONOS
+ u'\u03ad' # 0x00e2 -> GREEK SMALL LETTER EPSILON WITH TONOS
+ u'\u03ae' # 0x00e3 -> GREEK SMALL LETTER ETA WITH TONOS
+ u'\u03ca' # 0x00e4 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ u'\u03af' # 0x00e5 -> GREEK SMALL LETTER IOTA WITH TONOS
+ u'\u03cc' # 0x00e6 -> GREEK SMALL LETTER OMICRON WITH TONOS
+ u'\u03cd' # 0x00e7 -> GREEK SMALL LETTER UPSILON WITH TONOS
+ u'\u03cb' # 0x00e8 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ u'\u03ce' # 0x00e9 -> GREEK SMALL LETTER OMEGA WITH TONOS
+ u'\u0386' # 0x00ea -> GREEK CAPITAL LETTER ALPHA WITH TONOS
+ u'\u0388' # 0x00eb -> GREEK CAPITAL LETTER EPSILON WITH TONOS
+ u'\u0389' # 0x00ec -> GREEK CAPITAL LETTER ETA WITH TONOS
+ u'\u038a' # 0x00ed -> GREEK CAPITAL LETTER IOTA WITH TONOS
+ u'\u038c' # 0x00ee -> GREEK CAPITAL LETTER OMICRON WITH TONOS
+ u'\u038e' # 0x00ef -> GREEK CAPITAL LETTER UPSILON WITH TONOS
+ u'\u038f' # 0x00f0 -> GREEK CAPITAL LETTER OMEGA WITH TONOS
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u03aa' # 0x00f4 -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ u'\u03ab' # 0x00f5 -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x0386: 0x00ea, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0388: 0x00eb, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x0389: 0x00ec, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x038a: 0x00ed, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x038c: 0x00ee, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x038e: 0x00ef, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x038f: 0x00f0, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0391: 0x0080, # GREEK CAPITAL LETTER ALPHA
- 0x0392: 0x0081, # GREEK CAPITAL LETTER BETA
- 0x0393: 0x0082, # GREEK CAPITAL LETTER GAMMA
- 0x0394: 0x0083, # GREEK CAPITAL LETTER DELTA
- 0x0395: 0x0084, # GREEK CAPITAL LETTER EPSILON
- 0x0396: 0x0085, # GREEK CAPITAL LETTER ZETA
- 0x0397: 0x0086, # GREEK CAPITAL LETTER ETA
- 0x0398: 0x0087, # GREEK CAPITAL LETTER THETA
- 0x0399: 0x0088, # GREEK CAPITAL LETTER IOTA
- 0x039a: 0x0089, # GREEK CAPITAL LETTER KAPPA
- 0x039b: 0x008a, # GREEK CAPITAL LETTER LAMDA
- 0x039c: 0x008b, # GREEK CAPITAL LETTER MU
- 0x039d: 0x008c, # GREEK CAPITAL LETTER NU
- 0x039e: 0x008d, # GREEK CAPITAL LETTER XI
- 0x039f: 0x008e, # GREEK CAPITAL LETTER OMICRON
- 0x03a0: 0x008f, # GREEK CAPITAL LETTER PI
- 0x03a1: 0x0090, # GREEK CAPITAL LETTER RHO
- 0x03a3: 0x0091, # GREEK CAPITAL LETTER SIGMA
- 0x03a4: 0x0092, # GREEK CAPITAL LETTER TAU
- 0x03a5: 0x0093, # GREEK CAPITAL LETTER UPSILON
- 0x03a6: 0x0094, # GREEK CAPITAL LETTER PHI
- 0x03a7: 0x0095, # GREEK CAPITAL LETTER CHI
- 0x03a8: 0x0096, # GREEK CAPITAL LETTER PSI
- 0x03a9: 0x0097, # GREEK CAPITAL LETTER OMEGA
- 0x03aa: 0x00f4, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x03ab: 0x00f5, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x03ac: 0x00e1, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x03ad: 0x00e2, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x03ae: 0x00e3, # GREEK SMALL LETTER ETA WITH TONOS
- 0x03af: 0x00e5, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x03b1: 0x0098, # GREEK SMALL LETTER ALPHA
- 0x03b2: 0x0099, # GREEK SMALL LETTER BETA
- 0x03b3: 0x009a, # GREEK SMALL LETTER GAMMA
- 0x03b4: 0x009b, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x009c, # GREEK SMALL LETTER EPSILON
- 0x03b6: 0x009d, # GREEK SMALL LETTER ZETA
- 0x03b7: 0x009e, # GREEK SMALL LETTER ETA
- 0x03b8: 0x009f, # GREEK SMALL LETTER THETA
- 0x03b9: 0x00a0, # GREEK SMALL LETTER IOTA
- 0x03ba: 0x00a1, # GREEK SMALL LETTER KAPPA
- 0x03bb: 0x00a2, # GREEK SMALL LETTER LAMDA
- 0x03bc: 0x00a3, # GREEK SMALL LETTER MU
- 0x03bd: 0x00a4, # GREEK SMALL LETTER NU
- 0x03be: 0x00a5, # GREEK SMALL LETTER XI
- 0x03bf: 0x00a6, # GREEK SMALL LETTER OMICRON
- 0x03c0: 0x00a7, # GREEK SMALL LETTER PI
- 0x03c1: 0x00a8, # GREEK SMALL LETTER RHO
- 0x03c2: 0x00aa, # GREEK SMALL LETTER FINAL SIGMA
- 0x03c3: 0x00a9, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00ab, # GREEK SMALL LETTER TAU
- 0x03c5: 0x00ac, # GREEK SMALL LETTER UPSILON
- 0x03c6: 0x00ad, # GREEK SMALL LETTER PHI
- 0x03c7: 0x00ae, # GREEK SMALL LETTER CHI
- 0x03c8: 0x00af, # GREEK SMALL LETTER PSI
- 0x03c9: 0x00e0, # GREEK SMALL LETTER OMEGA
- 0x03ca: 0x00e4, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x03cb: 0x00e8, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x03cc: 0x00e6, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x03cd: 0x00e7, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x03ce: 0x00e9, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x0386: 0x00ea, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0388: 0x00eb, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x0389: 0x00ec, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x038a: 0x00ed, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x038c: 0x00ee, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x038e: 0x00ef, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x038f: 0x00f0, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0391: 0x0080, # GREEK CAPITAL LETTER ALPHA
+ 0x0392: 0x0081, # GREEK CAPITAL LETTER BETA
+ 0x0393: 0x0082, # GREEK CAPITAL LETTER GAMMA
+ 0x0394: 0x0083, # GREEK CAPITAL LETTER DELTA
+ 0x0395: 0x0084, # GREEK CAPITAL LETTER EPSILON
+ 0x0396: 0x0085, # GREEK CAPITAL LETTER ZETA
+ 0x0397: 0x0086, # GREEK CAPITAL LETTER ETA
+ 0x0398: 0x0087, # GREEK CAPITAL LETTER THETA
+ 0x0399: 0x0088, # GREEK CAPITAL LETTER IOTA
+ 0x039a: 0x0089, # GREEK CAPITAL LETTER KAPPA
+ 0x039b: 0x008a, # GREEK CAPITAL LETTER LAMDA
+ 0x039c: 0x008b, # GREEK CAPITAL LETTER MU
+ 0x039d: 0x008c, # GREEK CAPITAL LETTER NU
+ 0x039e: 0x008d, # GREEK CAPITAL LETTER XI
+ 0x039f: 0x008e, # GREEK CAPITAL LETTER OMICRON
+ 0x03a0: 0x008f, # GREEK CAPITAL LETTER PI
+ 0x03a1: 0x0090, # GREEK CAPITAL LETTER RHO
+ 0x03a3: 0x0091, # GREEK CAPITAL LETTER SIGMA
+ 0x03a4: 0x0092, # GREEK CAPITAL LETTER TAU
+ 0x03a5: 0x0093, # GREEK CAPITAL LETTER UPSILON
+ 0x03a6: 0x0094, # GREEK CAPITAL LETTER PHI
+ 0x03a7: 0x0095, # GREEK CAPITAL LETTER CHI
+ 0x03a8: 0x0096, # GREEK CAPITAL LETTER PSI
+ 0x03a9: 0x0097, # GREEK CAPITAL LETTER OMEGA
+ 0x03aa: 0x00f4, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x03ab: 0x00f5, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x03ac: 0x00e1, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x03ad: 0x00e2, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x03ae: 0x00e3, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x03af: 0x00e5, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x03b1: 0x0098, # GREEK SMALL LETTER ALPHA
+ 0x03b2: 0x0099, # GREEK SMALL LETTER BETA
+ 0x03b3: 0x009a, # GREEK SMALL LETTER GAMMA
+ 0x03b4: 0x009b, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x009c, # GREEK SMALL LETTER EPSILON
+ 0x03b6: 0x009d, # GREEK SMALL LETTER ZETA
+ 0x03b7: 0x009e, # GREEK SMALL LETTER ETA
+ 0x03b8: 0x009f, # GREEK SMALL LETTER THETA
+ 0x03b9: 0x00a0, # GREEK SMALL LETTER IOTA
+ 0x03ba: 0x00a1, # GREEK SMALL LETTER KAPPA
+ 0x03bb: 0x00a2, # GREEK SMALL LETTER LAMDA
+ 0x03bc: 0x00a3, # GREEK SMALL LETTER MU
+ 0x03bd: 0x00a4, # GREEK SMALL LETTER NU
+ 0x03be: 0x00a5, # GREEK SMALL LETTER XI
+ 0x03bf: 0x00a6, # GREEK SMALL LETTER OMICRON
+ 0x03c0: 0x00a7, # GREEK SMALL LETTER PI
+ 0x03c1: 0x00a8, # GREEK SMALL LETTER RHO
+ 0x03c2: 0x00aa, # GREEK SMALL LETTER FINAL SIGMA
+ 0x03c3: 0x00a9, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00ab, # GREEK SMALL LETTER TAU
+ 0x03c5: 0x00ac, # GREEK SMALL LETTER UPSILON
+ 0x03c6: 0x00ad, # GREEK SMALL LETTER PHI
+ 0x03c7: 0x00ae, # GREEK SMALL LETTER CHI
+ 0x03c8: 0x00af, # GREEK SMALL LETTER PSI
+ 0x03c9: 0x00e0, # GREEK SMALL LETTER OMEGA
+ 0x03ca: 0x00e4, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x03cb: 0x00e8, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x03cc: 0x00e6, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x03cd: 0x00e7, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x03ce: 0x00e9, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp775.py b/Lib/encodings/cp775.py
index ae45b47..1b39188 100644
--- a/Lib/encodings/cp775.py
+++ b/Lib/encodings/cp775.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x0101, # LATIN SMALL LETTER A WITH MACRON
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x0123, # LATIN SMALL LETTER G WITH CEDILLA
- 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x0087: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
- 0x0088: 0x0142, # LATIN SMALL LETTER L WITH STROKE
- 0x0089: 0x0113, # LATIN SMALL LETTER E WITH MACRON
- 0x008a: 0x0156, # LATIN CAPITAL LETTER R WITH CEDILLA
- 0x008b: 0x0157, # LATIN SMALL LETTER R WITH CEDILLA
- 0x008c: 0x012b, # LATIN SMALL LETTER I WITH MACRON
- 0x008d: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
- 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
- 0x0093: 0x014d, # LATIN SMALL LETTER O WITH MACRON
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x0122, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0096: 0x00a2, # CENT SIGN
- 0x0097: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x0098: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x009e: 0x00d7, # MULTIPLICATION SIGN
- 0x009f: 0x00a4, # CURRENCY SIGN
- 0x00a0: 0x0100, # LATIN CAPITAL LETTER A WITH MACRON
- 0x00a1: 0x012a, # LATIN CAPITAL LETTER I WITH MACRON
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x00a4: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x00a5: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
- 0x00a6: 0x201d, # RIGHT DOUBLE QUOTATION MARK
- 0x00a7: 0x00a6, # BROKEN BAR
- 0x00a8: 0x00a9, # COPYRIGHT SIGN
- 0x00a9: 0x00ae, # REGISTERED SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x00b6: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
- 0x00b7: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x00b8: 0x0116, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x012e, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x00be: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x0172, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x00c7: 0x016a, # LATIN CAPITAL LETTER U WITH MACRON
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
- 0x00d0: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
- 0x00d1: 0x010d, # LATIN SMALL LETTER C WITH CARON
- 0x00d2: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
- 0x00d3: 0x0117, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x00d4: 0x012f, # LATIN SMALL LETTER I WITH OGONEK
- 0x00d5: 0x0161, # LATIN SMALL LETTER S WITH CARON
- 0x00d6: 0x0173, # LATIN SMALL LETTER U WITH OGONEK
- 0x00d7: 0x016b, # LATIN SMALL LETTER U WITH MACRON
- 0x00d8: 0x017e, # LATIN SMALL LETTER Z WITH CARON
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00e2: 0x014c, # LATIN CAPITAL LETTER O WITH MACRON
- 0x00e3: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
- 0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
- 0x00e8: 0x0136, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x00e9: 0x0137, # LATIN SMALL LETTER K WITH CEDILLA
- 0x00ea: 0x013b, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x00eb: 0x013c, # LATIN SMALL LETTER L WITH CEDILLA
- 0x00ec: 0x0146, # LATIN SMALL LETTER N WITH CEDILLA
- 0x00ed: 0x0112, # LATIN CAPITAL LETTER E WITH MACRON
- 0x00ee: 0x0145, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x00ef: 0x2019, # RIGHT SINGLE QUOTATION MARK
- 0x00f0: 0x00ad, # SOFT HYPHEN
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x201c, # LEFT DOUBLE QUOTATION MARK
- 0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
- 0x00f4: 0x00b6, # PILCROW SIGN
- 0x00f5: 0x00a7, # SECTION SIGN
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x00b9, # SUPERSCRIPT ONE
- 0x00fc: 0x00b3, # SUPERSCRIPT THREE
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x0101, # LATIN SMALL LETTER A WITH MACRON
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x0123, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x0087: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+ 0x0088: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+ 0x0089: 0x0113, # LATIN SMALL LETTER E WITH MACRON
+ 0x008a: 0x0156, # LATIN CAPITAL LETTER R WITH CEDILLA
+ 0x008b: 0x0157, # LATIN SMALL LETTER R WITH CEDILLA
+ 0x008c: 0x012b, # LATIN SMALL LETTER I WITH MACRON
+ 0x008d: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+ 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+ 0x0093: 0x014d, # LATIN SMALL LETTER O WITH MACRON
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x0122, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0096: 0x00a2, # CENT SIGN
+ 0x0097: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x0098: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x009e: 0x00d7, # MULTIPLICATION SIGN
+ 0x009f: 0x00a4, # CURRENCY SIGN
+ 0x00a0: 0x0100, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x00a1: 0x012a, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x00a4: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x00a5: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x00a6: 0x201d, # RIGHT DOUBLE QUOTATION MARK
+ 0x00a7: 0x00a6, # BROKEN BAR
+ 0x00a8: 0x00a9, # COPYRIGHT SIGN
+ 0x00a9: 0x00ae, # REGISTERED SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x00b6: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+ 0x00b7: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x00b8: 0x0116, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x012e, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x00be: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x0172, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x00c7: 0x016a, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x00d0: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+ 0x00d1: 0x010d, # LATIN SMALL LETTER C WITH CARON
+ 0x00d2: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+ 0x00d3: 0x0117, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x00d4: 0x012f, # LATIN SMALL LETTER I WITH OGONEK
+ 0x00d5: 0x0161, # LATIN SMALL LETTER S WITH CARON
+ 0x00d6: 0x0173, # LATIN SMALL LETTER U WITH OGONEK
+ 0x00d7: 0x016b, # LATIN SMALL LETTER U WITH MACRON
+ 0x00d8: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00e2: 0x014c, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x00e3: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+ 0x00e8: 0x0136, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x00e9: 0x0137, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x00ea: 0x013b, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x00eb: 0x013c, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x00ec: 0x0146, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x00ed: 0x0112, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x00ee: 0x0145, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x00ef: 0x2019, # RIGHT SINGLE QUOTATION MARK
+ 0x00f0: 0x00ad, # SOFT HYPHEN
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x201c, # LEFT DOUBLE QUOTATION MARK
+ 0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+ 0x00f4: 0x00b6, # PILCROW SIGN
+ 0x00f5: 0x00a7, # SECTION SIGN
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x201e, # DOUBLE LOW-9 QUOTATION MARK
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x00b9, # SUPERSCRIPT ONE
+ 0x00fc: 0x00b3, # SUPERSCRIPT THREE
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\u0106' # 0x0080 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u0101' # 0x0083 -> LATIN SMALL LETTER A WITH MACRON
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u0123' # 0x0085 -> LATIN SMALL LETTER G WITH CEDILLA
- u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\u0107' # 0x0087 -> LATIN SMALL LETTER C WITH ACUTE
- u'\u0142' # 0x0088 -> LATIN SMALL LETTER L WITH STROKE
- u'\u0113' # 0x0089 -> LATIN SMALL LETTER E WITH MACRON
- u'\u0156' # 0x008a -> LATIN CAPITAL LETTER R WITH CEDILLA
- u'\u0157' # 0x008b -> LATIN SMALL LETTER R WITH CEDILLA
- u'\u012b' # 0x008c -> LATIN SMALL LETTER I WITH MACRON
- u'\u0179' # 0x008d -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
- u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
- u'\u014d' # 0x0093 -> LATIN SMALL LETTER O WITH MACRON
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\u0122' # 0x0095 -> LATIN CAPITAL LETTER G WITH CEDILLA
- u'\xa2' # 0x0096 -> CENT SIGN
- u'\u015a' # 0x0097 -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u015b' # 0x0098 -> LATIN SMALL LETTER S WITH ACUTE
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd7' # 0x009e -> MULTIPLICATION SIGN
- u'\xa4' # 0x009f -> CURRENCY SIGN
- u'\u0100' # 0x00a0 -> LATIN CAPITAL LETTER A WITH MACRON
- u'\u012a' # 0x00a1 -> LATIN CAPITAL LETTER I WITH MACRON
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\u017b' # 0x00a3 -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\u017c' # 0x00a4 -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u017a' # 0x00a5 -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u201d' # 0x00a6 -> RIGHT DOUBLE QUOTATION MARK
- u'\xa6' # 0x00a7 -> BROKEN BAR
- u'\xa9' # 0x00a8 -> COPYRIGHT SIGN
- u'\xae' # 0x00a9 -> REGISTERED SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\u0141' # 0x00ad -> LATIN CAPITAL LETTER L WITH STROKE
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u0104' # 0x00b5 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u010c' # 0x00b6 -> LATIN CAPITAL LETTER C WITH CARON
- u'\u0118' # 0x00b7 -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\u0116' # 0x00b8 -> LATIN CAPITAL LETTER E WITH DOT ABOVE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u012e' # 0x00bd -> LATIN CAPITAL LETTER I WITH OGONEK
- u'\u0160' # 0x00be -> LATIN CAPITAL LETTER S WITH CARON
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u0172' # 0x00c6 -> LATIN CAPITAL LETTER U WITH OGONEK
- u'\u016a' # 0x00c7 -> LATIN CAPITAL LETTER U WITH MACRON
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u017d' # 0x00cf -> LATIN CAPITAL LETTER Z WITH CARON
- u'\u0105' # 0x00d0 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u010d' # 0x00d1 -> LATIN SMALL LETTER C WITH CARON
- u'\u0119' # 0x00d2 -> LATIN SMALL LETTER E WITH OGONEK
- u'\u0117' # 0x00d3 -> LATIN SMALL LETTER E WITH DOT ABOVE
- u'\u012f' # 0x00d4 -> LATIN SMALL LETTER I WITH OGONEK
- u'\u0161' # 0x00d5 -> LATIN SMALL LETTER S WITH CARON
- u'\u0173' # 0x00d6 -> LATIN SMALL LETTER U WITH OGONEK
- u'\u016b' # 0x00d7 -> LATIN SMALL LETTER U WITH MACRON
- u'\u017e' # 0x00d8 -> LATIN SMALL LETTER Z WITH CARON
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S (GERMAN)
- u'\u014c' # 0x00e2 -> LATIN CAPITAL LETTER O WITH MACRON
- u'\u0143' # 0x00e3 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\xf5' # 0x00e4 -> LATIN SMALL LETTER O WITH TILDE
- u'\xd5' # 0x00e5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u0144' # 0x00e7 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0136' # 0x00e8 -> LATIN CAPITAL LETTER K WITH CEDILLA
- u'\u0137' # 0x00e9 -> LATIN SMALL LETTER K WITH CEDILLA
- u'\u013b' # 0x00ea -> LATIN CAPITAL LETTER L WITH CEDILLA
- u'\u013c' # 0x00eb -> LATIN SMALL LETTER L WITH CEDILLA
- u'\u0146' # 0x00ec -> LATIN SMALL LETTER N WITH CEDILLA
- u'\u0112' # 0x00ed -> LATIN CAPITAL LETTER E WITH MACRON
- u'\u0145' # 0x00ee -> LATIN CAPITAL LETTER N WITH CEDILLA
- u'\u2019' # 0x00ef -> RIGHT SINGLE QUOTATION MARK
- u'\xad' # 0x00f0 -> SOFT HYPHEN
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u201c' # 0x00f2 -> LEFT DOUBLE QUOTATION MARK
- u'\xbe' # 0x00f3 -> VULGAR FRACTION THREE QUARTERS
- u'\xb6' # 0x00f4 -> PILCROW SIGN
- u'\xa7' # 0x00f5 -> SECTION SIGN
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u201e' # 0x00f7 -> DOUBLE LOW-9 QUOTATION MARK
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\xb9' # 0x00fb -> SUPERSCRIPT ONE
- u'\xb3' # 0x00fc -> SUPERSCRIPT THREE
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\u0106' # 0x0080 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u0101' # 0x0083 -> LATIN SMALL LETTER A WITH MACRON
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u0123' # 0x0085 -> LATIN SMALL LETTER G WITH CEDILLA
+ u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\u0107' # 0x0087 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\u0142' # 0x0088 -> LATIN SMALL LETTER L WITH STROKE
+ u'\u0113' # 0x0089 -> LATIN SMALL LETTER E WITH MACRON
+ u'\u0156' # 0x008a -> LATIN CAPITAL LETTER R WITH CEDILLA
+ u'\u0157' # 0x008b -> LATIN SMALL LETTER R WITH CEDILLA
+ u'\u012b' # 0x008c -> LATIN SMALL LETTER I WITH MACRON
+ u'\u0179' # 0x008d -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
+ u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
+ u'\u014d' # 0x0093 -> LATIN SMALL LETTER O WITH MACRON
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\u0122' # 0x0095 -> LATIN CAPITAL LETTER G WITH CEDILLA
+ u'\xa2' # 0x0096 -> CENT SIGN
+ u'\u015a' # 0x0097 -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u015b' # 0x0098 -> LATIN SMALL LETTER S WITH ACUTE
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd7' # 0x009e -> MULTIPLICATION SIGN
+ u'\xa4' # 0x009f -> CURRENCY SIGN
+ u'\u0100' # 0x00a0 -> LATIN CAPITAL LETTER A WITH MACRON
+ u'\u012a' # 0x00a1 -> LATIN CAPITAL LETTER I WITH MACRON
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\u017b' # 0x00a3 -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\u017c' # 0x00a4 -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u017a' # 0x00a5 -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u201d' # 0x00a6 -> RIGHT DOUBLE QUOTATION MARK
+ u'\xa6' # 0x00a7 -> BROKEN BAR
+ u'\xa9' # 0x00a8 -> COPYRIGHT SIGN
+ u'\xae' # 0x00a9 -> REGISTERED SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\u0141' # 0x00ad -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u0104' # 0x00b5 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u010c' # 0x00b6 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\u0118' # 0x00b7 -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\u0116' # 0x00b8 -> LATIN CAPITAL LETTER E WITH DOT ABOVE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u012e' # 0x00bd -> LATIN CAPITAL LETTER I WITH OGONEK
+ u'\u0160' # 0x00be -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u0172' # 0x00c6 -> LATIN CAPITAL LETTER U WITH OGONEK
+ u'\u016a' # 0x00c7 -> LATIN CAPITAL LETTER U WITH MACRON
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u017d' # 0x00cf -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\u0105' # 0x00d0 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u010d' # 0x00d1 -> LATIN SMALL LETTER C WITH CARON
+ u'\u0119' # 0x00d2 -> LATIN SMALL LETTER E WITH OGONEK
+ u'\u0117' # 0x00d3 -> LATIN SMALL LETTER E WITH DOT ABOVE
+ u'\u012f' # 0x00d4 -> LATIN SMALL LETTER I WITH OGONEK
+ u'\u0161' # 0x00d5 -> LATIN SMALL LETTER S WITH CARON
+ u'\u0173' # 0x00d6 -> LATIN SMALL LETTER U WITH OGONEK
+ u'\u016b' # 0x00d7 -> LATIN SMALL LETTER U WITH MACRON
+ u'\u017e' # 0x00d8 -> LATIN SMALL LETTER Z WITH CARON
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S (GERMAN)
+ u'\u014c' # 0x00e2 -> LATIN CAPITAL LETTER O WITH MACRON
+ u'\u0143' # 0x00e3 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\xf5' # 0x00e4 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xd5' # 0x00e5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u0144' # 0x00e7 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0136' # 0x00e8 -> LATIN CAPITAL LETTER K WITH CEDILLA
+ u'\u0137' # 0x00e9 -> LATIN SMALL LETTER K WITH CEDILLA
+ u'\u013b' # 0x00ea -> LATIN CAPITAL LETTER L WITH CEDILLA
+ u'\u013c' # 0x00eb -> LATIN SMALL LETTER L WITH CEDILLA
+ u'\u0146' # 0x00ec -> LATIN SMALL LETTER N WITH CEDILLA
+ u'\u0112' # 0x00ed -> LATIN CAPITAL LETTER E WITH MACRON
+ u'\u0145' # 0x00ee -> LATIN CAPITAL LETTER N WITH CEDILLA
+ u'\u2019' # 0x00ef -> RIGHT SINGLE QUOTATION MARK
+ u'\xad' # 0x00f0 -> SOFT HYPHEN
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u201c' # 0x00f2 -> LEFT DOUBLE QUOTATION MARK
+ u'\xbe' # 0x00f3 -> VULGAR FRACTION THREE QUARTERS
+ u'\xb6' # 0x00f4 -> PILCROW SIGN
+ u'\xa7' # 0x00f5 -> SECTION SIGN
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u201e' # 0x00f7 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\xb9' # 0x00fb -> SUPERSCRIPT ONE
+ u'\xb3' # 0x00fc -> SUPERSCRIPT THREE
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a2: 0x0096, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a4: 0x009f, # CURRENCY SIGN
- 0x00a6: 0x00a7, # BROKEN BAR
- 0x00a7: 0x00f5, # SECTION SIGN
- 0x00a9: 0x00a8, # COPYRIGHT SIGN
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00ad: 0x00f0, # SOFT HYPHEN
- 0x00ae: 0x00a9, # REGISTERED SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b3: 0x00fc, # SUPERSCRIPT THREE
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b6: 0x00f4, # PILCROW SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00b9: 0x00fb, # SUPERSCRIPT ONE
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00be: 0x00f3, # VULGAR FRACTION THREE QUARTERS
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00d5: 0x00e5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00d7: 0x009e, # MULTIPLICATION SIGN
- 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f5: 0x00e4, # LATIN SMALL LETTER O WITH TILDE
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0100: 0x00a0, # LATIN CAPITAL LETTER A WITH MACRON
- 0x0101: 0x0083, # LATIN SMALL LETTER A WITH MACRON
- 0x0104: 0x00b5, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0x00d0, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0x0080, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0x0087, # LATIN SMALL LETTER C WITH ACUTE
- 0x010c: 0x00b6, # LATIN CAPITAL LETTER C WITH CARON
- 0x010d: 0x00d1, # LATIN SMALL LETTER C WITH CARON
- 0x0112: 0x00ed, # LATIN CAPITAL LETTER E WITH MACRON
- 0x0113: 0x0089, # LATIN SMALL LETTER E WITH MACRON
- 0x0116: 0x00b8, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x0117: 0x00d3, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x0118: 0x00b7, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0x00d2, # LATIN SMALL LETTER E WITH OGONEK
- 0x0122: 0x0095, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0123: 0x0085, # LATIN SMALL LETTER G WITH CEDILLA
- 0x012a: 0x00a1, # LATIN CAPITAL LETTER I WITH MACRON
- 0x012b: 0x008c, # LATIN SMALL LETTER I WITH MACRON
- 0x012e: 0x00bd, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x012f: 0x00d4, # LATIN SMALL LETTER I WITH OGONEK
- 0x0136: 0x00e8, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x0137: 0x00e9, # LATIN SMALL LETTER K WITH CEDILLA
- 0x013b: 0x00ea, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x013c: 0x00eb, # LATIN SMALL LETTER L WITH CEDILLA
- 0x0141: 0x00ad, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0x0088, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0x00e3, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0x00e7, # LATIN SMALL LETTER N WITH ACUTE
- 0x0145: 0x00ee, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x0146: 0x00ec, # LATIN SMALL LETTER N WITH CEDILLA
- 0x014c: 0x00e2, # LATIN CAPITAL LETTER O WITH MACRON
- 0x014d: 0x0093, # LATIN SMALL LETTER O WITH MACRON
- 0x0156: 0x008a, # LATIN CAPITAL LETTER R WITH CEDILLA
- 0x0157: 0x008b, # LATIN SMALL LETTER R WITH CEDILLA
- 0x015a: 0x0097, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015b: 0x0098, # LATIN SMALL LETTER S WITH ACUTE
- 0x0160: 0x00be, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0x00d5, # LATIN SMALL LETTER S WITH CARON
- 0x016a: 0x00c7, # LATIN CAPITAL LETTER U WITH MACRON
- 0x016b: 0x00d7, # LATIN SMALL LETTER U WITH MACRON
- 0x0172: 0x00c6, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x0173: 0x00d6, # LATIN SMALL LETTER U WITH OGONEK
- 0x0179: 0x008d, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017a: 0x00a5, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017b: 0x00a3, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017c: 0x00a4, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017d: 0x00cf, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017e: 0x00d8, # LATIN SMALL LETTER Z WITH CARON
- 0x2019: 0x00ef, # RIGHT SINGLE QUOTATION MARK
- 0x201c: 0x00f2, # LEFT DOUBLE QUOTATION MARK
- 0x201d: 0x00a6, # RIGHT DOUBLE QUOTATION MARK
- 0x201e: 0x00f7, # DOUBLE LOW-9 QUOTATION MARK
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a2: 0x0096, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a4: 0x009f, # CURRENCY SIGN
+ 0x00a6: 0x00a7, # BROKEN BAR
+ 0x00a7: 0x00f5, # SECTION SIGN
+ 0x00a9: 0x00a8, # COPYRIGHT SIGN
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00ad: 0x00f0, # SOFT HYPHEN
+ 0x00ae: 0x00a9, # REGISTERED SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b3: 0x00fc, # SUPERSCRIPT THREE
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b6: 0x00f4, # PILCROW SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00b9: 0x00fb, # SUPERSCRIPT ONE
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00be: 0x00f3, # VULGAR FRACTION THREE QUARTERS
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00d5: 0x00e5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00d7: 0x009e, # MULTIPLICATION SIGN
+ 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f5: 0x00e4, # LATIN SMALL LETTER O WITH TILDE
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0100: 0x00a0, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x0101: 0x0083, # LATIN SMALL LETTER A WITH MACRON
+ 0x0104: 0x00b5, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0x00d0, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0x0080, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0x0087, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010c: 0x00b6, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010d: 0x00d1, # LATIN SMALL LETTER C WITH CARON
+ 0x0112: 0x00ed, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x0113: 0x0089, # LATIN SMALL LETTER E WITH MACRON
+ 0x0116: 0x00b8, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x0117: 0x00d3, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x0118: 0x00b7, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0x00d2, # LATIN SMALL LETTER E WITH OGONEK
+ 0x0122: 0x0095, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0123: 0x0085, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x012a: 0x00a1, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x012b: 0x008c, # LATIN SMALL LETTER I WITH MACRON
+ 0x012e: 0x00bd, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x012f: 0x00d4, # LATIN SMALL LETTER I WITH OGONEK
+ 0x0136: 0x00e8, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x0137: 0x00e9, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x013b: 0x00ea, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x013c: 0x00eb, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x0141: 0x00ad, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0x0088, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0x00e3, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0x00e7, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0145: 0x00ee, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x0146: 0x00ec, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x014c: 0x00e2, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x014d: 0x0093, # LATIN SMALL LETTER O WITH MACRON
+ 0x0156: 0x008a, # LATIN CAPITAL LETTER R WITH CEDILLA
+ 0x0157: 0x008b, # LATIN SMALL LETTER R WITH CEDILLA
+ 0x015a: 0x0097, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015b: 0x0098, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0160: 0x00be, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0x00d5, # LATIN SMALL LETTER S WITH CARON
+ 0x016a: 0x00c7, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x016b: 0x00d7, # LATIN SMALL LETTER U WITH MACRON
+ 0x0172: 0x00c6, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x0173: 0x00d6, # LATIN SMALL LETTER U WITH OGONEK
+ 0x0179: 0x008d, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017a: 0x00a5, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017b: 0x00a3, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017c: 0x00a4, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017d: 0x00cf, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017e: 0x00d8, # LATIN SMALL LETTER Z WITH CARON
+ 0x2019: 0x00ef, # RIGHT SINGLE QUOTATION MARK
+ 0x201c: 0x00f2, # LEFT DOUBLE QUOTATION MARK
+ 0x201d: 0x00a6, # RIGHT DOUBLE QUOTATION MARK
+ 0x201e: 0x00f7, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp850.py b/Lib/encodings/cp850.py
index 182692b..6481ee0 100644
--- a/Lib/encodings/cp850.py
+++ b/Lib/encodings/cp850.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
- 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
- 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x009e: 0x00d7, # MULTIPLICATION SIGN
- 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
- 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x00ae, # REGISTERED SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00b7: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00b8: 0x00a9, # COPYRIGHT SIGN
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x00a2, # CENT SIGN
- 0x00be: 0x00a5, # YEN SIGN
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
- 0x00c7: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x00a4, # CURRENCY SIGN
- 0x00d0: 0x00f0, # LATIN SMALL LETTER ETH
- 0x00d1: 0x00d0, # LATIN CAPITAL LETTER ETH
- 0x00d2: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00d4: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00d5: 0x0131, # LATIN SMALL LETTER DOTLESS I
- 0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00d8: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x00a6, # BROKEN BAR
- 0x00de: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00e3: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
- 0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x00fe, # LATIN SMALL LETTER THORN
- 0x00e8: 0x00de, # LATIN CAPITAL LETTER THORN
- 0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00ea: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00eb: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00ec: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00ed: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00ee: 0x00af, # MACRON
- 0x00ef: 0x00b4, # ACUTE ACCENT
- 0x00f0: 0x00ad, # SOFT HYPHEN
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2017, # DOUBLE LOW LINE
- 0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
- 0x00f4: 0x00b6, # PILCROW SIGN
- 0x00f5: 0x00a7, # SECTION SIGN
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x00b8, # CEDILLA
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x00a8, # DIAERESIS
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x00b9, # SUPERSCRIPT ONE
- 0x00fc: 0x00b3, # SUPERSCRIPT THREE
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+ 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x009e: 0x00d7, # MULTIPLICATION SIGN
+ 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+ 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x00ae, # REGISTERED SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00b7: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00b8: 0x00a9, # COPYRIGHT SIGN
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x00a2, # CENT SIGN
+ 0x00be: 0x00a5, # YEN SIGN
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00c7: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x00a4, # CURRENCY SIGN
+ 0x00d0: 0x00f0, # LATIN SMALL LETTER ETH
+ 0x00d1: 0x00d0, # LATIN CAPITAL LETTER ETH
+ 0x00d2: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00d4: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00d5: 0x0131, # LATIN SMALL LETTER DOTLESS I
+ 0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00d8: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x00a6, # BROKEN BAR
+ 0x00de: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00e3: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x00fe, # LATIN SMALL LETTER THORN
+ 0x00e8: 0x00de, # LATIN CAPITAL LETTER THORN
+ 0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00ea: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00eb: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00ec: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00ed: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00ee: 0x00af, # MACRON
+ 0x00ef: 0x00b4, # ACUTE ACCENT
+ 0x00f0: 0x00ad, # SOFT HYPHEN
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2017, # DOUBLE LOW LINE
+ 0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+ 0x00f4: 0x00b6, # PILCROW SIGN
+ 0x00f5: 0x00a7, # SECTION SIGN
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x00b8, # CEDILLA
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x00a8, # DIAERESIS
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x00b9, # SUPERSCRIPT ONE
+ 0x00fc: 0x00b3, # SUPERSCRIPT THREE
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
- u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xff' # 0x0098 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd7' # 0x009e -> MULTIPLICATION SIGN
- u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
- u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\xae' # 0x00a9 -> REGISTERED SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\xc1' # 0x00b5 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0x00b6 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc0' # 0x00b7 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xa9' # 0x00b8 -> COPYRIGHT SIGN
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\xa2' # 0x00bd -> CENT SIGN
- u'\xa5' # 0x00be -> YEN SIGN
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\xe3' # 0x00c6 -> LATIN SMALL LETTER A WITH TILDE
- u'\xc3' # 0x00c7 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa4' # 0x00cf -> CURRENCY SIGN
- u'\xf0' # 0x00d0 -> LATIN SMALL LETTER ETH
- u'\xd0' # 0x00d1 -> LATIN CAPITAL LETTER ETH
- u'\xca' # 0x00d2 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0x00d3 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0x00d4 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\u0131' # 0x00d5 -> LATIN SMALL LETTER DOTLESS I
- u'\xcd' # 0x00d6 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x00d7 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0x00d8 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\xa6' # 0x00dd -> BROKEN BAR
- u'\xcc' # 0x00de -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\xd4' # 0x00e2 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd2' # 0x00e3 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xf5' # 0x00e4 -> LATIN SMALL LETTER O WITH TILDE
- u'\xd5' # 0x00e5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\xfe' # 0x00e7 -> LATIN SMALL LETTER THORN
- u'\xde' # 0x00e8 -> LATIN CAPITAL LETTER THORN
- u'\xda' # 0x00e9 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0x00ea -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0x00eb -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xfd' # 0x00ec -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xdd' # 0x00ed -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xaf' # 0x00ee -> MACRON
- u'\xb4' # 0x00ef -> ACUTE ACCENT
- u'\xad' # 0x00f0 -> SOFT HYPHEN
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2017' # 0x00f2 -> DOUBLE LOW LINE
- u'\xbe' # 0x00f3 -> VULGAR FRACTION THREE QUARTERS
- u'\xb6' # 0x00f4 -> PILCROW SIGN
- u'\xa7' # 0x00f5 -> SECTION SIGN
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\xb8' # 0x00f7 -> CEDILLA
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\xa8' # 0x00f9 -> DIAERESIS
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\xb9' # 0x00fb -> SUPERSCRIPT ONE
- u'\xb3' # 0x00fc -> SUPERSCRIPT THREE
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
+ u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xff' # 0x0098 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd7' # 0x009e -> MULTIPLICATION SIGN
+ u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\xae' # 0x00a9 -> REGISTERED SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\xc1' # 0x00b5 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0x00b6 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc0' # 0x00b7 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xa9' # 0x00b8 -> COPYRIGHT SIGN
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\xa2' # 0x00bd -> CENT SIGN
+ u'\xa5' # 0x00be -> YEN SIGN
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\xe3' # 0x00c6 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xc3' # 0x00c7 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa4' # 0x00cf -> CURRENCY SIGN
+ u'\xf0' # 0x00d0 -> LATIN SMALL LETTER ETH
+ u'\xd0' # 0x00d1 -> LATIN CAPITAL LETTER ETH
+ u'\xca' # 0x00d2 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0x00d3 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0x00d4 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\u0131' # 0x00d5 -> LATIN SMALL LETTER DOTLESS I
+ u'\xcd' # 0x00d6 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x00d7 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0x00d8 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\xa6' # 0x00dd -> BROKEN BAR
+ u'\xcc' # 0x00de -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\xd4' # 0x00e2 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd2' # 0x00e3 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xf5' # 0x00e4 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xd5' # 0x00e5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\xfe' # 0x00e7 -> LATIN SMALL LETTER THORN
+ u'\xde' # 0x00e8 -> LATIN CAPITAL LETTER THORN
+ u'\xda' # 0x00e9 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0x00ea -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0x00eb -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xfd' # 0x00ec -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xdd' # 0x00ed -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xaf' # 0x00ee -> MACRON
+ u'\xb4' # 0x00ef -> ACUTE ACCENT
+ u'\xad' # 0x00f0 -> SOFT HYPHEN
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2017' # 0x00f2 -> DOUBLE LOW LINE
+ u'\xbe' # 0x00f3 -> VULGAR FRACTION THREE QUARTERS
+ u'\xb6' # 0x00f4 -> PILCROW SIGN
+ u'\xa7' # 0x00f5 -> SECTION SIGN
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\xb8' # 0x00f7 -> CEDILLA
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\xa8' # 0x00f9 -> DIAERESIS
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\xb9' # 0x00fb -> SUPERSCRIPT ONE
+ u'\xb3' # 0x00fc -> SUPERSCRIPT THREE
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a2: 0x00bd, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a4: 0x00cf, # CURRENCY SIGN
- 0x00a5: 0x00be, # YEN SIGN
- 0x00a6: 0x00dd, # BROKEN BAR
- 0x00a7: 0x00f5, # SECTION SIGN
- 0x00a8: 0x00f9, # DIAERESIS
- 0x00a9: 0x00b8, # COPYRIGHT SIGN
- 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00ad: 0x00f0, # SOFT HYPHEN
- 0x00ae: 0x00a9, # REGISTERED SIGN
- 0x00af: 0x00ee, # MACRON
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b3: 0x00fc, # SUPERSCRIPT THREE
- 0x00b4: 0x00ef, # ACUTE ACCENT
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b6: 0x00f4, # PILCROW SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00b8: 0x00f7, # CEDILLA
- 0x00b9: 0x00fb, # SUPERSCRIPT ONE
- 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00be: 0x00f3, # VULGAR FRACTION THREE QUARTERS
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00c0: 0x00b7, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00c1: 0x00b5, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00c2: 0x00b6, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00c3: 0x00c7, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c8: 0x00d4, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00ca: 0x00d2, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00cb: 0x00d3, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00cc: 0x00de, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00cd: 0x00d6, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00ce: 0x00d7, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00cf: 0x00d8, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00d0: 0x00d1, # LATIN CAPITAL LETTER ETH
- 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00d2: 0x00e3, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00d4: 0x00e2, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00d5: 0x00e5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00d7: 0x009e, # MULTIPLICATION SIGN
- 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00d9: 0x00eb, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00da: 0x00e9, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00db: 0x00ea, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00dd: 0x00ed, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00de: 0x00e8, # LATIN CAPITAL LETTER THORN
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e3: 0x00c6, # LATIN SMALL LETTER A WITH TILDE
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00f0: 0x00d0, # LATIN SMALL LETTER ETH
- 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
- 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f5: 0x00e4, # LATIN SMALL LETTER O WITH TILDE
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
- 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00fd: 0x00ec, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00fe: 0x00e7, # LATIN SMALL LETTER THORN
- 0x00ff: 0x0098, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0131: 0x00d5, # LATIN SMALL LETTER DOTLESS I
- 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
- 0x2017: 0x00f2, # DOUBLE LOW LINE
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a2: 0x00bd, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a4: 0x00cf, # CURRENCY SIGN
+ 0x00a5: 0x00be, # YEN SIGN
+ 0x00a6: 0x00dd, # BROKEN BAR
+ 0x00a7: 0x00f5, # SECTION SIGN
+ 0x00a8: 0x00f9, # DIAERESIS
+ 0x00a9: 0x00b8, # COPYRIGHT SIGN
+ 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00ad: 0x00f0, # SOFT HYPHEN
+ 0x00ae: 0x00a9, # REGISTERED SIGN
+ 0x00af: 0x00ee, # MACRON
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b3: 0x00fc, # SUPERSCRIPT THREE
+ 0x00b4: 0x00ef, # ACUTE ACCENT
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b6: 0x00f4, # PILCROW SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00b8: 0x00f7, # CEDILLA
+ 0x00b9: 0x00fb, # SUPERSCRIPT ONE
+ 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00be: 0x00f3, # VULGAR FRACTION THREE QUARTERS
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00c0: 0x00b7, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00c1: 0x00b5, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00c2: 0x00b6, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00c3: 0x00c7, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c8: 0x00d4, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00ca: 0x00d2, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00cb: 0x00d3, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00cc: 0x00de, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00cd: 0x00d6, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00ce: 0x00d7, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00cf: 0x00d8, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00d0: 0x00d1, # LATIN CAPITAL LETTER ETH
+ 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00d2: 0x00e3, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00d4: 0x00e2, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00d5: 0x00e5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00d7: 0x009e, # MULTIPLICATION SIGN
+ 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00d9: 0x00eb, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00da: 0x00e9, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00db: 0x00ea, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00dd: 0x00ed, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00de: 0x00e8, # LATIN CAPITAL LETTER THORN
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e3: 0x00c6, # LATIN SMALL LETTER A WITH TILDE
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00f0: 0x00d0, # LATIN SMALL LETTER ETH
+ 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f5: 0x00e4, # LATIN SMALL LETTER O WITH TILDE
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
+ 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00fd: 0x00ec, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00fe: 0x00e7, # LATIN SMALL LETTER THORN
+ 0x00ff: 0x0098, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0131: 0x00d5, # LATIN SMALL LETTER DOTLESS I
+ 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
+ 0x2017: 0x00f2, # DOUBLE LOW LINE
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp852.py b/Lib/encodings/cp852.py
index f1d60e8..749b0da 100644
--- a/Lib/encodings/cp852.py
+++ b/Lib/encodings/cp852.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x016f, # LATIN SMALL LETTER U WITH RING ABOVE
- 0x0086: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x0142, # LATIN SMALL LETTER L WITH STROKE
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x0150, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- 0x008b: 0x0151, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
- 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x008d: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x0139, # LATIN CAPITAL LETTER L WITH ACUTE
- 0x0092: 0x013a, # LATIN SMALL LETTER L WITH ACUTE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x013d, # LATIN CAPITAL LETTER L WITH CARON
- 0x0096: 0x013e, # LATIN SMALL LETTER L WITH CARON
- 0x0097: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x0098: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x0164, # LATIN CAPITAL LETTER T WITH CARON
- 0x009c: 0x0165, # LATIN SMALL LETTER T WITH CARON
- 0x009d: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
- 0x009e: 0x00d7, # MULTIPLICATION SIGN
- 0x009f: 0x010d, # LATIN SMALL LETTER C WITH CARON
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x00a5: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
- 0x00a6: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
- 0x00a7: 0x017e, # LATIN SMALL LETTER Z WITH CARON
- 0x00a8: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x00a9: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
- 0x00ac: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
- 0x00ad: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00b7: 0x011a, # LATIN CAPITAL LETTER E WITH CARON
- 0x00b8: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x00be: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x0102, # LATIN CAPITAL LETTER A WITH BREVE
- 0x00c7: 0x0103, # LATIN SMALL LETTER A WITH BREVE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x00a4, # CURRENCY SIGN
- 0x00d0: 0x0111, # LATIN SMALL LETTER D WITH STROKE
- 0x00d1: 0x0110, # LATIN CAPITAL LETTER D WITH STROKE
- 0x00d2: 0x010e, # LATIN CAPITAL LETTER D WITH CARON
- 0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00d4: 0x010f, # LATIN SMALL LETTER D WITH CARON
- 0x00d5: 0x0147, # LATIN CAPITAL LETTER N WITH CARON
- 0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00d8: 0x011b, # LATIN SMALL LETTER E WITH CARON
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x0162, # LATIN CAPITAL LETTER T WITH CEDILLA
- 0x00de: 0x016e, # LATIN CAPITAL LETTER U WITH RING ABOVE
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00e3: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x00e4: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
- 0x00e5: 0x0148, # LATIN SMALL LETTER N WITH CARON
- 0x00e6: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
- 0x00e7: 0x0161, # LATIN SMALL LETTER S WITH CARON
- 0x00e8: 0x0154, # LATIN CAPITAL LETTER R WITH ACUTE
- 0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00ea: 0x0155, # LATIN SMALL LETTER R WITH ACUTE
- 0x00eb: 0x0170, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- 0x00ec: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00ed: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00ee: 0x0163, # LATIN SMALL LETTER T WITH CEDILLA
- 0x00ef: 0x00b4, # ACUTE ACCENT
- 0x00f0: 0x00ad, # SOFT HYPHEN
- 0x00f1: 0x02dd, # DOUBLE ACUTE ACCENT
- 0x00f2: 0x02db, # OGONEK
- 0x00f3: 0x02c7, # CARON
- 0x00f4: 0x02d8, # BREVE
- 0x00f5: 0x00a7, # SECTION SIGN
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x00b8, # CEDILLA
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x00a8, # DIAERESIS
- 0x00fa: 0x02d9, # DOT ABOVE
- 0x00fb: 0x0171, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
- 0x00fc: 0x0158, # LATIN CAPITAL LETTER R WITH CARON
- 0x00fd: 0x0159, # LATIN SMALL LETTER R WITH CARON
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x016f, # LATIN SMALL LETTER U WITH RING ABOVE
+ 0x0086: 0x0107, # LATIN SMALL LETTER C WITH ACUTE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x0142, # LATIN SMALL LETTER L WITH STROKE
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x0150, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ 0x008b: 0x0151, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x008d: 0x0179, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x0106, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x0139, # LATIN CAPITAL LETTER L WITH ACUTE
+ 0x0092: 0x013a, # LATIN SMALL LETTER L WITH ACUTE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x013d, # LATIN CAPITAL LETTER L WITH CARON
+ 0x0096: 0x013e, # LATIN SMALL LETTER L WITH CARON
+ 0x0097: 0x015a, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x0098: 0x015b, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x0164, # LATIN CAPITAL LETTER T WITH CARON
+ 0x009c: 0x0165, # LATIN SMALL LETTER T WITH CARON
+ 0x009d: 0x0141, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x009e: 0x00d7, # MULTIPLICATION SIGN
+ 0x009f: 0x010d, # LATIN SMALL LETTER C WITH CARON
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x0104, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x00a5: 0x0105, # LATIN SMALL LETTER A WITH OGONEK
+ 0x00a6: 0x017d, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x00a7: 0x017e, # LATIN SMALL LETTER Z WITH CARON
+ 0x00a8: 0x0118, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x00a9: 0x0119, # LATIN SMALL LETTER E WITH OGONEK
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x017a, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x00ac: 0x010c, # LATIN CAPITAL LETTER C WITH CARON
+ 0x00ad: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00b7: 0x011a, # LATIN CAPITAL LETTER E WITH CARON
+ 0x00b8: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x017b, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x00be: 0x017c, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x0102, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x00c7: 0x0103, # LATIN SMALL LETTER A WITH BREVE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x00a4, # CURRENCY SIGN
+ 0x00d0: 0x0111, # LATIN SMALL LETTER D WITH STROKE
+ 0x00d1: 0x0110, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x00d2: 0x010e, # LATIN CAPITAL LETTER D WITH CARON
+ 0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00d4: 0x010f, # LATIN SMALL LETTER D WITH CARON
+ 0x00d5: 0x0147, # LATIN CAPITAL LETTER N WITH CARON
+ 0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00d8: 0x011b, # LATIN SMALL LETTER E WITH CARON
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x0162, # LATIN CAPITAL LETTER T WITH CEDILLA
+ 0x00de: 0x016e, # LATIN CAPITAL LETTER U WITH RING ABOVE
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00e3: 0x0143, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x00e4: 0x0144, # LATIN SMALL LETTER N WITH ACUTE
+ 0x00e5: 0x0148, # LATIN SMALL LETTER N WITH CARON
+ 0x00e6: 0x0160, # LATIN CAPITAL LETTER S WITH CARON
+ 0x00e7: 0x0161, # LATIN SMALL LETTER S WITH CARON
+ 0x00e8: 0x0154, # LATIN CAPITAL LETTER R WITH ACUTE
+ 0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00ea: 0x0155, # LATIN SMALL LETTER R WITH ACUTE
+ 0x00eb: 0x0170, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ 0x00ec: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00ed: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00ee: 0x0163, # LATIN SMALL LETTER T WITH CEDILLA
+ 0x00ef: 0x00b4, # ACUTE ACCENT
+ 0x00f0: 0x00ad, # SOFT HYPHEN
+ 0x00f1: 0x02dd, # DOUBLE ACUTE ACCENT
+ 0x00f2: 0x02db, # OGONEK
+ 0x00f3: 0x02c7, # CARON
+ 0x00f4: 0x02d8, # BREVE
+ 0x00f5: 0x00a7, # SECTION SIGN
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x00b8, # CEDILLA
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x00a8, # DIAERESIS
+ 0x00fa: 0x02d9, # DOT ABOVE
+ 0x00fb: 0x0171, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ 0x00fc: 0x0158, # LATIN CAPITAL LETTER R WITH CARON
+ 0x00fd: 0x0159, # LATIN SMALL LETTER R WITH CARON
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u016f' # 0x0085 -> LATIN SMALL LETTER U WITH RING ABOVE
- u'\u0107' # 0x0086 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\u0142' # 0x0088 -> LATIN SMALL LETTER L WITH STROKE
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u0150' # 0x008a -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- u'\u0151' # 0x008b -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
- u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\u0179' # 0x008d -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\u0106' # 0x008f -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0139' # 0x0091 -> LATIN CAPITAL LETTER L WITH ACUTE
- u'\u013a' # 0x0092 -> LATIN SMALL LETTER L WITH ACUTE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\u013d' # 0x0095 -> LATIN CAPITAL LETTER L WITH CARON
- u'\u013e' # 0x0096 -> LATIN SMALL LETTER L WITH CARON
- u'\u015a' # 0x0097 -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u015b' # 0x0098 -> LATIN SMALL LETTER S WITH ACUTE
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u0164' # 0x009b -> LATIN CAPITAL LETTER T WITH CARON
- u'\u0165' # 0x009c -> LATIN SMALL LETTER T WITH CARON
- u'\u0141' # 0x009d -> LATIN CAPITAL LETTER L WITH STROKE
- u'\xd7' # 0x009e -> MULTIPLICATION SIGN
- u'\u010d' # 0x009f -> LATIN SMALL LETTER C WITH CARON
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\u0104' # 0x00a4 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u0105' # 0x00a5 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u017d' # 0x00a6 -> LATIN CAPITAL LETTER Z WITH CARON
- u'\u017e' # 0x00a7 -> LATIN SMALL LETTER Z WITH CARON
- u'\u0118' # 0x00a8 -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\u0119' # 0x00a9 -> LATIN SMALL LETTER E WITH OGONEK
- u'\xac' # 0x00aa -> NOT SIGN
- u'\u017a' # 0x00ab -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u010c' # 0x00ac -> LATIN CAPITAL LETTER C WITH CARON
- u'\u015f' # 0x00ad -> LATIN SMALL LETTER S WITH CEDILLA
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\xc1' # 0x00b5 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0x00b6 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\u011a' # 0x00b7 -> LATIN CAPITAL LETTER E WITH CARON
- u'\u015e' # 0x00b8 -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u017b' # 0x00bd -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\u017c' # 0x00be -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u0102' # 0x00c6 -> LATIN CAPITAL LETTER A WITH BREVE
- u'\u0103' # 0x00c7 -> LATIN SMALL LETTER A WITH BREVE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa4' # 0x00cf -> CURRENCY SIGN
- u'\u0111' # 0x00d0 -> LATIN SMALL LETTER D WITH STROKE
- u'\u0110' # 0x00d1 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u010e' # 0x00d2 -> LATIN CAPITAL LETTER D WITH CARON
- u'\xcb' # 0x00d3 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u010f' # 0x00d4 -> LATIN SMALL LETTER D WITH CARON
- u'\u0147' # 0x00d5 -> LATIN CAPITAL LETTER N WITH CARON
- u'\xcd' # 0x00d6 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x00d7 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\u011b' # 0x00d8 -> LATIN SMALL LETTER E WITH CARON
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u0162' # 0x00dd -> LATIN CAPITAL LETTER T WITH CEDILLA
- u'\u016e' # 0x00de -> LATIN CAPITAL LETTER U WITH RING ABOVE
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\xd4' # 0x00e2 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u0143' # 0x00e3 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\u0144' # 0x00e4 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0148' # 0x00e5 -> LATIN SMALL LETTER N WITH CARON
- u'\u0160' # 0x00e6 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u0161' # 0x00e7 -> LATIN SMALL LETTER S WITH CARON
- u'\u0154' # 0x00e8 -> LATIN CAPITAL LETTER R WITH ACUTE
- u'\xda' # 0x00e9 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\u0155' # 0x00ea -> LATIN SMALL LETTER R WITH ACUTE
- u'\u0170' # 0x00eb -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- u'\xfd' # 0x00ec -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xdd' # 0x00ed -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\u0163' # 0x00ee -> LATIN SMALL LETTER T WITH CEDILLA
- u'\xb4' # 0x00ef -> ACUTE ACCENT
- u'\xad' # 0x00f0 -> SOFT HYPHEN
- u'\u02dd' # 0x00f1 -> DOUBLE ACUTE ACCENT
- u'\u02db' # 0x00f2 -> OGONEK
- u'\u02c7' # 0x00f3 -> CARON
- u'\u02d8' # 0x00f4 -> BREVE
- u'\xa7' # 0x00f5 -> SECTION SIGN
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\xb8' # 0x00f7 -> CEDILLA
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\xa8' # 0x00f9 -> DIAERESIS
- u'\u02d9' # 0x00fa -> DOT ABOVE
- u'\u0171' # 0x00fb -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
- u'\u0158' # 0x00fc -> LATIN CAPITAL LETTER R WITH CARON
- u'\u0159' # 0x00fd -> LATIN SMALL LETTER R WITH CARON
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u016f' # 0x0085 -> LATIN SMALL LETTER U WITH RING ABOVE
+ u'\u0107' # 0x0086 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\u0142' # 0x0088 -> LATIN SMALL LETTER L WITH STROKE
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u0150' # 0x008a -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ u'\u0151' # 0x008b -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\u0179' # 0x008d -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\u0106' # 0x008f -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0139' # 0x0091 -> LATIN CAPITAL LETTER L WITH ACUTE
+ u'\u013a' # 0x0092 -> LATIN SMALL LETTER L WITH ACUTE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\u013d' # 0x0095 -> LATIN CAPITAL LETTER L WITH CARON
+ u'\u013e' # 0x0096 -> LATIN SMALL LETTER L WITH CARON
+ u'\u015a' # 0x0097 -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u015b' # 0x0098 -> LATIN SMALL LETTER S WITH ACUTE
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u0164' # 0x009b -> LATIN CAPITAL LETTER T WITH CARON
+ u'\u0165' # 0x009c -> LATIN SMALL LETTER T WITH CARON
+ u'\u0141' # 0x009d -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\xd7' # 0x009e -> MULTIPLICATION SIGN
+ u'\u010d' # 0x009f -> LATIN SMALL LETTER C WITH CARON
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\u0104' # 0x00a4 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u0105' # 0x00a5 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u017d' # 0x00a6 -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\u017e' # 0x00a7 -> LATIN SMALL LETTER Z WITH CARON
+ u'\u0118' # 0x00a8 -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\u0119' # 0x00a9 -> LATIN SMALL LETTER E WITH OGONEK
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\u017a' # 0x00ab -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u010c' # 0x00ac -> LATIN CAPITAL LETTER C WITH CARON
+ u'\u015f' # 0x00ad -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\xc1' # 0x00b5 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0x00b6 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u011a' # 0x00b7 -> LATIN CAPITAL LETTER E WITH CARON
+ u'\u015e' # 0x00b8 -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u017b' # 0x00bd -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\u017c' # 0x00be -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u0102' # 0x00c6 -> LATIN CAPITAL LETTER A WITH BREVE
+ u'\u0103' # 0x00c7 -> LATIN SMALL LETTER A WITH BREVE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa4' # 0x00cf -> CURRENCY SIGN
+ u'\u0111' # 0x00d0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\u0110' # 0x00d1 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u010e' # 0x00d2 -> LATIN CAPITAL LETTER D WITH CARON
+ u'\xcb' # 0x00d3 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u010f' # 0x00d4 -> LATIN SMALL LETTER D WITH CARON
+ u'\u0147' # 0x00d5 -> LATIN CAPITAL LETTER N WITH CARON
+ u'\xcd' # 0x00d6 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x00d7 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\u011b' # 0x00d8 -> LATIN SMALL LETTER E WITH CARON
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u0162' # 0x00dd -> LATIN CAPITAL LETTER T WITH CEDILLA
+ u'\u016e' # 0x00de -> LATIN CAPITAL LETTER U WITH RING ABOVE
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\xd4' # 0x00e2 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u0143' # 0x00e3 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\u0144' # 0x00e4 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0148' # 0x00e5 -> LATIN SMALL LETTER N WITH CARON
+ u'\u0160' # 0x00e6 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u0161' # 0x00e7 -> LATIN SMALL LETTER S WITH CARON
+ u'\u0154' # 0x00e8 -> LATIN CAPITAL LETTER R WITH ACUTE
+ u'\xda' # 0x00e9 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\u0155' # 0x00ea -> LATIN SMALL LETTER R WITH ACUTE
+ u'\u0170' # 0x00eb -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ u'\xfd' # 0x00ec -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xdd' # 0x00ed -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\u0163' # 0x00ee -> LATIN SMALL LETTER T WITH CEDILLA
+ u'\xb4' # 0x00ef -> ACUTE ACCENT
+ u'\xad' # 0x00f0 -> SOFT HYPHEN
+ u'\u02dd' # 0x00f1 -> DOUBLE ACUTE ACCENT
+ u'\u02db' # 0x00f2 -> OGONEK
+ u'\u02c7' # 0x00f3 -> CARON
+ u'\u02d8' # 0x00f4 -> BREVE
+ u'\xa7' # 0x00f5 -> SECTION SIGN
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\xb8' # 0x00f7 -> CEDILLA
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\xa8' # 0x00f9 -> DIAERESIS
+ u'\u02d9' # 0x00fa -> DOT ABOVE
+ u'\u0171' # 0x00fb -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ u'\u0158' # 0x00fc -> LATIN CAPITAL LETTER R WITH CARON
+ u'\u0159' # 0x00fd -> LATIN SMALL LETTER R WITH CARON
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a4: 0x00cf, # CURRENCY SIGN
- 0x00a7: 0x00f5, # SECTION SIGN
- 0x00a8: 0x00f9, # DIAERESIS
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00ad: 0x00f0, # SOFT HYPHEN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b4: 0x00ef, # ACUTE ACCENT
- 0x00b8: 0x00f7, # CEDILLA
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00c1: 0x00b5, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00c2: 0x00b6, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00cb: 0x00d3, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00cd: 0x00d6, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00ce: 0x00d7, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00d4: 0x00e2, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00d7: 0x009e, # MULTIPLICATION SIGN
- 0x00da: 0x00e9, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00dd: 0x00ed, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00fd: 0x00ec, # LATIN SMALL LETTER Y WITH ACUTE
- 0x0102: 0x00c6, # LATIN CAPITAL LETTER A WITH BREVE
- 0x0103: 0x00c7, # LATIN SMALL LETTER A WITH BREVE
- 0x0104: 0x00a4, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0x00a5, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0x008f, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0x0086, # LATIN SMALL LETTER C WITH ACUTE
- 0x010c: 0x00ac, # LATIN CAPITAL LETTER C WITH CARON
- 0x010d: 0x009f, # LATIN SMALL LETTER C WITH CARON
- 0x010e: 0x00d2, # LATIN CAPITAL LETTER D WITH CARON
- 0x010f: 0x00d4, # LATIN SMALL LETTER D WITH CARON
- 0x0110: 0x00d1, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0x00d0, # LATIN SMALL LETTER D WITH STROKE
- 0x0118: 0x00a8, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0x00a9, # LATIN SMALL LETTER E WITH OGONEK
- 0x011a: 0x00b7, # LATIN CAPITAL LETTER E WITH CARON
- 0x011b: 0x00d8, # LATIN SMALL LETTER E WITH CARON
- 0x0139: 0x0091, # LATIN CAPITAL LETTER L WITH ACUTE
- 0x013a: 0x0092, # LATIN SMALL LETTER L WITH ACUTE
- 0x013d: 0x0095, # LATIN CAPITAL LETTER L WITH CARON
- 0x013e: 0x0096, # LATIN SMALL LETTER L WITH CARON
- 0x0141: 0x009d, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0x0088, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0x00e3, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0x00e4, # LATIN SMALL LETTER N WITH ACUTE
- 0x0147: 0x00d5, # LATIN CAPITAL LETTER N WITH CARON
- 0x0148: 0x00e5, # LATIN SMALL LETTER N WITH CARON
- 0x0150: 0x008a, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- 0x0151: 0x008b, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
- 0x0154: 0x00e8, # LATIN CAPITAL LETTER R WITH ACUTE
- 0x0155: 0x00ea, # LATIN SMALL LETTER R WITH ACUTE
- 0x0158: 0x00fc, # LATIN CAPITAL LETTER R WITH CARON
- 0x0159: 0x00fd, # LATIN SMALL LETTER R WITH CARON
- 0x015a: 0x0097, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015b: 0x0098, # LATIN SMALL LETTER S WITH ACUTE
- 0x015e: 0x00b8, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015f: 0x00ad, # LATIN SMALL LETTER S WITH CEDILLA
- 0x0160: 0x00e6, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0x00e7, # LATIN SMALL LETTER S WITH CARON
- 0x0162: 0x00dd, # LATIN CAPITAL LETTER T WITH CEDILLA
- 0x0163: 0x00ee, # LATIN SMALL LETTER T WITH CEDILLA
- 0x0164: 0x009b, # LATIN CAPITAL LETTER T WITH CARON
- 0x0165: 0x009c, # LATIN SMALL LETTER T WITH CARON
- 0x016e: 0x00de, # LATIN CAPITAL LETTER U WITH RING ABOVE
- 0x016f: 0x0085, # LATIN SMALL LETTER U WITH RING ABOVE
- 0x0170: 0x00eb, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- 0x0171: 0x00fb, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
- 0x0179: 0x008d, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017a: 0x00ab, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017b: 0x00bd, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017c: 0x00be, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017d: 0x00a6, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017e: 0x00a7, # LATIN SMALL LETTER Z WITH CARON
- 0x02c7: 0x00f3, # CARON
- 0x02d8: 0x00f4, # BREVE
- 0x02d9: 0x00fa, # DOT ABOVE
- 0x02db: 0x00f2, # OGONEK
- 0x02dd: 0x00f1, # DOUBLE ACUTE ACCENT
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a4: 0x00cf, # CURRENCY SIGN
+ 0x00a7: 0x00f5, # SECTION SIGN
+ 0x00a8: 0x00f9, # DIAERESIS
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00ad: 0x00f0, # SOFT HYPHEN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b4: 0x00ef, # ACUTE ACCENT
+ 0x00b8: 0x00f7, # CEDILLA
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00c1: 0x00b5, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00c2: 0x00b6, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00cb: 0x00d3, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00cd: 0x00d6, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00ce: 0x00d7, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00d4: 0x00e2, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00d7: 0x009e, # MULTIPLICATION SIGN
+ 0x00da: 0x00e9, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00dd: 0x00ed, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00fd: 0x00ec, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x0102: 0x00c6, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x0103: 0x00c7, # LATIN SMALL LETTER A WITH BREVE
+ 0x0104: 0x00a4, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0x00a5, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0x008f, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0x0086, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010c: 0x00ac, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010d: 0x009f, # LATIN SMALL LETTER C WITH CARON
+ 0x010e: 0x00d2, # LATIN CAPITAL LETTER D WITH CARON
+ 0x010f: 0x00d4, # LATIN SMALL LETTER D WITH CARON
+ 0x0110: 0x00d1, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0x00d0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0118: 0x00a8, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0x00a9, # LATIN SMALL LETTER E WITH OGONEK
+ 0x011a: 0x00b7, # LATIN CAPITAL LETTER E WITH CARON
+ 0x011b: 0x00d8, # LATIN SMALL LETTER E WITH CARON
+ 0x0139: 0x0091, # LATIN CAPITAL LETTER L WITH ACUTE
+ 0x013a: 0x0092, # LATIN SMALL LETTER L WITH ACUTE
+ 0x013d: 0x0095, # LATIN CAPITAL LETTER L WITH CARON
+ 0x013e: 0x0096, # LATIN SMALL LETTER L WITH CARON
+ 0x0141: 0x009d, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0x0088, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0x00e3, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0x00e4, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0147: 0x00d5, # LATIN CAPITAL LETTER N WITH CARON
+ 0x0148: 0x00e5, # LATIN SMALL LETTER N WITH CARON
+ 0x0150: 0x008a, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ 0x0151: 0x008b, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ 0x0154: 0x00e8, # LATIN CAPITAL LETTER R WITH ACUTE
+ 0x0155: 0x00ea, # LATIN SMALL LETTER R WITH ACUTE
+ 0x0158: 0x00fc, # LATIN CAPITAL LETTER R WITH CARON
+ 0x0159: 0x00fd, # LATIN SMALL LETTER R WITH CARON
+ 0x015a: 0x0097, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015b: 0x0098, # LATIN SMALL LETTER S WITH ACUTE
+ 0x015e: 0x00b8, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015f: 0x00ad, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0160: 0x00e6, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0x00e7, # LATIN SMALL LETTER S WITH CARON
+ 0x0162: 0x00dd, # LATIN CAPITAL LETTER T WITH CEDILLA
+ 0x0163: 0x00ee, # LATIN SMALL LETTER T WITH CEDILLA
+ 0x0164: 0x009b, # LATIN CAPITAL LETTER T WITH CARON
+ 0x0165: 0x009c, # LATIN SMALL LETTER T WITH CARON
+ 0x016e: 0x00de, # LATIN CAPITAL LETTER U WITH RING ABOVE
+ 0x016f: 0x0085, # LATIN SMALL LETTER U WITH RING ABOVE
+ 0x0170: 0x00eb, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ 0x0171: 0x00fb, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ 0x0179: 0x008d, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017a: 0x00ab, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017b: 0x00bd, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017c: 0x00be, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017d: 0x00a6, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017e: 0x00a7, # LATIN SMALL LETTER Z WITH CARON
+ 0x02c7: 0x00f3, # CARON
+ 0x02d8: 0x00f4, # BREVE
+ 0x02d9: 0x00fa, # DOT ABOVE
+ 0x02db: 0x00f2, # OGONEK
+ 0x02dd: 0x00f1, # DOUBLE ACUTE ACCENT
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp855.py b/Lib/encodings/cp855.py
index c9baace..13146c9 100644
--- a/Lib/encodings/cp855.py
+++ b/Lib/encodings/cp855.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x0452, # CYRILLIC SMALL LETTER DJE
- 0x0081: 0x0402, # CYRILLIC CAPITAL LETTER DJE
- 0x0082: 0x0453, # CYRILLIC SMALL LETTER GJE
- 0x0083: 0x0403, # CYRILLIC CAPITAL LETTER GJE
- 0x0084: 0x0451, # CYRILLIC SMALL LETTER IO
- 0x0085: 0x0401, # CYRILLIC CAPITAL LETTER IO
- 0x0086: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0087: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0088: 0x0455, # CYRILLIC SMALL LETTER DZE
- 0x0089: 0x0405, # CYRILLIC CAPITAL LETTER DZE
- 0x008a: 0x0456, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x008b: 0x0406, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x008c: 0x0457, # CYRILLIC SMALL LETTER YI
- 0x008d: 0x0407, # CYRILLIC CAPITAL LETTER YI
- 0x008e: 0x0458, # CYRILLIC SMALL LETTER JE
- 0x008f: 0x0408, # CYRILLIC CAPITAL LETTER JE
- 0x0090: 0x0459, # CYRILLIC SMALL LETTER LJE
- 0x0091: 0x0409, # CYRILLIC CAPITAL LETTER LJE
- 0x0092: 0x045a, # CYRILLIC SMALL LETTER NJE
- 0x0093: 0x040a, # CYRILLIC CAPITAL LETTER NJE
- 0x0094: 0x045b, # CYRILLIC SMALL LETTER TSHE
- 0x0095: 0x040b, # CYRILLIC CAPITAL LETTER TSHE
- 0x0096: 0x045c, # CYRILLIC SMALL LETTER KJE
- 0x0097: 0x040c, # CYRILLIC CAPITAL LETTER KJE
- 0x0098: 0x045e, # CYRILLIC SMALL LETTER SHORT U
- 0x0099: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
- 0x009a: 0x045f, # CYRILLIC SMALL LETTER DZHE
- 0x009b: 0x040f, # CYRILLIC CAPITAL LETTER DZHE
- 0x009c: 0x044e, # CYRILLIC SMALL LETTER YU
- 0x009d: 0x042e, # CYRILLIC CAPITAL LETTER YU
- 0x009e: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
- 0x009f: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x00a0: 0x0430, # CYRILLIC SMALL LETTER A
- 0x00a1: 0x0410, # CYRILLIC CAPITAL LETTER A
- 0x00a2: 0x0431, # CYRILLIC SMALL LETTER BE
- 0x00a3: 0x0411, # CYRILLIC CAPITAL LETTER BE
- 0x00a4: 0x0446, # CYRILLIC SMALL LETTER TSE
- 0x00a5: 0x0426, # CYRILLIC CAPITAL LETTER TSE
- 0x00a6: 0x0434, # CYRILLIC SMALL LETTER DE
- 0x00a7: 0x0414, # CYRILLIC CAPITAL LETTER DE
- 0x00a8: 0x0435, # CYRILLIC SMALL LETTER IE
- 0x00a9: 0x0415, # CYRILLIC CAPITAL LETTER IE
- 0x00aa: 0x0444, # CYRILLIC SMALL LETTER EF
- 0x00ab: 0x0424, # CYRILLIC CAPITAL LETTER EF
- 0x00ac: 0x0433, # CYRILLIC SMALL LETTER GHE
- 0x00ad: 0x0413, # CYRILLIC CAPITAL LETTER GHE
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x0445, # CYRILLIC SMALL LETTER HA
- 0x00b6: 0x0425, # CYRILLIC CAPITAL LETTER HA
- 0x00b7: 0x0438, # CYRILLIC SMALL LETTER I
- 0x00b8: 0x0418, # CYRILLIC CAPITAL LETTER I
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x0439, # CYRILLIC SMALL LETTER SHORT I
- 0x00be: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x043a, # CYRILLIC SMALL LETTER KA
- 0x00c7: 0x041a, # CYRILLIC CAPITAL LETTER KA
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x00a4, # CURRENCY SIGN
- 0x00d0: 0x043b, # CYRILLIC SMALL LETTER EL
- 0x00d1: 0x041b, # CYRILLIC CAPITAL LETTER EL
- 0x00d2: 0x043c, # CYRILLIC SMALL LETTER EM
- 0x00d3: 0x041c, # CYRILLIC CAPITAL LETTER EM
- 0x00d4: 0x043d, # CYRILLIC SMALL LETTER EN
- 0x00d5: 0x041d, # CYRILLIC CAPITAL LETTER EN
- 0x00d6: 0x043e, # CYRILLIC SMALL LETTER O
- 0x00d7: 0x041e, # CYRILLIC CAPITAL LETTER O
- 0x00d8: 0x043f, # CYRILLIC SMALL LETTER PE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x041f, # CYRILLIC CAPITAL LETTER PE
- 0x00de: 0x044f, # CYRILLIC SMALL LETTER YA
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x042f, # CYRILLIC CAPITAL LETTER YA
- 0x00e1: 0x0440, # CYRILLIC SMALL LETTER ER
- 0x00e2: 0x0420, # CYRILLIC CAPITAL LETTER ER
- 0x00e3: 0x0441, # CYRILLIC SMALL LETTER ES
- 0x00e4: 0x0421, # CYRILLIC CAPITAL LETTER ES
- 0x00e5: 0x0442, # CYRILLIC SMALL LETTER TE
- 0x00e6: 0x0422, # CYRILLIC CAPITAL LETTER TE
- 0x00e7: 0x0443, # CYRILLIC SMALL LETTER U
- 0x00e8: 0x0423, # CYRILLIC CAPITAL LETTER U
- 0x00e9: 0x0436, # CYRILLIC SMALL LETTER ZHE
- 0x00ea: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
- 0x00eb: 0x0432, # CYRILLIC SMALL LETTER VE
- 0x00ec: 0x0412, # CYRILLIC CAPITAL LETTER VE
- 0x00ed: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x00ee: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x00ef: 0x2116, # NUMERO SIGN
- 0x00f0: 0x00ad, # SOFT HYPHEN
- 0x00f1: 0x044b, # CYRILLIC SMALL LETTER YERU
- 0x00f2: 0x042b, # CYRILLIC CAPITAL LETTER YERU
- 0x00f3: 0x0437, # CYRILLIC SMALL LETTER ZE
- 0x00f4: 0x0417, # CYRILLIC CAPITAL LETTER ZE
- 0x00f5: 0x0448, # CYRILLIC SMALL LETTER SHA
- 0x00f6: 0x0428, # CYRILLIC CAPITAL LETTER SHA
- 0x00f7: 0x044d, # CYRILLIC SMALL LETTER E
- 0x00f8: 0x042d, # CYRILLIC CAPITAL LETTER E
- 0x00f9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
- 0x00fa: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
- 0x00fb: 0x0447, # CYRILLIC SMALL LETTER CHE
- 0x00fc: 0x0427, # CYRILLIC CAPITAL LETTER CHE
- 0x00fd: 0x00a7, # SECTION SIGN
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x0452, # CYRILLIC SMALL LETTER DJE
+ 0x0081: 0x0402, # CYRILLIC CAPITAL LETTER DJE
+ 0x0082: 0x0453, # CYRILLIC SMALL LETTER GJE
+ 0x0083: 0x0403, # CYRILLIC CAPITAL LETTER GJE
+ 0x0084: 0x0451, # CYRILLIC SMALL LETTER IO
+ 0x0085: 0x0401, # CYRILLIC CAPITAL LETTER IO
+ 0x0086: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0087: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0088: 0x0455, # CYRILLIC SMALL LETTER DZE
+ 0x0089: 0x0405, # CYRILLIC CAPITAL LETTER DZE
+ 0x008a: 0x0456, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x008b: 0x0406, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x008c: 0x0457, # CYRILLIC SMALL LETTER YI
+ 0x008d: 0x0407, # CYRILLIC CAPITAL LETTER YI
+ 0x008e: 0x0458, # CYRILLIC SMALL LETTER JE
+ 0x008f: 0x0408, # CYRILLIC CAPITAL LETTER JE
+ 0x0090: 0x0459, # CYRILLIC SMALL LETTER LJE
+ 0x0091: 0x0409, # CYRILLIC CAPITAL LETTER LJE
+ 0x0092: 0x045a, # CYRILLIC SMALL LETTER NJE
+ 0x0093: 0x040a, # CYRILLIC CAPITAL LETTER NJE
+ 0x0094: 0x045b, # CYRILLIC SMALL LETTER TSHE
+ 0x0095: 0x040b, # CYRILLIC CAPITAL LETTER TSHE
+ 0x0096: 0x045c, # CYRILLIC SMALL LETTER KJE
+ 0x0097: 0x040c, # CYRILLIC CAPITAL LETTER KJE
+ 0x0098: 0x045e, # CYRILLIC SMALL LETTER SHORT U
+ 0x0099: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x009a: 0x045f, # CYRILLIC SMALL LETTER DZHE
+ 0x009b: 0x040f, # CYRILLIC CAPITAL LETTER DZHE
+ 0x009c: 0x044e, # CYRILLIC SMALL LETTER YU
+ 0x009d: 0x042e, # CYRILLIC CAPITAL LETTER YU
+ 0x009e: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x009f: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x00a0: 0x0430, # CYRILLIC SMALL LETTER A
+ 0x00a1: 0x0410, # CYRILLIC CAPITAL LETTER A
+ 0x00a2: 0x0431, # CYRILLIC SMALL LETTER BE
+ 0x00a3: 0x0411, # CYRILLIC CAPITAL LETTER BE
+ 0x00a4: 0x0446, # CYRILLIC SMALL LETTER TSE
+ 0x00a5: 0x0426, # CYRILLIC CAPITAL LETTER TSE
+ 0x00a6: 0x0434, # CYRILLIC SMALL LETTER DE
+ 0x00a7: 0x0414, # CYRILLIC CAPITAL LETTER DE
+ 0x00a8: 0x0435, # CYRILLIC SMALL LETTER IE
+ 0x00a9: 0x0415, # CYRILLIC CAPITAL LETTER IE
+ 0x00aa: 0x0444, # CYRILLIC SMALL LETTER EF
+ 0x00ab: 0x0424, # CYRILLIC CAPITAL LETTER EF
+ 0x00ac: 0x0433, # CYRILLIC SMALL LETTER GHE
+ 0x00ad: 0x0413, # CYRILLIC CAPITAL LETTER GHE
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x0445, # CYRILLIC SMALL LETTER HA
+ 0x00b6: 0x0425, # CYRILLIC CAPITAL LETTER HA
+ 0x00b7: 0x0438, # CYRILLIC SMALL LETTER I
+ 0x00b8: 0x0418, # CYRILLIC CAPITAL LETTER I
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x0439, # CYRILLIC SMALL LETTER SHORT I
+ 0x00be: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x043a, # CYRILLIC SMALL LETTER KA
+ 0x00c7: 0x041a, # CYRILLIC CAPITAL LETTER KA
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x00a4, # CURRENCY SIGN
+ 0x00d0: 0x043b, # CYRILLIC SMALL LETTER EL
+ 0x00d1: 0x041b, # CYRILLIC CAPITAL LETTER EL
+ 0x00d2: 0x043c, # CYRILLIC SMALL LETTER EM
+ 0x00d3: 0x041c, # CYRILLIC CAPITAL LETTER EM
+ 0x00d4: 0x043d, # CYRILLIC SMALL LETTER EN
+ 0x00d5: 0x041d, # CYRILLIC CAPITAL LETTER EN
+ 0x00d6: 0x043e, # CYRILLIC SMALL LETTER O
+ 0x00d7: 0x041e, # CYRILLIC CAPITAL LETTER O
+ 0x00d8: 0x043f, # CYRILLIC SMALL LETTER PE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x041f, # CYRILLIC CAPITAL LETTER PE
+ 0x00de: 0x044f, # CYRILLIC SMALL LETTER YA
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x042f, # CYRILLIC CAPITAL LETTER YA
+ 0x00e1: 0x0440, # CYRILLIC SMALL LETTER ER
+ 0x00e2: 0x0420, # CYRILLIC CAPITAL LETTER ER
+ 0x00e3: 0x0441, # CYRILLIC SMALL LETTER ES
+ 0x00e4: 0x0421, # CYRILLIC CAPITAL LETTER ES
+ 0x00e5: 0x0442, # CYRILLIC SMALL LETTER TE
+ 0x00e6: 0x0422, # CYRILLIC CAPITAL LETTER TE
+ 0x00e7: 0x0443, # CYRILLIC SMALL LETTER U
+ 0x00e8: 0x0423, # CYRILLIC CAPITAL LETTER U
+ 0x00e9: 0x0436, # CYRILLIC SMALL LETTER ZHE
+ 0x00ea: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
+ 0x00eb: 0x0432, # CYRILLIC SMALL LETTER VE
+ 0x00ec: 0x0412, # CYRILLIC CAPITAL LETTER VE
+ 0x00ed: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x00ee: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x00ef: 0x2116, # NUMERO SIGN
+ 0x00f0: 0x00ad, # SOFT HYPHEN
+ 0x00f1: 0x044b, # CYRILLIC SMALL LETTER YERU
+ 0x00f2: 0x042b, # CYRILLIC CAPITAL LETTER YERU
+ 0x00f3: 0x0437, # CYRILLIC SMALL LETTER ZE
+ 0x00f4: 0x0417, # CYRILLIC CAPITAL LETTER ZE
+ 0x00f5: 0x0448, # CYRILLIC SMALL LETTER SHA
+ 0x00f6: 0x0428, # CYRILLIC CAPITAL LETTER SHA
+ 0x00f7: 0x044d, # CYRILLIC SMALL LETTER E
+ 0x00f8: 0x042d, # CYRILLIC CAPITAL LETTER E
+ 0x00f9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
+ 0x00fa: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x00fb: 0x0447, # CYRILLIC SMALL LETTER CHE
+ 0x00fc: 0x0427, # CYRILLIC CAPITAL LETTER CHE
+ 0x00fd: 0x00a7, # SECTION SIGN
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\u0452' # 0x0080 -> CYRILLIC SMALL LETTER DJE
- u'\u0402' # 0x0081 -> CYRILLIC CAPITAL LETTER DJE
- u'\u0453' # 0x0082 -> CYRILLIC SMALL LETTER GJE
- u'\u0403' # 0x0083 -> CYRILLIC CAPITAL LETTER GJE
- u'\u0451' # 0x0084 -> CYRILLIC SMALL LETTER IO
- u'\u0401' # 0x0085 -> CYRILLIC CAPITAL LETTER IO
- u'\u0454' # 0x0086 -> CYRILLIC SMALL LETTER UKRAINIAN IE
- u'\u0404' # 0x0087 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
- u'\u0455' # 0x0088 -> CYRILLIC SMALL LETTER DZE
- u'\u0405' # 0x0089 -> CYRILLIC CAPITAL LETTER DZE
- u'\u0456' # 0x008a -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0406' # 0x008b -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0457' # 0x008c -> CYRILLIC SMALL LETTER YI
- u'\u0407' # 0x008d -> CYRILLIC CAPITAL LETTER YI
- u'\u0458' # 0x008e -> CYRILLIC SMALL LETTER JE
- u'\u0408' # 0x008f -> CYRILLIC CAPITAL LETTER JE
- u'\u0459' # 0x0090 -> CYRILLIC SMALL LETTER LJE
- u'\u0409' # 0x0091 -> CYRILLIC CAPITAL LETTER LJE
- u'\u045a' # 0x0092 -> CYRILLIC SMALL LETTER NJE
- u'\u040a' # 0x0093 -> CYRILLIC CAPITAL LETTER NJE
- u'\u045b' # 0x0094 -> CYRILLIC SMALL LETTER TSHE
- u'\u040b' # 0x0095 -> CYRILLIC CAPITAL LETTER TSHE
- u'\u045c' # 0x0096 -> CYRILLIC SMALL LETTER KJE
- u'\u040c' # 0x0097 -> CYRILLIC CAPITAL LETTER KJE
- u'\u045e' # 0x0098 -> CYRILLIC SMALL LETTER SHORT U
- u'\u040e' # 0x0099 -> CYRILLIC CAPITAL LETTER SHORT U
- u'\u045f' # 0x009a -> CYRILLIC SMALL LETTER DZHE
- u'\u040f' # 0x009b -> CYRILLIC CAPITAL LETTER DZHE
- u'\u044e' # 0x009c -> CYRILLIC SMALL LETTER YU
- u'\u042e' # 0x009d -> CYRILLIC CAPITAL LETTER YU
- u'\u044a' # 0x009e -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u042a' # 0x009f -> CYRILLIC CAPITAL LETTER HARD SIGN
- u'\u0430' # 0x00a0 -> CYRILLIC SMALL LETTER A
- u'\u0410' # 0x00a1 -> CYRILLIC CAPITAL LETTER A
- u'\u0431' # 0x00a2 -> CYRILLIC SMALL LETTER BE
- u'\u0411' # 0x00a3 -> CYRILLIC CAPITAL LETTER BE
- u'\u0446' # 0x00a4 -> CYRILLIC SMALL LETTER TSE
- u'\u0426' # 0x00a5 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0434' # 0x00a6 -> CYRILLIC SMALL LETTER DE
- u'\u0414' # 0x00a7 -> CYRILLIC CAPITAL LETTER DE
- u'\u0435' # 0x00a8 -> CYRILLIC SMALL LETTER IE
- u'\u0415' # 0x00a9 -> CYRILLIC CAPITAL LETTER IE
- u'\u0444' # 0x00aa -> CYRILLIC SMALL LETTER EF
- u'\u0424' # 0x00ab -> CYRILLIC CAPITAL LETTER EF
- u'\u0433' # 0x00ac -> CYRILLIC SMALL LETTER GHE
- u'\u0413' # 0x00ad -> CYRILLIC CAPITAL LETTER GHE
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u0445' # 0x00b5 -> CYRILLIC SMALL LETTER HA
- u'\u0425' # 0x00b6 -> CYRILLIC CAPITAL LETTER HA
- u'\u0438' # 0x00b7 -> CYRILLIC SMALL LETTER I
- u'\u0418' # 0x00b8 -> CYRILLIC CAPITAL LETTER I
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u0439' # 0x00bd -> CYRILLIC SMALL LETTER SHORT I
- u'\u0419' # 0x00be -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u043a' # 0x00c6 -> CYRILLIC SMALL LETTER KA
- u'\u041a' # 0x00c7 -> CYRILLIC CAPITAL LETTER KA
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa4' # 0x00cf -> CURRENCY SIGN
- u'\u043b' # 0x00d0 -> CYRILLIC SMALL LETTER EL
- u'\u041b' # 0x00d1 -> CYRILLIC CAPITAL LETTER EL
- u'\u043c' # 0x00d2 -> CYRILLIC SMALL LETTER EM
- u'\u041c' # 0x00d3 -> CYRILLIC CAPITAL LETTER EM
- u'\u043d' # 0x00d4 -> CYRILLIC SMALL LETTER EN
- u'\u041d' # 0x00d5 -> CYRILLIC CAPITAL LETTER EN
- u'\u043e' # 0x00d6 -> CYRILLIC SMALL LETTER O
- u'\u041e' # 0x00d7 -> CYRILLIC CAPITAL LETTER O
- u'\u043f' # 0x00d8 -> CYRILLIC SMALL LETTER PE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u041f' # 0x00dd -> CYRILLIC CAPITAL LETTER PE
- u'\u044f' # 0x00de -> CYRILLIC SMALL LETTER YA
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u042f' # 0x00e0 -> CYRILLIC CAPITAL LETTER YA
- u'\u0440' # 0x00e1 -> CYRILLIC SMALL LETTER ER
- u'\u0420' # 0x00e2 -> CYRILLIC CAPITAL LETTER ER
- u'\u0441' # 0x00e3 -> CYRILLIC SMALL LETTER ES
- u'\u0421' # 0x00e4 -> CYRILLIC CAPITAL LETTER ES
- u'\u0442' # 0x00e5 -> CYRILLIC SMALL LETTER TE
- u'\u0422' # 0x00e6 -> CYRILLIC CAPITAL LETTER TE
- u'\u0443' # 0x00e7 -> CYRILLIC SMALL LETTER U
- u'\u0423' # 0x00e8 -> CYRILLIC CAPITAL LETTER U
- u'\u0436' # 0x00e9 -> CYRILLIC SMALL LETTER ZHE
- u'\u0416' # 0x00ea -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0432' # 0x00eb -> CYRILLIC SMALL LETTER VE
- u'\u0412' # 0x00ec -> CYRILLIC CAPITAL LETTER VE
- u'\u044c' # 0x00ed -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u042c' # 0x00ee -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u2116' # 0x00ef -> NUMERO SIGN
- u'\xad' # 0x00f0 -> SOFT HYPHEN
- u'\u044b' # 0x00f1 -> CYRILLIC SMALL LETTER YERU
- u'\u042b' # 0x00f2 -> CYRILLIC CAPITAL LETTER YERU
- u'\u0437' # 0x00f3 -> CYRILLIC SMALL LETTER ZE
- u'\u0417' # 0x00f4 -> CYRILLIC CAPITAL LETTER ZE
- u'\u0448' # 0x00f5 -> CYRILLIC SMALL LETTER SHA
- u'\u0428' # 0x00f6 -> CYRILLIC CAPITAL LETTER SHA
- u'\u044d' # 0x00f7 -> CYRILLIC SMALL LETTER E
- u'\u042d' # 0x00f8 -> CYRILLIC CAPITAL LETTER E
- u'\u0449' # 0x00f9 -> CYRILLIC SMALL LETTER SHCHA
- u'\u0429' # 0x00fa -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u0447' # 0x00fb -> CYRILLIC SMALL LETTER CHE
- u'\u0427' # 0x00fc -> CYRILLIC CAPITAL LETTER CHE
- u'\xa7' # 0x00fd -> SECTION SIGN
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\u0452' # 0x0080 -> CYRILLIC SMALL LETTER DJE
+ u'\u0402' # 0x0081 -> CYRILLIC CAPITAL LETTER DJE
+ u'\u0453' # 0x0082 -> CYRILLIC SMALL LETTER GJE
+ u'\u0403' # 0x0083 -> CYRILLIC CAPITAL LETTER GJE
+ u'\u0451' # 0x0084 -> CYRILLIC SMALL LETTER IO
+ u'\u0401' # 0x0085 -> CYRILLIC CAPITAL LETTER IO
+ u'\u0454' # 0x0086 -> CYRILLIC SMALL LETTER UKRAINIAN IE
+ u'\u0404' # 0x0087 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ u'\u0455' # 0x0088 -> CYRILLIC SMALL LETTER DZE
+ u'\u0405' # 0x0089 -> CYRILLIC CAPITAL LETTER DZE
+ u'\u0456' # 0x008a -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0406' # 0x008b -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0457' # 0x008c -> CYRILLIC SMALL LETTER YI
+ u'\u0407' # 0x008d -> CYRILLIC CAPITAL LETTER YI
+ u'\u0458' # 0x008e -> CYRILLIC SMALL LETTER JE
+ u'\u0408' # 0x008f -> CYRILLIC CAPITAL LETTER JE
+ u'\u0459' # 0x0090 -> CYRILLIC SMALL LETTER LJE
+ u'\u0409' # 0x0091 -> CYRILLIC CAPITAL LETTER LJE
+ u'\u045a' # 0x0092 -> CYRILLIC SMALL LETTER NJE
+ u'\u040a' # 0x0093 -> CYRILLIC CAPITAL LETTER NJE
+ u'\u045b' # 0x0094 -> CYRILLIC SMALL LETTER TSHE
+ u'\u040b' # 0x0095 -> CYRILLIC CAPITAL LETTER TSHE
+ u'\u045c' # 0x0096 -> CYRILLIC SMALL LETTER KJE
+ u'\u040c' # 0x0097 -> CYRILLIC CAPITAL LETTER KJE
+ u'\u045e' # 0x0098 -> CYRILLIC SMALL LETTER SHORT U
+ u'\u040e' # 0x0099 -> CYRILLIC CAPITAL LETTER SHORT U
+ u'\u045f' # 0x009a -> CYRILLIC SMALL LETTER DZHE
+ u'\u040f' # 0x009b -> CYRILLIC CAPITAL LETTER DZHE
+ u'\u044e' # 0x009c -> CYRILLIC SMALL LETTER YU
+ u'\u042e' # 0x009d -> CYRILLIC CAPITAL LETTER YU
+ u'\u044a' # 0x009e -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u042a' # 0x009f -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\u0430' # 0x00a0 -> CYRILLIC SMALL LETTER A
+ u'\u0410' # 0x00a1 -> CYRILLIC CAPITAL LETTER A
+ u'\u0431' # 0x00a2 -> CYRILLIC SMALL LETTER BE
+ u'\u0411' # 0x00a3 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0446' # 0x00a4 -> CYRILLIC SMALL LETTER TSE
+ u'\u0426' # 0x00a5 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0434' # 0x00a6 -> CYRILLIC SMALL LETTER DE
+ u'\u0414' # 0x00a7 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0435' # 0x00a8 -> CYRILLIC SMALL LETTER IE
+ u'\u0415' # 0x00a9 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0444' # 0x00aa -> CYRILLIC SMALL LETTER EF
+ u'\u0424' # 0x00ab -> CYRILLIC CAPITAL LETTER EF
+ u'\u0433' # 0x00ac -> CYRILLIC SMALL LETTER GHE
+ u'\u0413' # 0x00ad -> CYRILLIC CAPITAL LETTER GHE
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u0445' # 0x00b5 -> CYRILLIC SMALL LETTER HA
+ u'\u0425' # 0x00b6 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0438' # 0x00b7 -> CYRILLIC SMALL LETTER I
+ u'\u0418' # 0x00b8 -> CYRILLIC CAPITAL LETTER I
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u0439' # 0x00bd -> CYRILLIC SMALL LETTER SHORT I
+ u'\u0419' # 0x00be -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u043a' # 0x00c6 -> CYRILLIC SMALL LETTER KA
+ u'\u041a' # 0x00c7 -> CYRILLIC CAPITAL LETTER KA
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa4' # 0x00cf -> CURRENCY SIGN
+ u'\u043b' # 0x00d0 -> CYRILLIC SMALL LETTER EL
+ u'\u041b' # 0x00d1 -> CYRILLIC CAPITAL LETTER EL
+ u'\u043c' # 0x00d2 -> CYRILLIC SMALL LETTER EM
+ u'\u041c' # 0x00d3 -> CYRILLIC CAPITAL LETTER EM
+ u'\u043d' # 0x00d4 -> CYRILLIC SMALL LETTER EN
+ u'\u041d' # 0x00d5 -> CYRILLIC CAPITAL LETTER EN
+ u'\u043e' # 0x00d6 -> CYRILLIC SMALL LETTER O
+ u'\u041e' # 0x00d7 -> CYRILLIC CAPITAL LETTER O
+ u'\u043f' # 0x00d8 -> CYRILLIC SMALL LETTER PE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u041f' # 0x00dd -> CYRILLIC CAPITAL LETTER PE
+ u'\u044f' # 0x00de -> CYRILLIC SMALL LETTER YA
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u042f' # 0x00e0 -> CYRILLIC CAPITAL LETTER YA
+ u'\u0440' # 0x00e1 -> CYRILLIC SMALL LETTER ER
+ u'\u0420' # 0x00e2 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0441' # 0x00e3 -> CYRILLIC SMALL LETTER ES
+ u'\u0421' # 0x00e4 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0442' # 0x00e5 -> CYRILLIC SMALL LETTER TE
+ u'\u0422' # 0x00e6 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0443' # 0x00e7 -> CYRILLIC SMALL LETTER U
+ u'\u0423' # 0x00e8 -> CYRILLIC CAPITAL LETTER U
+ u'\u0436' # 0x00e9 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0416' # 0x00ea -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0432' # 0x00eb -> CYRILLIC SMALL LETTER VE
+ u'\u0412' # 0x00ec -> CYRILLIC CAPITAL LETTER VE
+ u'\u044c' # 0x00ed -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u042c' # 0x00ee -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u2116' # 0x00ef -> NUMERO SIGN
+ u'\xad' # 0x00f0 -> SOFT HYPHEN
+ u'\u044b' # 0x00f1 -> CYRILLIC SMALL LETTER YERU
+ u'\u042b' # 0x00f2 -> CYRILLIC CAPITAL LETTER YERU
+ u'\u0437' # 0x00f3 -> CYRILLIC SMALL LETTER ZE
+ u'\u0417' # 0x00f4 -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0448' # 0x00f5 -> CYRILLIC SMALL LETTER SHA
+ u'\u0428' # 0x00f6 -> CYRILLIC CAPITAL LETTER SHA
+ u'\u044d' # 0x00f7 -> CYRILLIC SMALL LETTER E
+ u'\u042d' # 0x00f8 -> CYRILLIC CAPITAL LETTER E
+ u'\u0449' # 0x00f9 -> CYRILLIC SMALL LETTER SHCHA
+ u'\u0429' # 0x00fa -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u0447' # 0x00fb -> CYRILLIC SMALL LETTER CHE
+ u'\u0427' # 0x00fc -> CYRILLIC CAPITAL LETTER CHE
+ u'\xa7' # 0x00fd -> SECTION SIGN
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a4: 0x00cf, # CURRENCY SIGN
- 0x00a7: 0x00fd, # SECTION SIGN
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ad: 0x00f0, # SOFT HYPHEN
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x0401: 0x0085, # CYRILLIC CAPITAL LETTER IO
- 0x0402: 0x0081, # CYRILLIC CAPITAL LETTER DJE
- 0x0403: 0x0083, # CYRILLIC CAPITAL LETTER GJE
- 0x0404: 0x0087, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0405: 0x0089, # CYRILLIC CAPITAL LETTER DZE
- 0x0406: 0x008b, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0407: 0x008d, # CYRILLIC CAPITAL LETTER YI
- 0x0408: 0x008f, # CYRILLIC CAPITAL LETTER JE
- 0x0409: 0x0091, # CYRILLIC CAPITAL LETTER LJE
- 0x040a: 0x0093, # CYRILLIC CAPITAL LETTER NJE
- 0x040b: 0x0095, # CYRILLIC CAPITAL LETTER TSHE
- 0x040c: 0x0097, # CYRILLIC CAPITAL LETTER KJE
- 0x040e: 0x0099, # CYRILLIC CAPITAL LETTER SHORT U
- 0x040f: 0x009b, # CYRILLIC CAPITAL LETTER DZHE
- 0x0410: 0x00a1, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0x00a3, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0x00ec, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0x00ad, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0x00a7, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0x00a9, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0x00ea, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0x00f4, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0x00b8, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0x00be, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041a: 0x00c7, # CYRILLIC CAPITAL LETTER KA
- 0x041b: 0x00d1, # CYRILLIC CAPITAL LETTER EL
- 0x041c: 0x00d3, # CYRILLIC CAPITAL LETTER EM
- 0x041d: 0x00d5, # CYRILLIC CAPITAL LETTER EN
- 0x041e: 0x00d7, # CYRILLIC CAPITAL LETTER O
- 0x041f: 0x00dd, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0x00e2, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0x00e4, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0x00e6, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0x00e8, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0x00ab, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0x00b6, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0x00a5, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0x00fc, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0x00f6, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0x00fa, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042a: 0x009f, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042b: 0x00f2, # CYRILLIC CAPITAL LETTER YERU
- 0x042c: 0x00ee, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042d: 0x00f8, # CYRILLIC CAPITAL LETTER E
- 0x042e: 0x009d, # CYRILLIC CAPITAL LETTER YU
- 0x042f: 0x00e0, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0x00a0, # CYRILLIC SMALL LETTER A
- 0x0431: 0x00a2, # CYRILLIC SMALL LETTER BE
- 0x0432: 0x00eb, # CYRILLIC SMALL LETTER VE
- 0x0433: 0x00ac, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0x00a6, # CYRILLIC SMALL LETTER DE
- 0x0435: 0x00a8, # CYRILLIC SMALL LETTER IE
- 0x0436: 0x00e9, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0x00f3, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0x00b7, # CYRILLIC SMALL LETTER I
- 0x0439: 0x00bd, # CYRILLIC SMALL LETTER SHORT I
- 0x043a: 0x00c6, # CYRILLIC SMALL LETTER KA
- 0x043b: 0x00d0, # CYRILLIC SMALL LETTER EL
- 0x043c: 0x00d2, # CYRILLIC SMALL LETTER EM
- 0x043d: 0x00d4, # CYRILLIC SMALL LETTER EN
- 0x043e: 0x00d6, # CYRILLIC SMALL LETTER O
- 0x043f: 0x00d8, # CYRILLIC SMALL LETTER PE
- 0x0440: 0x00e1, # CYRILLIC SMALL LETTER ER
- 0x0441: 0x00e3, # CYRILLIC SMALL LETTER ES
- 0x0442: 0x00e5, # CYRILLIC SMALL LETTER TE
- 0x0443: 0x00e7, # CYRILLIC SMALL LETTER U
- 0x0444: 0x00aa, # CYRILLIC SMALL LETTER EF
- 0x0445: 0x00b5, # CYRILLIC SMALL LETTER HA
- 0x0446: 0x00a4, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0x00fb, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0x00f5, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0x00f9, # CYRILLIC SMALL LETTER SHCHA
- 0x044a: 0x009e, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044b: 0x00f1, # CYRILLIC SMALL LETTER YERU
- 0x044c: 0x00ed, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044d: 0x00f7, # CYRILLIC SMALL LETTER E
- 0x044e: 0x009c, # CYRILLIC SMALL LETTER YU
- 0x044f: 0x00de, # CYRILLIC SMALL LETTER YA
- 0x0451: 0x0084, # CYRILLIC SMALL LETTER IO
- 0x0452: 0x0080, # CYRILLIC SMALL LETTER DJE
- 0x0453: 0x0082, # CYRILLIC SMALL LETTER GJE
- 0x0454: 0x0086, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0455: 0x0088, # CYRILLIC SMALL LETTER DZE
- 0x0456: 0x008a, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0457: 0x008c, # CYRILLIC SMALL LETTER YI
- 0x0458: 0x008e, # CYRILLIC SMALL LETTER JE
- 0x0459: 0x0090, # CYRILLIC SMALL LETTER LJE
- 0x045a: 0x0092, # CYRILLIC SMALL LETTER NJE
- 0x045b: 0x0094, # CYRILLIC SMALL LETTER TSHE
- 0x045c: 0x0096, # CYRILLIC SMALL LETTER KJE
- 0x045e: 0x0098, # CYRILLIC SMALL LETTER SHORT U
- 0x045f: 0x009a, # CYRILLIC SMALL LETTER DZHE
- 0x2116: 0x00ef, # NUMERO SIGN
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a4: 0x00cf, # CURRENCY SIGN
+ 0x00a7: 0x00fd, # SECTION SIGN
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ad: 0x00f0, # SOFT HYPHEN
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x0401: 0x0085, # CYRILLIC CAPITAL LETTER IO
+ 0x0402: 0x0081, # CYRILLIC CAPITAL LETTER DJE
+ 0x0403: 0x0083, # CYRILLIC CAPITAL LETTER GJE
+ 0x0404: 0x0087, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0405: 0x0089, # CYRILLIC CAPITAL LETTER DZE
+ 0x0406: 0x008b, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0407: 0x008d, # CYRILLIC CAPITAL LETTER YI
+ 0x0408: 0x008f, # CYRILLIC CAPITAL LETTER JE
+ 0x0409: 0x0091, # CYRILLIC CAPITAL LETTER LJE
+ 0x040a: 0x0093, # CYRILLIC CAPITAL LETTER NJE
+ 0x040b: 0x0095, # CYRILLIC CAPITAL LETTER TSHE
+ 0x040c: 0x0097, # CYRILLIC CAPITAL LETTER KJE
+ 0x040e: 0x0099, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x040f: 0x009b, # CYRILLIC CAPITAL LETTER DZHE
+ 0x0410: 0x00a1, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0x00a3, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0x00ec, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0x00ad, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0x00a7, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0x00a9, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0x00ea, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0x00f4, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0x00b8, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0x00be, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041a: 0x00c7, # CYRILLIC CAPITAL LETTER KA
+ 0x041b: 0x00d1, # CYRILLIC CAPITAL LETTER EL
+ 0x041c: 0x00d3, # CYRILLIC CAPITAL LETTER EM
+ 0x041d: 0x00d5, # CYRILLIC CAPITAL LETTER EN
+ 0x041e: 0x00d7, # CYRILLIC CAPITAL LETTER O
+ 0x041f: 0x00dd, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0x00e2, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0x00e4, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0x00e6, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0x00e8, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0x00ab, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0x00b6, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0x00a5, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0x00fc, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0x00f6, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0x00fa, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042a: 0x009f, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042b: 0x00f2, # CYRILLIC CAPITAL LETTER YERU
+ 0x042c: 0x00ee, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042d: 0x00f8, # CYRILLIC CAPITAL LETTER E
+ 0x042e: 0x009d, # CYRILLIC CAPITAL LETTER YU
+ 0x042f: 0x00e0, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0x00a0, # CYRILLIC SMALL LETTER A
+ 0x0431: 0x00a2, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0x00eb, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0x00ac, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0x00a6, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0x00a8, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0x00e9, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0x00f3, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0x00b7, # CYRILLIC SMALL LETTER I
+ 0x0439: 0x00bd, # CYRILLIC SMALL LETTER SHORT I
+ 0x043a: 0x00c6, # CYRILLIC SMALL LETTER KA
+ 0x043b: 0x00d0, # CYRILLIC SMALL LETTER EL
+ 0x043c: 0x00d2, # CYRILLIC SMALL LETTER EM
+ 0x043d: 0x00d4, # CYRILLIC SMALL LETTER EN
+ 0x043e: 0x00d6, # CYRILLIC SMALL LETTER O
+ 0x043f: 0x00d8, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0x00e1, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0x00e3, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0x00e5, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0x00e7, # CYRILLIC SMALL LETTER U
+ 0x0444: 0x00aa, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0x00b5, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0x00a4, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0x00fb, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0x00f5, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0x00f9, # CYRILLIC SMALL LETTER SHCHA
+ 0x044a: 0x009e, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044b: 0x00f1, # CYRILLIC SMALL LETTER YERU
+ 0x044c: 0x00ed, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044d: 0x00f7, # CYRILLIC SMALL LETTER E
+ 0x044e: 0x009c, # CYRILLIC SMALL LETTER YU
+ 0x044f: 0x00de, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0x0084, # CYRILLIC SMALL LETTER IO
+ 0x0452: 0x0080, # CYRILLIC SMALL LETTER DJE
+ 0x0453: 0x0082, # CYRILLIC SMALL LETTER GJE
+ 0x0454: 0x0086, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0455: 0x0088, # CYRILLIC SMALL LETTER DZE
+ 0x0456: 0x008a, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0457: 0x008c, # CYRILLIC SMALL LETTER YI
+ 0x0458: 0x008e, # CYRILLIC SMALL LETTER JE
+ 0x0459: 0x0090, # CYRILLIC SMALL LETTER LJE
+ 0x045a: 0x0092, # CYRILLIC SMALL LETTER NJE
+ 0x045b: 0x0094, # CYRILLIC SMALL LETTER TSHE
+ 0x045c: 0x0096, # CYRILLIC SMALL LETTER KJE
+ 0x045e: 0x0098, # CYRILLIC SMALL LETTER SHORT U
+ 0x045f: 0x009a, # CYRILLIC SMALL LETTER DZHE
+ 0x2116: 0x00ef, # NUMERO SIGN
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp856.py b/Lib/encodings/cp856.py
index fd515b0..5823dff 100644
--- a/Lib/encodings/cp856.py
+++ b/Lib/encodings/cp856.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,481 +32,480 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u05d0' # 0x80 -> HEBREW LETTER ALEF
- u'\u05d1' # 0x81 -> HEBREW LETTER BET
- u'\u05d2' # 0x82 -> HEBREW LETTER GIMEL
- u'\u05d3' # 0x83 -> HEBREW LETTER DALET
- u'\u05d4' # 0x84 -> HEBREW LETTER HE
- u'\u05d5' # 0x85 -> HEBREW LETTER VAV
- u'\u05d6' # 0x86 -> HEBREW LETTER ZAYIN
- u'\u05d7' # 0x87 -> HEBREW LETTER HET
- u'\u05d8' # 0x88 -> HEBREW LETTER TET
- u'\u05d9' # 0x89 -> HEBREW LETTER YOD
- u'\u05da' # 0x8A -> HEBREW LETTER FINAL KAF
- u'\u05db' # 0x8B -> HEBREW LETTER KAF
- u'\u05dc' # 0x8C -> HEBREW LETTER LAMED
- u'\u05dd' # 0x8D -> HEBREW LETTER FINAL MEM
- u'\u05de' # 0x8E -> HEBREW LETTER MEM
- u'\u05df' # 0x8F -> HEBREW LETTER FINAL NUN
- u'\u05e0' # 0x90 -> HEBREW LETTER NUN
- u'\u05e1' # 0x91 -> HEBREW LETTER SAMEKH
- u'\u05e2' # 0x92 -> HEBREW LETTER AYIN
- u'\u05e3' # 0x93 -> HEBREW LETTER FINAL PE
- u'\u05e4' # 0x94 -> HEBREW LETTER PE
- u'\u05e5' # 0x95 -> HEBREW LETTER FINAL TSADI
- u'\u05e6' # 0x96 -> HEBREW LETTER TSADI
- u'\u05e7' # 0x97 -> HEBREW LETTER QOF
- u'\u05e8' # 0x98 -> HEBREW LETTER RESH
- u'\u05e9' # 0x99 -> HEBREW LETTER SHIN
- u'\u05ea' # 0x9A -> HEBREW LETTER TAV
- u'\ufffe' # 0x9B -> UNDEFINED
- u'\xa3' # 0x9C -> POUND SIGN
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\xd7' # 0x9E -> MULTIPLICATION SIGN
- u'\ufffe' # 0x9F -> UNDEFINED
- u'\ufffe' # 0xA0 -> UNDEFINED
- u'\ufffe' # 0xA1 -> UNDEFINED
- u'\ufffe' # 0xA2 -> UNDEFINED
- u'\ufffe' # 0xA3 -> UNDEFINED
- u'\ufffe' # 0xA4 -> UNDEFINED
- u'\ufffe' # 0xA5 -> UNDEFINED
- u'\ufffe' # 0xA6 -> UNDEFINED
- u'\ufffe' # 0xA7 -> UNDEFINED
- u'\ufffe' # 0xA8 -> UNDEFINED
- u'\xae' # 0xA9 -> REGISTERED SIGN
- u'\xac' # 0xAA -> NOT SIGN
- u'\xbd' # 0xAB -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0xAC -> VULGAR FRACTION ONE QUARTER
- u'\ufffe' # 0xAD -> UNDEFINED
- u'\xab' # 0xAE -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xAF -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0xB0 -> LIGHT SHADE
- u'\u2592' # 0xB1 -> MEDIUM SHADE
- u'\u2593' # 0xB2 -> DARK SHADE
- u'\u2502' # 0xB3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0xB4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\ufffe' # 0xB5 -> UNDEFINED
- u'\ufffe' # 0xB6 -> UNDEFINED
- u'\ufffe' # 0xB7 -> UNDEFINED
- u'\xa9' # 0xB8 -> COPYRIGHT SIGN
- u'\u2563' # 0xB9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0xBA -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0xBB -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0xBC -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\xa2' # 0xBD -> CENT SIGN
- u'\xa5' # 0xBE -> YEN SIGN
- u'\u2510' # 0xBF -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0xC0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0xC1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0xC2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0xC3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0xC4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0xC5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\ufffe' # 0xC6 -> UNDEFINED
- u'\ufffe' # 0xC7 -> UNDEFINED
- u'\u255a' # 0xC8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0xC9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0xCA -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0xCB -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0xCC -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0xCD -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0xCE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa4' # 0xCF -> CURRENCY SIGN
- u'\ufffe' # 0xD0 -> UNDEFINED
- u'\ufffe' # 0xD1 -> UNDEFINED
- u'\ufffe' # 0xD2 -> UNDEFINED
- u'\ufffe' # 0xD3 -> UNDEFINEDS
- u'\ufffe' # 0xD4 -> UNDEFINED
- u'\ufffe' # 0xD5 -> UNDEFINED
- u'\ufffe' # 0xD6 -> UNDEFINEDE
- u'\ufffe' # 0xD7 -> UNDEFINED
- u'\ufffe' # 0xD8 -> UNDEFINED
- u'\u2518' # 0xD9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0xDA -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0xDB -> FULL BLOCK
- u'\u2584' # 0xDC -> LOWER HALF BLOCK
- u'\xa6' # 0xDD -> BROKEN BAR
- u'\ufffe' # 0xDE -> UNDEFINED
- u'\u2580' # 0xDF -> UPPER HALF BLOCK
- u'\ufffe' # 0xE0 -> UNDEFINED
- u'\ufffe' # 0xE1 -> UNDEFINED
- u'\ufffe' # 0xE2 -> UNDEFINED
- u'\ufffe' # 0xE3 -> UNDEFINED
- u'\ufffe' # 0xE4 -> UNDEFINED
- u'\ufffe' # 0xE5 -> UNDEFINED
- u'\xb5' # 0xE6 -> MICRO SIGN
- u'\ufffe' # 0xE7 -> UNDEFINED
- u'\ufffe' # 0xE8 -> UNDEFINED
- u'\ufffe' # 0xE9 -> UNDEFINED
- u'\ufffe' # 0xEA -> UNDEFINED
- u'\ufffe' # 0xEB -> UNDEFINED
- u'\ufffe' # 0xEC -> UNDEFINED
- u'\ufffe' # 0xED -> UNDEFINED
- u'\xaf' # 0xEE -> MACRON
- u'\xb4' # 0xEF -> ACUTE ACCENT
- u'\xad' # 0xF0 -> SOFT HYPHEN
- u'\xb1' # 0xF1 -> PLUS-MINUS SIGN
- u'\u2017' # 0xF2 -> DOUBLE LOW LINE
- u'\xbe' # 0xF3 -> VULGAR FRACTION THREE QUARTERS
- u'\xb6' # 0xF4 -> PILCROW SIGN
- u'\xa7' # 0xF5 -> SECTION SIGN
- u'\xf7' # 0xF6 -> DIVISION SIGN
- u'\xb8' # 0xF7 -> CEDILLA
- u'\xb0' # 0xF8 -> DEGREE SIGN
- u'\xa8' # 0xF9 -> DIAERESIS
- u'\xb7' # 0xFA -> MIDDLE DOT
- u'\xb9' # 0xFB -> SUPERSCRIPT ONE
- u'\xb3' # 0xFC -> SUPERSCRIPT THREE
- u'\xb2' # 0xFD -> SUPERSCRIPT TWO
- u'\u25a0' # 0xFE -> BLACK SQUARE
- u'\xa0' # 0xFF -> NO-BREAK SPACE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u05d0' # 0x80 -> HEBREW LETTER ALEF
+ u'\u05d1' # 0x81 -> HEBREW LETTER BET
+ u'\u05d2' # 0x82 -> HEBREW LETTER GIMEL
+ u'\u05d3' # 0x83 -> HEBREW LETTER DALET
+ u'\u05d4' # 0x84 -> HEBREW LETTER HE
+ u'\u05d5' # 0x85 -> HEBREW LETTER VAV
+ u'\u05d6' # 0x86 -> HEBREW LETTER ZAYIN
+ u'\u05d7' # 0x87 -> HEBREW LETTER HET
+ u'\u05d8' # 0x88 -> HEBREW LETTER TET
+ u'\u05d9' # 0x89 -> HEBREW LETTER YOD
+ u'\u05da' # 0x8A -> HEBREW LETTER FINAL KAF
+ u'\u05db' # 0x8B -> HEBREW LETTER KAF
+ u'\u05dc' # 0x8C -> HEBREW LETTER LAMED
+ u'\u05dd' # 0x8D -> HEBREW LETTER FINAL MEM
+ u'\u05de' # 0x8E -> HEBREW LETTER MEM
+ u'\u05df' # 0x8F -> HEBREW LETTER FINAL NUN
+ u'\u05e0' # 0x90 -> HEBREW LETTER NUN
+ u'\u05e1' # 0x91 -> HEBREW LETTER SAMEKH
+ u'\u05e2' # 0x92 -> HEBREW LETTER AYIN
+ u'\u05e3' # 0x93 -> HEBREW LETTER FINAL PE
+ u'\u05e4' # 0x94 -> HEBREW LETTER PE
+ u'\u05e5' # 0x95 -> HEBREW LETTER FINAL TSADI
+ u'\u05e6' # 0x96 -> HEBREW LETTER TSADI
+ u'\u05e7' # 0x97 -> HEBREW LETTER QOF
+ u'\u05e8' # 0x98 -> HEBREW LETTER RESH
+ u'\u05e9' # 0x99 -> HEBREW LETTER SHIN
+ u'\u05ea' # 0x9A -> HEBREW LETTER TAV
+ u'\ufffe' # 0x9B -> UNDEFINED
+ u'\xa3' # 0x9C -> POUND SIGN
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\xd7' # 0x9E -> MULTIPLICATION SIGN
+ u'\ufffe' # 0x9F -> UNDEFINED
+ u'\ufffe' # 0xA0 -> UNDEFINED
+ u'\ufffe' # 0xA1 -> UNDEFINED
+ u'\ufffe' # 0xA2 -> UNDEFINED
+ u'\ufffe' # 0xA3 -> UNDEFINED
+ u'\ufffe' # 0xA4 -> UNDEFINED
+ u'\ufffe' # 0xA5 -> UNDEFINED
+ u'\ufffe' # 0xA6 -> UNDEFINED
+ u'\ufffe' # 0xA7 -> UNDEFINED
+ u'\ufffe' # 0xA8 -> UNDEFINED
+ u'\xae' # 0xA9 -> REGISTERED SIGN
+ u'\xac' # 0xAA -> NOT SIGN
+ u'\xbd' # 0xAB -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0xAC -> VULGAR FRACTION ONE QUARTER
+ u'\ufffe' # 0xAD -> UNDEFINED
+ u'\xab' # 0xAE -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xAF -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0xB0 -> LIGHT SHADE
+ u'\u2592' # 0xB1 -> MEDIUM SHADE
+ u'\u2593' # 0xB2 -> DARK SHADE
+ u'\u2502' # 0xB3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0xB4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\ufffe' # 0xB5 -> UNDEFINED
+ u'\ufffe' # 0xB6 -> UNDEFINED
+ u'\ufffe' # 0xB7 -> UNDEFINED
+ u'\xa9' # 0xB8 -> COPYRIGHT SIGN
+ u'\u2563' # 0xB9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0xBA -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0xBB -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0xBC -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\xa2' # 0xBD -> CENT SIGN
+ u'\xa5' # 0xBE -> YEN SIGN
+ u'\u2510' # 0xBF -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0xC0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0xC1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0xC2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0xC3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0xC4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0xC5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\ufffe' # 0xC6 -> UNDEFINED
+ u'\ufffe' # 0xC7 -> UNDEFINED
+ u'\u255a' # 0xC8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0xC9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0xCA -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0xCB -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0xCC -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0xCD -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0xCE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa4' # 0xCF -> CURRENCY SIGN
+ u'\ufffe' # 0xD0 -> UNDEFINED
+ u'\ufffe' # 0xD1 -> UNDEFINED
+ u'\ufffe' # 0xD2 -> UNDEFINED
+ u'\ufffe' # 0xD3 -> UNDEFINEDS
+ u'\ufffe' # 0xD4 -> UNDEFINED
+ u'\ufffe' # 0xD5 -> UNDEFINED
+ u'\ufffe' # 0xD6 -> UNDEFINEDE
+ u'\ufffe' # 0xD7 -> UNDEFINED
+ u'\ufffe' # 0xD8 -> UNDEFINED
+ u'\u2518' # 0xD9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0xDA -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0xDB -> FULL BLOCK
+ u'\u2584' # 0xDC -> LOWER HALF BLOCK
+ u'\xa6' # 0xDD -> BROKEN BAR
+ u'\ufffe' # 0xDE -> UNDEFINED
+ u'\u2580' # 0xDF -> UPPER HALF BLOCK
+ u'\ufffe' # 0xE0 -> UNDEFINED
+ u'\ufffe' # 0xE1 -> UNDEFINED
+ u'\ufffe' # 0xE2 -> UNDEFINED
+ u'\ufffe' # 0xE3 -> UNDEFINED
+ u'\ufffe' # 0xE4 -> UNDEFINED
+ u'\ufffe' # 0xE5 -> UNDEFINED
+ u'\xb5' # 0xE6 -> MICRO SIGN
+ u'\ufffe' # 0xE7 -> UNDEFINED
+ u'\ufffe' # 0xE8 -> UNDEFINED
+ u'\ufffe' # 0xE9 -> UNDEFINED
+ u'\ufffe' # 0xEA -> UNDEFINED
+ u'\ufffe' # 0xEB -> UNDEFINED
+ u'\ufffe' # 0xEC -> UNDEFINED
+ u'\ufffe' # 0xED -> UNDEFINED
+ u'\xaf' # 0xEE -> MACRON
+ u'\xb4' # 0xEF -> ACUTE ACCENT
+ u'\xad' # 0xF0 -> SOFT HYPHEN
+ u'\xb1' # 0xF1 -> PLUS-MINUS SIGN
+ u'\u2017' # 0xF2 -> DOUBLE LOW LINE
+ u'\xbe' # 0xF3 -> VULGAR FRACTION THREE QUARTERS
+ u'\xb6' # 0xF4 -> PILCROW SIGN
+ u'\xa7' # 0xF5 -> SECTION SIGN
+ u'\xf7' # 0xF6 -> DIVISION SIGN
+ u'\xb8' # 0xF7 -> CEDILLA
+ u'\xb0' # 0xF8 -> DEGREE SIGN
+ u'\xa8' # 0xF9 -> DIAERESIS
+ u'\xb7' # 0xFA -> MIDDLE DOT
+ u'\xb9' # 0xFB -> SUPERSCRIPT ONE
+ u'\xb3' # 0xFC -> SUPERSCRIPT THREE
+ u'\xb2' # 0xFD -> SUPERSCRIPT TWO
+ u'\u25a0' # 0xFE -> BLACK SQUARE
+ u'\xa0' # 0xFF -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xFF, # NO-BREAK SPACE
- 0x00A2: 0xBD, # CENT SIGN
- 0x00A3: 0x9C, # POUND SIGN
- 0x00A4: 0xCF, # CURRENCY SIGN
- 0x00A5: 0xBE, # YEN SIGN
- 0x00A6: 0xDD, # BROKEN BAR
- 0x00A7: 0xF5, # SECTION SIGN
- 0x00A8: 0xF9, # DIAERESIS
- 0x00A9: 0xB8, # COPYRIGHT SIGN
- 0x00AB: 0xAE, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAA, # NOT SIGN
- 0x00AD: 0xF0, # SOFT HYPHEN
- 0x00AE: 0xA9, # REGISTERED SIGN
- 0x00AF: 0xEE, # MACRON
- 0x00B0: 0xF8, # DEGREE SIGN
- 0x00B1: 0xF1, # PLUS-MINUS SIGN
- 0x00B2: 0xFD, # SUPERSCRIPT TWO
- 0x00B3: 0xFC, # SUPERSCRIPT THREE
- 0x00B4: 0xEF, # ACUTE ACCENT
- 0x00B5: 0xE6, # MICRO SIGN
- 0x00B6: 0xF4, # PILCROW SIGN
- 0x00B7: 0xFA, # MIDDLE DOT
- 0x00B8: 0xF7, # CEDILLA
- 0x00B9: 0xFB, # SUPERSCRIPT ONE
- 0x00BB: 0xAF, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xAC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xAB, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xF3, # VULGAR FRACTION THREE QUARTERS
- 0x00D7: 0x9E, # MULTIPLICATION SIGN
- 0x00F7: 0xF6, # DIVISION SIGN
- 0x05D0: 0x80, # HEBREW LETTER ALEF
- 0x05D1: 0x81, # HEBREW LETTER BET
- 0x05D2: 0x82, # HEBREW LETTER GIMEL
- 0x05D3: 0x83, # HEBREW LETTER DALET
- 0x05D4: 0x84, # HEBREW LETTER HE
- 0x05D5: 0x85, # HEBREW LETTER VAV
- 0x05D6: 0x86, # HEBREW LETTER ZAYIN
- 0x05D7: 0x87, # HEBREW LETTER HET
- 0x05D8: 0x88, # HEBREW LETTER TET
- 0x05D9: 0x89, # HEBREW LETTER YOD
- 0x05DA: 0x8A, # HEBREW LETTER FINAL KAF
- 0x05DB: 0x8B, # HEBREW LETTER KAF
- 0x05DC: 0x8C, # HEBREW LETTER LAMED
- 0x05DD: 0x8D, # HEBREW LETTER FINAL MEM
- 0x05DE: 0x8E, # HEBREW LETTER MEM
- 0x05DF: 0x8F, # HEBREW LETTER FINAL NUN
- 0x05E0: 0x90, # HEBREW LETTER NUN
- 0x05E1: 0x91, # HEBREW LETTER SAMEKH
- 0x05E2: 0x92, # HEBREW LETTER AYIN
- 0x05E3: 0x93, # HEBREW LETTER FINAL PE
- 0x05E4: 0x94, # HEBREW LETTER PE
- 0x05E5: 0x95, # HEBREW LETTER FINAL TSADI
- 0x05E6: 0x96, # HEBREW LETTER TSADI
- 0x05E7: 0x97, # HEBREW LETTER QOF
- 0x05E8: 0x98, # HEBREW LETTER RESH
- 0x05E9: 0x99, # HEBREW LETTER SHIN
- 0x05EA: 0x9A, # HEBREW LETTER TAV
- 0x2017: 0xF2, # DOUBLE LOW LINE
- 0x2500: 0xC4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0xB3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250C: 0xDA, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0xBF, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0xC0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0xD9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251C: 0xC3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0xB4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252C: 0xC2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0xC1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253C: 0xC5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0xCD, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0xBA, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0xC9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0xBB, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255A: 0xC8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255D: 0xBC, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0xCC, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0xB9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0xCB, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0xCA, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256C: 0xCE, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0xDF, # UPPER HALF BLOCK
- 0x2584: 0xDC, # LOWER HALF BLOCK
- 0x2588: 0xDB, # FULL BLOCK
- 0x2591: 0xB0, # LIGHT SHADE
- 0x2592: 0xB1, # MEDIUM SHADE
- 0x2593: 0xB2, # DARK SHADE
- 0x25A0: 0xFE, # BLACK SQUARE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xFF, # NO-BREAK SPACE
+ 0x00A2: 0xBD, # CENT SIGN
+ 0x00A3: 0x9C, # POUND SIGN
+ 0x00A4: 0xCF, # CURRENCY SIGN
+ 0x00A5: 0xBE, # YEN SIGN
+ 0x00A6: 0xDD, # BROKEN BAR
+ 0x00A7: 0xF5, # SECTION SIGN
+ 0x00A8: 0xF9, # DIAERESIS
+ 0x00A9: 0xB8, # COPYRIGHT SIGN
+ 0x00AB: 0xAE, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAA, # NOT SIGN
+ 0x00AD: 0xF0, # SOFT HYPHEN
+ 0x00AE: 0xA9, # REGISTERED SIGN
+ 0x00AF: 0xEE, # MACRON
+ 0x00B0: 0xF8, # DEGREE SIGN
+ 0x00B1: 0xF1, # PLUS-MINUS SIGN
+ 0x00B2: 0xFD, # SUPERSCRIPT TWO
+ 0x00B3: 0xFC, # SUPERSCRIPT THREE
+ 0x00B4: 0xEF, # ACUTE ACCENT
+ 0x00B5: 0xE6, # MICRO SIGN
+ 0x00B6: 0xF4, # PILCROW SIGN
+ 0x00B7: 0xFA, # MIDDLE DOT
+ 0x00B8: 0xF7, # CEDILLA
+ 0x00B9: 0xFB, # SUPERSCRIPT ONE
+ 0x00BB: 0xAF, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xAC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xAB, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xF3, # VULGAR FRACTION THREE QUARTERS
+ 0x00D7: 0x9E, # MULTIPLICATION SIGN
+ 0x00F7: 0xF6, # DIVISION SIGN
+ 0x05D0: 0x80, # HEBREW LETTER ALEF
+ 0x05D1: 0x81, # HEBREW LETTER BET
+ 0x05D2: 0x82, # HEBREW LETTER GIMEL
+ 0x05D3: 0x83, # HEBREW LETTER DALET
+ 0x05D4: 0x84, # HEBREW LETTER HE
+ 0x05D5: 0x85, # HEBREW LETTER VAV
+ 0x05D6: 0x86, # HEBREW LETTER ZAYIN
+ 0x05D7: 0x87, # HEBREW LETTER HET
+ 0x05D8: 0x88, # HEBREW LETTER TET
+ 0x05D9: 0x89, # HEBREW LETTER YOD
+ 0x05DA: 0x8A, # HEBREW LETTER FINAL KAF
+ 0x05DB: 0x8B, # HEBREW LETTER KAF
+ 0x05DC: 0x8C, # HEBREW LETTER LAMED
+ 0x05DD: 0x8D, # HEBREW LETTER FINAL MEM
+ 0x05DE: 0x8E, # HEBREW LETTER MEM
+ 0x05DF: 0x8F, # HEBREW LETTER FINAL NUN
+ 0x05E0: 0x90, # HEBREW LETTER NUN
+ 0x05E1: 0x91, # HEBREW LETTER SAMEKH
+ 0x05E2: 0x92, # HEBREW LETTER AYIN
+ 0x05E3: 0x93, # HEBREW LETTER FINAL PE
+ 0x05E4: 0x94, # HEBREW LETTER PE
+ 0x05E5: 0x95, # HEBREW LETTER FINAL TSADI
+ 0x05E6: 0x96, # HEBREW LETTER TSADI
+ 0x05E7: 0x97, # HEBREW LETTER QOF
+ 0x05E8: 0x98, # HEBREW LETTER RESH
+ 0x05E9: 0x99, # HEBREW LETTER SHIN
+ 0x05EA: 0x9A, # HEBREW LETTER TAV
+ 0x2017: 0xF2, # DOUBLE LOW LINE
+ 0x2500: 0xC4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0xB3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250C: 0xDA, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0xBF, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0xC0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0xD9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251C: 0xC3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0xB4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252C: 0xC2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0xC1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253C: 0xC5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0xCD, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0xBA, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0xC9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0xBB, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255A: 0xC8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255D: 0xBC, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0xCC, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0xB9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0xCB, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0xCA, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256C: 0xCE, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0xDF, # UPPER HALF BLOCK
+ 0x2584: 0xDC, # LOWER HALF BLOCK
+ 0x2588: 0xDB, # FULL BLOCK
+ 0x2591: 0xB0, # LIGHT SHADE
+ 0x2592: 0xB1, # MEDIUM SHADE
+ 0x2593: 0xB2, # DARK SHADE
+ 0x25A0: 0xFE, # BLACK SQUARE
}
-
diff --git a/Lib/encodings/cp857.py b/Lib/encodings/cp857.py
index 507aefa..6c5cdbb 100644
--- a/Lib/encodings/cp857.py
+++ b/Lib/encodings/cp857.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,650 +32,650 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x008d: 0x0131, # LATIN SMALL LETTER DOTLESS I
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
- 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
- 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x0098: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x009e: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x009f: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00a6: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
- 0x00a7: 0x011f, # LATIN SMALL LETTER G WITH BREVE
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x00ae, # REGISTERED SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00b7: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00b8: 0x00a9, # COPYRIGHT SIGN
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x00a2, # CENT SIGN
- 0x00be: 0x00a5, # YEN SIGN
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
- 0x00c7: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x00a4, # CURRENCY SIGN
- 0x00d0: 0x00ba, # MASCULINE ORDINAL INDICATOR
- 0x00d1: 0x00aa, # FEMININE ORDINAL INDICATOR
- 0x00d2: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00d4: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00d5: None, # UNDEFINED
- 0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00d8: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x00a6, # BROKEN BAR
- 0x00de: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00e3: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
- 0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: None, # UNDEFINED
- 0x00e8: 0x00d7, # MULTIPLICATION SIGN
- 0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00ea: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00eb: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00ed: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x00ee: 0x00af, # MACRON
- 0x00ef: 0x00b4, # ACUTE ACCENT
- 0x00f0: 0x00ad, # SOFT HYPHEN
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: None, # UNDEFINED
- 0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
- 0x00f4: 0x00b6, # PILCROW SIGN
- 0x00f5: 0x00a7, # SECTION SIGN
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x00b8, # CEDILLA
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x00a8, # DIAERESIS
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x00b9, # SUPERSCRIPT ONE
- 0x00fc: 0x00b3, # SUPERSCRIPT THREE
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x008d: 0x0131, # LATIN SMALL LETTER DOTLESS I
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+ 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x0098: 0x0130, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x009e: 0x015e, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x009f: 0x015f, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00a6: 0x011e, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x00a7: 0x011f, # LATIN SMALL LETTER G WITH BREVE
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x00ae, # REGISTERED SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00b6: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00b7: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00b8: 0x00a9, # COPYRIGHT SIGN
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x00a2, # CENT SIGN
+ 0x00be: 0x00a5, # YEN SIGN
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00c7: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x00a4, # CURRENCY SIGN
+ 0x00d0: 0x00ba, # MASCULINE ORDINAL INDICATOR
+ 0x00d1: 0x00aa, # FEMININE ORDINAL INDICATOR
+ 0x00d2: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00d3: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00d4: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00d5: None, # UNDEFINED
+ 0x00d6: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00d7: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00d8: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x00a6, # BROKEN BAR
+ 0x00de: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00e3: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00e4: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00e5: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: None, # UNDEFINED
+ 0x00e8: 0x00d7, # MULTIPLICATION SIGN
+ 0x00e9: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00ea: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00eb: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00ed: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x00ee: 0x00af, # MACRON
+ 0x00ef: 0x00b4, # ACUTE ACCENT
+ 0x00f0: 0x00ad, # SOFT HYPHEN
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: None, # UNDEFINED
+ 0x00f3: 0x00be, # VULGAR FRACTION THREE QUARTERS
+ 0x00f4: 0x00b6, # PILCROW SIGN
+ 0x00f5: 0x00a7, # SECTION SIGN
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x00b8, # CEDILLA
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x00a8, # DIAERESIS
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x00b9, # SUPERSCRIPT ONE
+ 0x00fc: 0x00b3, # SUPERSCRIPT THREE
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\u0131' # 0x008d -> LATIN SMALL LETTER DOTLESS I
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
- u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
- u'\u0130' # 0x0098 -> LATIN CAPITAL LETTER I WITH DOT ABOVE
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u015e' # 0x009e -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\u015f' # 0x009f -> LATIN SMALL LETTER S WITH CEDILLA
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
- u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\u011e' # 0x00a6 -> LATIN CAPITAL LETTER G WITH BREVE
- u'\u011f' # 0x00a7 -> LATIN SMALL LETTER G WITH BREVE
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\xae' # 0x00a9 -> REGISTERED SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\xc1' # 0x00b5 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0x00b6 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc0' # 0x00b7 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xa9' # 0x00b8 -> COPYRIGHT SIGN
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\xa2' # 0x00bd -> CENT SIGN
- u'\xa5' # 0x00be -> YEN SIGN
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\xe3' # 0x00c6 -> LATIN SMALL LETTER A WITH TILDE
- u'\xc3' # 0x00c7 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa4' # 0x00cf -> CURRENCY SIGN
- u'\xba' # 0x00d0 -> MASCULINE ORDINAL INDICATOR
- u'\xaa' # 0x00d1 -> FEMININE ORDINAL INDICATOR
- u'\xca' # 0x00d2 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0x00d3 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0x00d4 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\ufffe' # 0x00d5 -> UNDEFINED
- u'\xcd' # 0x00d6 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0x00d7 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0x00d8 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\xa6' # 0x00dd -> BROKEN BAR
- u'\xcc' # 0x00de -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\xd4' # 0x00e2 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd2' # 0x00e3 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xf5' # 0x00e4 -> LATIN SMALL LETTER O WITH TILDE
- u'\xd5' # 0x00e5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\ufffe' # 0x00e7 -> UNDEFINED
- u'\xd7' # 0x00e8 -> MULTIPLICATION SIGN
- u'\xda' # 0x00e9 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0x00ea -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0x00eb -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xec' # 0x00ec -> LATIN SMALL LETTER I WITH GRAVE
- u'\xff' # 0x00ed -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\xaf' # 0x00ee -> MACRON
- u'\xb4' # 0x00ef -> ACUTE ACCENT
- u'\xad' # 0x00f0 -> SOFT HYPHEN
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\ufffe' # 0x00f2 -> UNDEFINED
- u'\xbe' # 0x00f3 -> VULGAR FRACTION THREE QUARTERS
- u'\xb6' # 0x00f4 -> PILCROW SIGN
- u'\xa7' # 0x00f5 -> SECTION SIGN
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\xb8' # 0x00f7 -> CEDILLA
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\xa8' # 0x00f9 -> DIAERESIS
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\xb9' # 0x00fb -> SUPERSCRIPT ONE
- u'\xb3' # 0x00fc -> SUPERSCRIPT THREE
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\u0131' # 0x008d -> LATIN SMALL LETTER DOTLESS I
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
+ u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\u0130' # 0x0098 -> LATIN CAPITAL LETTER I WITH DOT ABOVE
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u015e' # 0x009e -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\u015f' # 0x009f -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\u011e' # 0x00a6 -> LATIN CAPITAL LETTER G WITH BREVE
+ u'\u011f' # 0x00a7 -> LATIN SMALL LETTER G WITH BREVE
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\xae' # 0x00a9 -> REGISTERED SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\xc1' # 0x00b5 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0x00b6 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc0' # 0x00b7 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xa9' # 0x00b8 -> COPYRIGHT SIGN
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\xa2' # 0x00bd -> CENT SIGN
+ u'\xa5' # 0x00be -> YEN SIGN
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\xe3' # 0x00c6 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xc3' # 0x00c7 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa4' # 0x00cf -> CURRENCY SIGN
+ u'\xba' # 0x00d0 -> MASCULINE ORDINAL INDICATOR
+ u'\xaa' # 0x00d1 -> FEMININE ORDINAL INDICATOR
+ u'\xca' # 0x00d2 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0x00d3 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0x00d4 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\ufffe' # 0x00d5 -> UNDEFINED
+ u'\xcd' # 0x00d6 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0x00d7 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0x00d8 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\xa6' # 0x00dd -> BROKEN BAR
+ u'\xcc' # 0x00de -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\xd3' # 0x00e0 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\xd4' # 0x00e2 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd2' # 0x00e3 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xf5' # 0x00e4 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xd5' # 0x00e5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\ufffe' # 0x00e7 -> UNDEFINED
+ u'\xd7' # 0x00e8 -> MULTIPLICATION SIGN
+ u'\xda' # 0x00e9 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0x00ea -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0x00eb -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xec' # 0x00ec -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xff' # 0x00ed -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\xaf' # 0x00ee -> MACRON
+ u'\xb4' # 0x00ef -> ACUTE ACCENT
+ u'\xad' # 0x00f0 -> SOFT HYPHEN
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\ufffe' # 0x00f2 -> UNDEFINED
+ u'\xbe' # 0x00f3 -> VULGAR FRACTION THREE QUARTERS
+ u'\xb6' # 0x00f4 -> PILCROW SIGN
+ u'\xa7' # 0x00f5 -> SECTION SIGN
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\xb8' # 0x00f7 -> CEDILLA
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\xa8' # 0x00f9 -> DIAERESIS
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\xb9' # 0x00fb -> SUPERSCRIPT ONE
+ u'\xb3' # 0x00fc -> SUPERSCRIPT THREE
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a2: 0x00bd, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a4: 0x00cf, # CURRENCY SIGN
- 0x00a5: 0x00be, # YEN SIGN
- 0x00a6: 0x00dd, # BROKEN BAR
- 0x00a7: 0x00f5, # SECTION SIGN
- 0x00a8: 0x00f9, # DIAERESIS
- 0x00a9: 0x00b8, # COPYRIGHT SIGN
- 0x00aa: 0x00d1, # FEMININE ORDINAL INDICATOR
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00ad: 0x00f0, # SOFT HYPHEN
- 0x00ae: 0x00a9, # REGISTERED SIGN
- 0x00af: 0x00ee, # MACRON
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b3: 0x00fc, # SUPERSCRIPT THREE
- 0x00b4: 0x00ef, # ACUTE ACCENT
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b6: 0x00f4, # PILCROW SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00b8: 0x00f7, # CEDILLA
- 0x00b9: 0x00fb, # SUPERSCRIPT ONE
- 0x00ba: 0x00d0, # MASCULINE ORDINAL INDICATOR
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00be: 0x00f3, # VULGAR FRACTION THREE QUARTERS
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00c0: 0x00b7, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00c1: 0x00b5, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00c2: 0x00b6, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00c3: 0x00c7, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c8: 0x00d4, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00ca: 0x00d2, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00cb: 0x00d3, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00cc: 0x00de, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00cd: 0x00d6, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00ce: 0x00d7, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00cf: 0x00d8, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00d2: 0x00e3, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00d4: 0x00e2, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00d5: 0x00e5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00d7: 0x00e8, # MULTIPLICATION SIGN
- 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00d9: 0x00eb, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00da: 0x00e9, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00db: 0x00ea, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e3: 0x00c6, # LATIN SMALL LETTER A WITH TILDE
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ec: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
- 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f5: 0x00e4, # LATIN SMALL LETTER O WITH TILDE
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
- 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00ff: 0x00ed, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x011e: 0x00a6, # LATIN CAPITAL LETTER G WITH BREVE
- 0x011f: 0x00a7, # LATIN SMALL LETTER G WITH BREVE
- 0x0130: 0x0098, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0131: 0x008d, # LATIN SMALL LETTER DOTLESS I
- 0x015e: 0x009e, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015f: 0x009f, # LATIN SMALL LETTER S WITH CEDILLA
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a2: 0x00bd, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a4: 0x00cf, # CURRENCY SIGN
+ 0x00a5: 0x00be, # YEN SIGN
+ 0x00a6: 0x00dd, # BROKEN BAR
+ 0x00a7: 0x00f5, # SECTION SIGN
+ 0x00a8: 0x00f9, # DIAERESIS
+ 0x00a9: 0x00b8, # COPYRIGHT SIGN
+ 0x00aa: 0x00d1, # FEMININE ORDINAL INDICATOR
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00ad: 0x00f0, # SOFT HYPHEN
+ 0x00ae: 0x00a9, # REGISTERED SIGN
+ 0x00af: 0x00ee, # MACRON
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b3: 0x00fc, # SUPERSCRIPT THREE
+ 0x00b4: 0x00ef, # ACUTE ACCENT
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b6: 0x00f4, # PILCROW SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00b8: 0x00f7, # CEDILLA
+ 0x00b9: 0x00fb, # SUPERSCRIPT ONE
+ 0x00ba: 0x00d0, # MASCULINE ORDINAL INDICATOR
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00be: 0x00f3, # VULGAR FRACTION THREE QUARTERS
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00c0: 0x00b7, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00c1: 0x00b5, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00c2: 0x00b6, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00c3: 0x00c7, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c8: 0x00d4, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00ca: 0x00d2, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00cb: 0x00d3, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00cc: 0x00de, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00cd: 0x00d6, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00ce: 0x00d7, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00cf: 0x00d8, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00d2: 0x00e3, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00d3: 0x00e0, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00d4: 0x00e2, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00d5: 0x00e5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00d7: 0x00e8, # MULTIPLICATION SIGN
+ 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00d9: 0x00eb, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00da: 0x00e9, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00db: 0x00ea, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e3: 0x00c6, # LATIN SMALL LETTER A WITH TILDE
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ec: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f5: 0x00e4, # LATIN SMALL LETTER O WITH TILDE
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
+ 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00ff: 0x00ed, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x011e: 0x00a6, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x011f: 0x00a7, # LATIN SMALL LETTER G WITH BREVE
+ 0x0130: 0x0098, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0131: 0x008d, # LATIN SMALL LETTER DOTLESS I
+ 0x015e: 0x009e, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015f: 0x009f, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp860.py b/Lib/encodings/cp860.py
index 3a012bf..cd7cdf4 100644
--- a/Lib/encodings/cp860.py
+++ b/Lib/encodings/cp860.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x008c: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
- 0x008e: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x008f: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x0092: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
- 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
- 0x0096: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x0098: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x0099: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00a2, # CENT SIGN
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x009e: 0x20a7, # PESETA SIGN
- 0x009f: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
- 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
- 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00ec: 0x221e, # INFINITY
- 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00ef: 0x2229, # INTERSECTION
- 0x00f0: 0x2261, # IDENTICAL TO
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x2320, # TOP HALF INTEGRAL
- 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e3, # LATIN SMALL LETTER A WITH TILDE
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x008c: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+ 0x008e: 0x00c3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x008f: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x0092: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f5, # LATIN SMALL LETTER O WITH TILDE
+ 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x0096: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x0098: 0x00cc, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x0099: 0x00d5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00a2, # CENT SIGN
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x009e: 0x20a7, # PESETA SIGN
+ 0x009f: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+ 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x00d2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00ec: 0x221e, # INFINITY
+ 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00ef: 0x2229, # INTERSECTION
+ 0x00f0: 0x2261, # IDENTICAL TO
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x2320, # TOP HALF INTEGRAL
+ 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0x0084 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xc1' # 0x0086 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xca' # 0x0089 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xcd' # 0x008b -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xd4' # 0x008c -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
- u'\xc3' # 0x008e -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc2' # 0x008f -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xc0' # 0x0091 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc8' # 0x0092 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0x0094 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xda' # 0x0096 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xcc' # 0x0098 -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xd5' # 0x0099 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xa2' # 0x009b -> CENT SIGN
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd9' # 0x009d -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\u20a7' # 0x009e -> PESETA SIGN
- u'\xd3' # 0x009f -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
- u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\xd2' # 0x00a9 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
- u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
- u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
- u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
- u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
- u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
- u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
- u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
- u'\u221e' # 0x00ec -> INFINITY
- u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
- u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
- u'\u2229' # 0x00ef -> INTERSECTION
- u'\u2261' # 0x00f0 -> IDENTICAL TO
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
- u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0x0084 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xc1' # 0x0086 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xca' # 0x0089 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xcd' # 0x008b -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xd4' # 0x008c -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xc3' # 0x008e -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc2' # 0x008f -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xc0' # 0x0091 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc8' # 0x0092 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0x0094 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xda' # 0x0096 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xcc' # 0x0098 -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xd5' # 0x0099 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xa2' # 0x009b -> CENT SIGN
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd9' # 0x009d -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\u20a7' # 0x009e -> PESETA SIGN
+ u'\xd3' # 0x009f -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\xd2' # 0x00a9 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
+ u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
+ u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
+ u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
+ u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
+ u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
+ u'\u221e' # 0x00ec -> INFINITY
+ u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
+ u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
+ u'\u2229' # 0x00ef -> INTERSECTION
+ u'\u2261' # 0x00f0 -> IDENTICAL TO
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
+ u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a2: 0x009b, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00c0: 0x0091, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00c1: 0x0086, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00c2: 0x008f, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00c3: 0x008e, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c8: 0x0092, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00ca: 0x0089, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00cc: 0x0098, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00cd: 0x008b, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00d2: 0x00a9, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00d3: 0x009f, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00d4: 0x008c, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00d5: 0x0099, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00d9: 0x009d, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00da: 0x0096, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e3: 0x0084, # LATIN SMALL LETTER A WITH TILDE
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
- 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f5: 0x0094, # LATIN SMALL LETTER O WITH TILDE
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
- 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
- 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
- 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
- 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
- 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
- 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
- 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
- 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
- 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x20a7: 0x009e, # PESETA SIGN
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x221e: 0x00ec, # INFINITY
- 0x2229: 0x00ef, # INTERSECTION
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2261: 0x00f0, # IDENTICAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2320: 0x00f4, # TOP HALF INTEGRAL
- 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a2: 0x009b, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00c0: 0x0091, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00c1: 0x0086, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00c2: 0x008f, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00c3: 0x008e, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c8: 0x0092, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00ca: 0x0089, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00cc: 0x0098, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00cd: 0x008b, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00d2: 0x00a9, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00d3: 0x009f, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00d4: 0x008c, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00d5: 0x0099, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00d9: 0x009d, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00da: 0x0096, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e3: 0x0084, # LATIN SMALL LETTER A WITH TILDE
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f5: 0x0094, # LATIN SMALL LETTER O WITH TILDE
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
+ 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
+ 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
+ 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
+ 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
+ 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
+ 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
+ 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
+ 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
+ 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x20a7: 0x009e, # PESETA SIGN
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x221e: 0x00ec, # INFINITY
+ 0x2229: 0x00ef, # INTERSECTION
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2261: 0x00f0, # IDENTICAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2320: 0x00f4, # TOP HALF INTEGRAL
+ 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp861.py b/Lib/encodings/cp861.py
index 110ad6c..b140f2e 100644
--- a/Lib/encodings/cp861.py
+++ b/Lib/encodings/cp861.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00d0, # LATIN CAPITAL LETTER ETH
- 0x008c: 0x00f0, # LATIN SMALL LETTER ETH
- 0x008d: 0x00de, # LATIN CAPITAL LETTER THORN
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
- 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x00fe, # LATIN SMALL LETTER THORN
- 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x0097: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x0098: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x009e: 0x20a7, # PESETA SIGN
- 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00a5: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00a6: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00a7: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x2310, # REVERSED NOT SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
- 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00ec: 0x221e, # INFINITY
- 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00ef: 0x2229, # INTERSECTION
- 0x00f0: 0x2261, # IDENTICAL TO
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x2320, # TOP HALF INTEGRAL
- 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00d0, # LATIN CAPITAL LETTER ETH
+ 0x008c: 0x00f0, # LATIN SMALL LETTER ETH
+ 0x008d: 0x00de, # LATIN CAPITAL LETTER THORN
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+ 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x00fe, # LATIN SMALL LETTER THORN
+ 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x0097: 0x00dd, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x0098: 0x00fd, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x009e: 0x20a7, # PESETA SIGN
+ 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00c1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00a5: 0x00cd, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00a6: 0x00d3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00a7: 0x00da, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x2310, # REVERSED NOT SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00ec: 0x221e, # INFINITY
+ 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00ef: 0x2229, # INTERSECTION
+ 0x00f0: 0x2261, # IDENTICAL TO
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x2320, # TOP HALF INTEGRAL
+ 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xd0' # 0x008b -> LATIN CAPITAL LETTER ETH
- u'\xf0' # 0x008c -> LATIN SMALL LETTER ETH
- u'\xde' # 0x008d -> LATIN CAPITAL LETTER THORN
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
- u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xfe' # 0x0095 -> LATIN SMALL LETTER THORN
- u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xdd' # 0x0097 -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xfd' # 0x0098 -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u20a7' # 0x009e -> PESETA SIGN
- u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xc1' # 0x00a4 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xcd' # 0x00a5 -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xd3' # 0x00a6 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xda' # 0x00a7 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
- u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
- u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
- u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
- u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
- u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
- u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
- u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
- u'\u221e' # 0x00ec -> INFINITY
- u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
- u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
- u'\u2229' # 0x00ef -> INTERSECTION
- u'\u2261' # 0x00f0 -> IDENTICAL TO
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
- u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xd0' # 0x008b -> LATIN CAPITAL LETTER ETH
+ u'\xf0' # 0x008c -> LATIN SMALL LETTER ETH
+ u'\xde' # 0x008d -> LATIN CAPITAL LETTER THORN
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
+ u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xfe' # 0x0095 -> LATIN SMALL LETTER THORN
+ u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xdd' # 0x0097 -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xfd' # 0x0098 -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u20a7' # 0x009e -> PESETA SIGN
+ u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xc1' # 0x00a4 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xcd' # 0x00a5 -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xd3' # 0x00a6 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xda' # 0x00a7 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
+ u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
+ u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
+ u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
+ u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
+ u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
+ u'\u221e' # 0x00ec -> INFINITY
+ u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
+ u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
+ u'\u2229' # 0x00ef -> INTERSECTION
+ u'\u2261' # 0x00f0 -> IDENTICAL TO
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
+ u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a3: 0x009c, # POUND SIGN
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00c1: 0x00a4, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00cd: 0x00a5, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00d0: 0x008b, # LATIN CAPITAL LETTER ETH
- 0x00d3: 0x00a6, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00da: 0x00a7, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00dd: 0x0097, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00de: 0x008d, # LATIN CAPITAL LETTER THORN
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00f0: 0x008c, # LATIN SMALL LETTER ETH
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00fd: 0x0098, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00fe: 0x0095, # LATIN SMALL LETTER THORN
- 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
- 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
- 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
- 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
- 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
- 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
- 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
- 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
- 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
- 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
- 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x20a7: 0x009e, # PESETA SIGN
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x221e: 0x00ec, # INFINITY
- 0x2229: 0x00ef, # INTERSECTION
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2261: 0x00f0, # IDENTICAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2310: 0x00a9, # REVERSED NOT SIGN
- 0x2320: 0x00f4, # TOP HALF INTEGRAL
- 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00c1: 0x00a4, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00cd: 0x00a5, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00d0: 0x008b, # LATIN CAPITAL LETTER ETH
+ 0x00d3: 0x00a6, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00da: 0x00a7, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00dd: 0x0097, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00de: 0x008d, # LATIN CAPITAL LETTER THORN
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00f0: 0x008c, # LATIN SMALL LETTER ETH
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00fd: 0x0098, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00fe: 0x0095, # LATIN SMALL LETTER THORN
+ 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
+ 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
+ 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
+ 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
+ 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
+ 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
+ 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
+ 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
+ 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
+ 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
+ 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x20a7: 0x009e, # PESETA SIGN
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x221e: 0x00ec, # INFINITY
+ 0x2229: 0x00ef, # INTERSECTION
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2261: 0x00f0, # IDENTICAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2310: 0x00a9, # REVERSED NOT SIGN
+ 0x2320: 0x00f4, # TOP HALF INTEGRAL
+ 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp862.py b/Lib/encodings/cp862.py
index ba7da2a..badec08 100644
--- a/Lib/encodings/cp862.py
+++ b/Lib/encodings/cp862.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x05d0, # HEBREW LETTER ALEF
- 0x0081: 0x05d1, # HEBREW LETTER BET
- 0x0082: 0x05d2, # HEBREW LETTER GIMEL
- 0x0083: 0x05d3, # HEBREW LETTER DALET
- 0x0084: 0x05d4, # HEBREW LETTER HE
- 0x0085: 0x05d5, # HEBREW LETTER VAV
- 0x0086: 0x05d6, # HEBREW LETTER ZAYIN
- 0x0087: 0x05d7, # HEBREW LETTER HET
- 0x0088: 0x05d8, # HEBREW LETTER TET
- 0x0089: 0x05d9, # HEBREW LETTER YOD
- 0x008a: 0x05da, # HEBREW LETTER FINAL KAF
- 0x008b: 0x05db, # HEBREW LETTER KAF
- 0x008c: 0x05dc, # HEBREW LETTER LAMED
- 0x008d: 0x05dd, # HEBREW LETTER FINAL MEM
- 0x008e: 0x05de, # HEBREW LETTER MEM
- 0x008f: 0x05df, # HEBREW LETTER FINAL NUN
- 0x0090: 0x05e0, # HEBREW LETTER NUN
- 0x0091: 0x05e1, # HEBREW LETTER SAMEKH
- 0x0092: 0x05e2, # HEBREW LETTER AYIN
- 0x0093: 0x05e3, # HEBREW LETTER FINAL PE
- 0x0094: 0x05e4, # HEBREW LETTER PE
- 0x0095: 0x05e5, # HEBREW LETTER FINAL TSADI
- 0x0096: 0x05e6, # HEBREW LETTER TSADI
- 0x0097: 0x05e7, # HEBREW LETTER QOF
- 0x0098: 0x05e8, # HEBREW LETTER RESH
- 0x0099: 0x05e9, # HEBREW LETTER SHIN
- 0x009a: 0x05ea, # HEBREW LETTER TAV
- 0x009b: 0x00a2, # CENT SIGN
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00a5, # YEN SIGN
- 0x009e: 0x20a7, # PESETA SIGN
- 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
- 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x2310, # REVERSED NOT SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
- 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00ec: 0x221e, # INFINITY
- 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00ef: 0x2229, # INTERSECTION
- 0x00f0: 0x2261, # IDENTICAL TO
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x2320, # TOP HALF INTEGRAL
- 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x05d0, # HEBREW LETTER ALEF
+ 0x0081: 0x05d1, # HEBREW LETTER BET
+ 0x0082: 0x05d2, # HEBREW LETTER GIMEL
+ 0x0083: 0x05d3, # HEBREW LETTER DALET
+ 0x0084: 0x05d4, # HEBREW LETTER HE
+ 0x0085: 0x05d5, # HEBREW LETTER VAV
+ 0x0086: 0x05d6, # HEBREW LETTER ZAYIN
+ 0x0087: 0x05d7, # HEBREW LETTER HET
+ 0x0088: 0x05d8, # HEBREW LETTER TET
+ 0x0089: 0x05d9, # HEBREW LETTER YOD
+ 0x008a: 0x05da, # HEBREW LETTER FINAL KAF
+ 0x008b: 0x05db, # HEBREW LETTER KAF
+ 0x008c: 0x05dc, # HEBREW LETTER LAMED
+ 0x008d: 0x05dd, # HEBREW LETTER FINAL MEM
+ 0x008e: 0x05de, # HEBREW LETTER MEM
+ 0x008f: 0x05df, # HEBREW LETTER FINAL NUN
+ 0x0090: 0x05e0, # HEBREW LETTER NUN
+ 0x0091: 0x05e1, # HEBREW LETTER SAMEKH
+ 0x0092: 0x05e2, # HEBREW LETTER AYIN
+ 0x0093: 0x05e3, # HEBREW LETTER FINAL PE
+ 0x0094: 0x05e4, # HEBREW LETTER PE
+ 0x0095: 0x05e5, # HEBREW LETTER FINAL TSADI
+ 0x0096: 0x05e6, # HEBREW LETTER TSADI
+ 0x0097: 0x05e7, # HEBREW LETTER QOF
+ 0x0098: 0x05e8, # HEBREW LETTER RESH
+ 0x0099: 0x05e9, # HEBREW LETTER SHIN
+ 0x009a: 0x05ea, # HEBREW LETTER TAV
+ 0x009b: 0x00a2, # CENT SIGN
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00a5, # YEN SIGN
+ 0x009e: 0x20a7, # PESETA SIGN
+ 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+ 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x2310, # REVERSED NOT SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00ec: 0x221e, # INFINITY
+ 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00ef: 0x2229, # INTERSECTION
+ 0x00f0: 0x2261, # IDENTICAL TO
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x2320, # TOP HALF INTEGRAL
+ 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\u05d0' # 0x0080 -> HEBREW LETTER ALEF
- u'\u05d1' # 0x0081 -> HEBREW LETTER BET
- u'\u05d2' # 0x0082 -> HEBREW LETTER GIMEL
- u'\u05d3' # 0x0083 -> HEBREW LETTER DALET
- u'\u05d4' # 0x0084 -> HEBREW LETTER HE
- u'\u05d5' # 0x0085 -> HEBREW LETTER VAV
- u'\u05d6' # 0x0086 -> HEBREW LETTER ZAYIN
- u'\u05d7' # 0x0087 -> HEBREW LETTER HET
- u'\u05d8' # 0x0088 -> HEBREW LETTER TET
- u'\u05d9' # 0x0089 -> HEBREW LETTER YOD
- u'\u05da' # 0x008a -> HEBREW LETTER FINAL KAF
- u'\u05db' # 0x008b -> HEBREW LETTER KAF
- u'\u05dc' # 0x008c -> HEBREW LETTER LAMED
- u'\u05dd' # 0x008d -> HEBREW LETTER FINAL MEM
- u'\u05de' # 0x008e -> HEBREW LETTER MEM
- u'\u05df' # 0x008f -> HEBREW LETTER FINAL NUN
- u'\u05e0' # 0x0090 -> HEBREW LETTER NUN
- u'\u05e1' # 0x0091 -> HEBREW LETTER SAMEKH
- u'\u05e2' # 0x0092 -> HEBREW LETTER AYIN
- u'\u05e3' # 0x0093 -> HEBREW LETTER FINAL PE
- u'\u05e4' # 0x0094 -> HEBREW LETTER PE
- u'\u05e5' # 0x0095 -> HEBREW LETTER FINAL TSADI
- u'\u05e6' # 0x0096 -> HEBREW LETTER TSADI
- u'\u05e7' # 0x0097 -> HEBREW LETTER QOF
- u'\u05e8' # 0x0098 -> HEBREW LETTER RESH
- u'\u05e9' # 0x0099 -> HEBREW LETTER SHIN
- u'\u05ea' # 0x009a -> HEBREW LETTER TAV
- u'\xa2' # 0x009b -> CENT SIGN
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xa5' # 0x009d -> YEN SIGN
- u'\u20a7' # 0x009e -> PESETA SIGN
- u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
- u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S (GERMAN)
- u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
- u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
- u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
- u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
- u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
- u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
- u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
- u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
- u'\u221e' # 0x00ec -> INFINITY
- u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
- u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
- u'\u2229' # 0x00ef -> INTERSECTION
- u'\u2261' # 0x00f0 -> IDENTICAL TO
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
- u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\u05d0' # 0x0080 -> HEBREW LETTER ALEF
+ u'\u05d1' # 0x0081 -> HEBREW LETTER BET
+ u'\u05d2' # 0x0082 -> HEBREW LETTER GIMEL
+ u'\u05d3' # 0x0083 -> HEBREW LETTER DALET
+ u'\u05d4' # 0x0084 -> HEBREW LETTER HE
+ u'\u05d5' # 0x0085 -> HEBREW LETTER VAV
+ u'\u05d6' # 0x0086 -> HEBREW LETTER ZAYIN
+ u'\u05d7' # 0x0087 -> HEBREW LETTER HET
+ u'\u05d8' # 0x0088 -> HEBREW LETTER TET
+ u'\u05d9' # 0x0089 -> HEBREW LETTER YOD
+ u'\u05da' # 0x008a -> HEBREW LETTER FINAL KAF
+ u'\u05db' # 0x008b -> HEBREW LETTER KAF
+ u'\u05dc' # 0x008c -> HEBREW LETTER LAMED
+ u'\u05dd' # 0x008d -> HEBREW LETTER FINAL MEM
+ u'\u05de' # 0x008e -> HEBREW LETTER MEM
+ u'\u05df' # 0x008f -> HEBREW LETTER FINAL NUN
+ u'\u05e0' # 0x0090 -> HEBREW LETTER NUN
+ u'\u05e1' # 0x0091 -> HEBREW LETTER SAMEKH
+ u'\u05e2' # 0x0092 -> HEBREW LETTER AYIN
+ u'\u05e3' # 0x0093 -> HEBREW LETTER FINAL PE
+ u'\u05e4' # 0x0094 -> HEBREW LETTER PE
+ u'\u05e5' # 0x0095 -> HEBREW LETTER FINAL TSADI
+ u'\u05e6' # 0x0096 -> HEBREW LETTER TSADI
+ u'\u05e7' # 0x0097 -> HEBREW LETTER QOF
+ u'\u05e8' # 0x0098 -> HEBREW LETTER RESH
+ u'\u05e9' # 0x0099 -> HEBREW LETTER SHIN
+ u'\u05ea' # 0x009a -> HEBREW LETTER TAV
+ u'\xa2' # 0x009b -> CENT SIGN
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xa5' # 0x009d -> YEN SIGN
+ u'\u20a7' # 0x009e -> PESETA SIGN
+ u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S (GERMAN)
+ u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
+ u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
+ u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
+ u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
+ u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
+ u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
+ u'\u221e' # 0x00ec -> INFINITY
+ u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
+ u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
+ u'\u2229' # 0x00ef -> INTERSECTION
+ u'\u2261' # 0x00f0 -> IDENTICAL TO
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
+ u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a2: 0x009b, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a5: 0x009d, # YEN SIGN
- 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S (GERMAN)
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
- 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
- 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
- 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
- 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
- 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
- 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
- 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
- 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
- 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
- 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
- 0x05d0: 0x0080, # HEBREW LETTER ALEF
- 0x05d1: 0x0081, # HEBREW LETTER BET
- 0x05d2: 0x0082, # HEBREW LETTER GIMEL
- 0x05d3: 0x0083, # HEBREW LETTER DALET
- 0x05d4: 0x0084, # HEBREW LETTER HE
- 0x05d5: 0x0085, # HEBREW LETTER VAV
- 0x05d6: 0x0086, # HEBREW LETTER ZAYIN
- 0x05d7: 0x0087, # HEBREW LETTER HET
- 0x05d8: 0x0088, # HEBREW LETTER TET
- 0x05d9: 0x0089, # HEBREW LETTER YOD
- 0x05da: 0x008a, # HEBREW LETTER FINAL KAF
- 0x05db: 0x008b, # HEBREW LETTER KAF
- 0x05dc: 0x008c, # HEBREW LETTER LAMED
- 0x05dd: 0x008d, # HEBREW LETTER FINAL MEM
- 0x05de: 0x008e, # HEBREW LETTER MEM
- 0x05df: 0x008f, # HEBREW LETTER FINAL NUN
- 0x05e0: 0x0090, # HEBREW LETTER NUN
- 0x05e1: 0x0091, # HEBREW LETTER SAMEKH
- 0x05e2: 0x0092, # HEBREW LETTER AYIN
- 0x05e3: 0x0093, # HEBREW LETTER FINAL PE
- 0x05e4: 0x0094, # HEBREW LETTER PE
- 0x05e5: 0x0095, # HEBREW LETTER FINAL TSADI
- 0x05e6: 0x0096, # HEBREW LETTER TSADI
- 0x05e7: 0x0097, # HEBREW LETTER QOF
- 0x05e8: 0x0098, # HEBREW LETTER RESH
- 0x05e9: 0x0099, # HEBREW LETTER SHIN
- 0x05ea: 0x009a, # HEBREW LETTER TAV
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x20a7: 0x009e, # PESETA SIGN
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x221e: 0x00ec, # INFINITY
- 0x2229: 0x00ef, # INTERSECTION
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2261: 0x00f0, # IDENTICAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2310: 0x00a9, # REVERSED NOT SIGN
- 0x2320: 0x00f4, # TOP HALF INTEGRAL
- 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a2: 0x009b, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a5: 0x009d, # YEN SIGN
+ 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S (GERMAN)
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
+ 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
+ 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
+ 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
+ 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
+ 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
+ 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
+ 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
+ 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
+ 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
+ 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
+ 0x05d0: 0x0080, # HEBREW LETTER ALEF
+ 0x05d1: 0x0081, # HEBREW LETTER BET
+ 0x05d2: 0x0082, # HEBREW LETTER GIMEL
+ 0x05d3: 0x0083, # HEBREW LETTER DALET
+ 0x05d4: 0x0084, # HEBREW LETTER HE
+ 0x05d5: 0x0085, # HEBREW LETTER VAV
+ 0x05d6: 0x0086, # HEBREW LETTER ZAYIN
+ 0x05d7: 0x0087, # HEBREW LETTER HET
+ 0x05d8: 0x0088, # HEBREW LETTER TET
+ 0x05d9: 0x0089, # HEBREW LETTER YOD
+ 0x05da: 0x008a, # HEBREW LETTER FINAL KAF
+ 0x05db: 0x008b, # HEBREW LETTER KAF
+ 0x05dc: 0x008c, # HEBREW LETTER LAMED
+ 0x05dd: 0x008d, # HEBREW LETTER FINAL MEM
+ 0x05de: 0x008e, # HEBREW LETTER MEM
+ 0x05df: 0x008f, # HEBREW LETTER FINAL NUN
+ 0x05e0: 0x0090, # HEBREW LETTER NUN
+ 0x05e1: 0x0091, # HEBREW LETTER SAMEKH
+ 0x05e2: 0x0092, # HEBREW LETTER AYIN
+ 0x05e3: 0x0093, # HEBREW LETTER FINAL PE
+ 0x05e4: 0x0094, # HEBREW LETTER PE
+ 0x05e5: 0x0095, # HEBREW LETTER FINAL TSADI
+ 0x05e6: 0x0096, # HEBREW LETTER TSADI
+ 0x05e7: 0x0097, # HEBREW LETTER QOF
+ 0x05e8: 0x0098, # HEBREW LETTER RESH
+ 0x05e9: 0x0099, # HEBREW LETTER SHIN
+ 0x05ea: 0x009a, # HEBREW LETTER TAV
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x20a7: 0x009e, # PESETA SIGN
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x221e: 0x00ec, # INFINITY
+ 0x2229: 0x00ef, # INTERSECTION
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2261: 0x00f0, # IDENTICAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2310: 0x00a9, # REVERSED NOT SIGN
+ 0x2320: 0x00f4, # TOP HALF INTEGRAL
+ 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp863.py b/Lib/encodings/cp863.py
index a19ff53..812bc3d 100644
--- a/Lib/encodings/cp863.py
+++ b/Lib/encodings/cp863.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00b6, # PILCROW SIGN
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x008d: 0x2017, # DOUBLE LOW LINE
- 0x008e: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x008f: 0x00a7, # SECTION SIGN
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x0092: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x0095: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x0098: 0x00a4, # CURRENCY SIGN
- 0x0099: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00a2, # CENT SIGN
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x009e: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
- 0x00a0: 0x00a6, # BROKEN BAR
- 0x00a1: 0x00b4, # ACUTE ACCENT
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00a8, # DIAERESIS
- 0x00a5: 0x00b8, # CEDILLA
- 0x00a6: 0x00b3, # SUPERSCRIPT THREE
- 0x00a7: 0x00af, # MACRON
- 0x00a8: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00a9: 0x2310, # REVERSED NOT SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00be, # VULGAR FRACTION THREE QUARTERS
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
- 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00ec: 0x221e, # INFINITY
- 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00ef: 0x2229, # INTERSECTION
- 0x00f0: 0x2261, # IDENTICAL TO
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x2320, # TOP HALF INTEGRAL
- 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00c2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00b6, # PILCROW SIGN
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x008d: 0x2017, # DOUBLE LOW LINE
+ 0x008e: 0x00c0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x008f: 0x00a7, # SECTION SIGN
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00c8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x0092: 0x00ca, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00cb, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x0095: 0x00cf, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x0098: 0x00a4, # CURRENCY SIGN
+ 0x0099: 0x00d4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00a2, # CENT SIGN
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x009e: 0x00db, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+ 0x00a0: 0x00a6, # BROKEN BAR
+ 0x00a1: 0x00b4, # ACUTE ACCENT
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00a8, # DIAERESIS
+ 0x00a5: 0x00b8, # CEDILLA
+ 0x00a6: 0x00b3, # SUPERSCRIPT THREE
+ 0x00a7: 0x00af, # MACRON
+ 0x00a8: 0x00ce, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00a9: 0x2310, # REVERSED NOT SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00be, # VULGAR FRACTION THREE QUARTERS
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00ec: 0x221e, # INFINITY
+ 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00ef: 0x2229, # INTERSECTION
+ 0x00f0: 0x2261, # IDENTICAL TO
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x2320, # TOP HALF INTEGRAL
+ 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xc2' # 0x0084 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xb6' # 0x0086 -> PILCROW SIGN
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\u2017' # 0x008d -> DOUBLE LOW LINE
- u'\xc0' # 0x008e -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xa7' # 0x008f -> SECTION SIGN
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xc8' # 0x0091 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xca' # 0x0092 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xcb' # 0x0094 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcf' # 0x0095 -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xa4' # 0x0098 -> CURRENCY SIGN
- u'\xd4' # 0x0099 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xa2' # 0x009b -> CENT SIGN
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd9' # 0x009d -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xdb' # 0x009e -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
- u'\xa6' # 0x00a0 -> BROKEN BAR
- u'\xb4' # 0x00a1 -> ACUTE ACCENT
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xa8' # 0x00a4 -> DIAERESIS
- u'\xb8' # 0x00a5 -> CEDILLA
- u'\xb3' # 0x00a6 -> SUPERSCRIPT THREE
- u'\xaf' # 0x00a7 -> MACRON
- u'\xce' # 0x00a8 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xbe' # 0x00ad -> VULGAR FRACTION THREE QUARTERS
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
- u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
- u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
- u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
- u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
- u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
- u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
- u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
- u'\u221e' # 0x00ec -> INFINITY
- u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
- u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
- u'\u2229' # 0x00ef -> INTERSECTION
- u'\u2261' # 0x00f0 -> IDENTICAL TO
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
- u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xc2' # 0x0084 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xb6' # 0x0086 -> PILCROW SIGN
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\u2017' # 0x008d -> DOUBLE LOW LINE
+ u'\xc0' # 0x008e -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xa7' # 0x008f -> SECTION SIGN
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xc8' # 0x0091 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xca' # 0x0092 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xcb' # 0x0094 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcf' # 0x0095 -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xa4' # 0x0098 -> CURRENCY SIGN
+ u'\xd4' # 0x0099 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xa2' # 0x009b -> CENT SIGN
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd9' # 0x009d -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xdb' # 0x009e -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
+ u'\xa6' # 0x00a0 -> BROKEN BAR
+ u'\xb4' # 0x00a1 -> ACUTE ACCENT
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xa8' # 0x00a4 -> DIAERESIS
+ u'\xb8' # 0x00a5 -> CEDILLA
+ u'\xb3' # 0x00a6 -> SUPERSCRIPT THREE
+ u'\xaf' # 0x00a7 -> MACRON
+ u'\xce' # 0x00a8 -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xbe' # 0x00ad -> VULGAR FRACTION THREE QUARTERS
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
+ u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
+ u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
+ u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
+ u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
+ u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
+ u'\u221e' # 0x00ec -> INFINITY
+ u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
+ u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
+ u'\u2229' # 0x00ef -> INTERSECTION
+ u'\u2261' # 0x00f0 -> IDENTICAL TO
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
+ u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a2: 0x009b, # CENT SIGN
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a4: 0x0098, # CURRENCY SIGN
- 0x00a6: 0x00a0, # BROKEN BAR
- 0x00a7: 0x008f, # SECTION SIGN
- 0x00a8: 0x00a4, # DIAERESIS
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00af: 0x00a7, # MACRON
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b3: 0x00a6, # SUPERSCRIPT THREE
- 0x00b4: 0x00a1, # ACUTE ACCENT
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b6: 0x0086, # PILCROW SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00b8: 0x00a5, # CEDILLA
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00be: 0x00ad, # VULGAR FRACTION THREE QUARTERS
- 0x00c0: 0x008e, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00c2: 0x0084, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c8: 0x0091, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00ca: 0x0092, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00cb: 0x0094, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00ce: 0x00a8, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00cf: 0x0095, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00d4: 0x0099, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00d9: 0x009d, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00db: 0x009e, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
- 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
- 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
- 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
- 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
- 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
- 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
- 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
- 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
- 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
- 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
- 0x2017: 0x008d, # DOUBLE LOW LINE
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x221e: 0x00ec, # INFINITY
- 0x2229: 0x00ef, # INTERSECTION
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2261: 0x00f0, # IDENTICAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2310: 0x00a9, # REVERSED NOT SIGN
- 0x2320: 0x00f4, # TOP HALF INTEGRAL
- 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a2: 0x009b, # CENT SIGN
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a4: 0x0098, # CURRENCY SIGN
+ 0x00a6: 0x00a0, # BROKEN BAR
+ 0x00a7: 0x008f, # SECTION SIGN
+ 0x00a8: 0x00a4, # DIAERESIS
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00af: 0x00a7, # MACRON
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b3: 0x00a6, # SUPERSCRIPT THREE
+ 0x00b4: 0x00a1, # ACUTE ACCENT
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b6: 0x0086, # PILCROW SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00b8: 0x00a5, # CEDILLA
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00be: 0x00ad, # VULGAR FRACTION THREE QUARTERS
+ 0x00c0: 0x008e, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00c2: 0x0084, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c8: 0x0091, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00ca: 0x0092, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00cb: 0x0094, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00ce: 0x00a8, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00cf: 0x0095, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00d4: 0x0099, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00d9: 0x009d, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00db: 0x009e, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
+ 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
+ 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
+ 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
+ 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
+ 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
+ 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
+ 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
+ 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
+ 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
+ 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
+ 0x2017: 0x008d, # DOUBLE LOW LINE
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x221e: 0x00ec, # INFINITY
+ 0x2229: 0x00ef, # INTERSECTION
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2261: 0x00f0, # IDENTICAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2310: 0x00a9, # REVERSED NOT SIGN
+ 0x2320: 0x00f4, # TOP HALF INTEGRAL
+ 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp864.py b/Lib/encodings/cp864.py
index 9480d50..41f2ea3 100644
--- a/Lib/encodings/cp864.py
+++ b/Lib/encodings/cp864.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,646 +32,646 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0025: 0x066a, # ARABIC PERCENT SIGN
- 0x0080: 0x00b0, # DEGREE SIGN
- 0x0081: 0x00b7, # MIDDLE DOT
- 0x0082: 0x2219, # BULLET OPERATOR
- 0x0083: 0x221a, # SQUARE ROOT
- 0x0084: 0x2592, # MEDIUM SHADE
- 0x0085: 0x2500, # FORMS LIGHT HORIZONTAL
- 0x0086: 0x2502, # FORMS LIGHT VERTICAL
- 0x0087: 0x253c, # FORMS LIGHT VERTICAL AND HORIZONTAL
- 0x0088: 0x2524, # FORMS LIGHT VERTICAL AND LEFT
- 0x0089: 0x252c, # FORMS LIGHT DOWN AND HORIZONTAL
- 0x008a: 0x251c, # FORMS LIGHT VERTICAL AND RIGHT
- 0x008b: 0x2534, # FORMS LIGHT UP AND HORIZONTAL
- 0x008c: 0x2510, # FORMS LIGHT DOWN AND LEFT
- 0x008d: 0x250c, # FORMS LIGHT DOWN AND RIGHT
- 0x008e: 0x2514, # FORMS LIGHT UP AND RIGHT
- 0x008f: 0x2518, # FORMS LIGHT UP AND LEFT
- 0x0090: 0x03b2, # GREEK SMALL BETA
- 0x0091: 0x221e, # INFINITY
- 0x0092: 0x03c6, # GREEK SMALL PHI
- 0x0093: 0x00b1, # PLUS-OR-MINUS SIGN
- 0x0094: 0x00bd, # FRACTION 1/2
- 0x0095: 0x00bc, # FRACTION 1/4
- 0x0096: 0x2248, # ALMOST EQUAL TO
- 0x0097: 0x00ab, # LEFT POINTING GUILLEMET
- 0x0098: 0x00bb, # RIGHT POINTING GUILLEMET
- 0x0099: 0xfef7, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
- 0x009a: 0xfef8, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
- 0x009b: None, # UNDEFINED
- 0x009c: None, # UNDEFINED
- 0x009d: 0xfefb, # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
- 0x009e: 0xfefc, # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
- 0x009f: None, # UNDEFINED
- 0x00a1: 0x00ad, # SOFT HYPHEN
- 0x00a2: 0xfe82, # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
- 0x00a5: 0xfe84, # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
- 0x00a6: None, # UNDEFINED
- 0x00a7: None, # UNDEFINED
- 0x00a8: 0xfe8e, # ARABIC LETTER ALEF FINAL FORM
- 0x00a9: 0xfe8f, # ARABIC LETTER BEH ISOLATED FORM
- 0x00aa: 0xfe95, # ARABIC LETTER TEH ISOLATED FORM
- 0x00ab: 0xfe99, # ARABIC LETTER THEH ISOLATED FORM
- 0x00ac: 0x060c, # ARABIC COMMA
- 0x00ad: 0xfe9d, # ARABIC LETTER JEEM ISOLATED FORM
- 0x00ae: 0xfea1, # ARABIC LETTER HAH ISOLATED FORM
- 0x00af: 0xfea5, # ARABIC LETTER KHAH ISOLATED FORM
- 0x00b0: 0x0660, # ARABIC-INDIC DIGIT ZERO
- 0x00b1: 0x0661, # ARABIC-INDIC DIGIT ONE
- 0x00b2: 0x0662, # ARABIC-INDIC DIGIT TWO
- 0x00b3: 0x0663, # ARABIC-INDIC DIGIT THREE
- 0x00b4: 0x0664, # ARABIC-INDIC DIGIT FOUR
- 0x00b5: 0x0665, # ARABIC-INDIC DIGIT FIVE
- 0x00b6: 0x0666, # ARABIC-INDIC DIGIT SIX
- 0x00b7: 0x0667, # ARABIC-INDIC DIGIT SEVEN
- 0x00b8: 0x0668, # ARABIC-INDIC DIGIT EIGHT
- 0x00b9: 0x0669, # ARABIC-INDIC DIGIT NINE
- 0x00ba: 0xfed1, # ARABIC LETTER FEH ISOLATED FORM
- 0x00bb: 0x061b, # ARABIC SEMICOLON
- 0x00bc: 0xfeb1, # ARABIC LETTER SEEN ISOLATED FORM
- 0x00bd: 0xfeb5, # ARABIC LETTER SHEEN ISOLATED FORM
- 0x00be: 0xfeb9, # ARABIC LETTER SAD ISOLATED FORM
- 0x00bf: 0x061f, # ARABIC QUESTION MARK
- 0x00c0: 0x00a2, # CENT SIGN
- 0x00c1: 0xfe80, # ARABIC LETTER HAMZA ISOLATED FORM
- 0x00c2: 0xfe81, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
- 0x00c3: 0xfe83, # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
- 0x00c4: 0xfe85, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
- 0x00c5: 0xfeca, # ARABIC LETTER AIN FINAL FORM
- 0x00c6: 0xfe8b, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
- 0x00c7: 0xfe8d, # ARABIC LETTER ALEF ISOLATED FORM
- 0x00c8: 0xfe91, # ARABIC LETTER BEH INITIAL FORM
- 0x00c9: 0xfe93, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
- 0x00ca: 0xfe97, # ARABIC LETTER TEH INITIAL FORM
- 0x00cb: 0xfe9b, # ARABIC LETTER THEH INITIAL FORM
- 0x00cc: 0xfe9f, # ARABIC LETTER JEEM INITIAL FORM
- 0x00cd: 0xfea3, # ARABIC LETTER HAH INITIAL FORM
- 0x00ce: 0xfea7, # ARABIC LETTER KHAH INITIAL FORM
- 0x00cf: 0xfea9, # ARABIC LETTER DAL ISOLATED FORM
- 0x00d0: 0xfeab, # ARABIC LETTER THAL ISOLATED FORM
- 0x00d1: 0xfead, # ARABIC LETTER REH ISOLATED FORM
- 0x00d2: 0xfeaf, # ARABIC LETTER ZAIN ISOLATED FORM
- 0x00d3: 0xfeb3, # ARABIC LETTER SEEN INITIAL FORM
- 0x00d4: 0xfeb7, # ARABIC LETTER SHEEN INITIAL FORM
- 0x00d5: 0xfebb, # ARABIC LETTER SAD INITIAL FORM
- 0x00d6: 0xfebf, # ARABIC LETTER DAD INITIAL FORM
- 0x00d7: 0xfec1, # ARABIC LETTER TAH ISOLATED FORM
- 0x00d8: 0xfec5, # ARABIC LETTER ZAH ISOLATED FORM
- 0x00d9: 0xfecb, # ARABIC LETTER AIN INITIAL FORM
- 0x00da: 0xfecf, # ARABIC LETTER GHAIN INITIAL FORM
- 0x00db: 0x00a6, # BROKEN VERTICAL BAR
- 0x00dc: 0x00ac, # NOT SIGN
- 0x00dd: 0x00f7, # DIVISION SIGN
- 0x00de: 0x00d7, # MULTIPLICATION SIGN
- 0x00df: 0xfec9, # ARABIC LETTER AIN ISOLATED FORM
- 0x00e0: 0x0640, # ARABIC TATWEEL
- 0x00e1: 0xfed3, # ARABIC LETTER FEH INITIAL FORM
- 0x00e2: 0xfed7, # ARABIC LETTER QAF INITIAL FORM
- 0x00e3: 0xfedb, # ARABIC LETTER KAF INITIAL FORM
- 0x00e4: 0xfedf, # ARABIC LETTER LAM INITIAL FORM
- 0x00e5: 0xfee3, # ARABIC LETTER MEEM INITIAL FORM
- 0x00e6: 0xfee7, # ARABIC LETTER NOON INITIAL FORM
- 0x00e7: 0xfeeb, # ARABIC LETTER HEH INITIAL FORM
- 0x00e8: 0xfeed, # ARABIC LETTER WAW ISOLATED FORM
- 0x00e9: 0xfeef, # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
- 0x00ea: 0xfef3, # ARABIC LETTER YEH INITIAL FORM
- 0x00eb: 0xfebd, # ARABIC LETTER DAD ISOLATED FORM
- 0x00ec: 0xfecc, # ARABIC LETTER AIN MEDIAL FORM
- 0x00ed: 0xfece, # ARABIC LETTER GHAIN FINAL FORM
- 0x00ee: 0xfecd, # ARABIC LETTER GHAIN ISOLATED FORM
- 0x00ef: 0xfee1, # ARABIC LETTER MEEM ISOLATED FORM
- 0x00f0: 0xfe7d, # ARABIC SHADDA MEDIAL FORM
- 0x00f1: 0x0651, # ARABIC SHADDAH
- 0x00f2: 0xfee5, # ARABIC LETTER NOON ISOLATED FORM
- 0x00f3: 0xfee9, # ARABIC LETTER HEH ISOLATED FORM
- 0x00f4: 0xfeec, # ARABIC LETTER HEH MEDIAL FORM
- 0x00f5: 0xfef0, # ARABIC LETTER ALEF MAKSURA FINAL FORM
- 0x00f6: 0xfef2, # ARABIC LETTER YEH FINAL FORM
- 0x00f7: 0xfed0, # ARABIC LETTER GHAIN MEDIAL FORM
- 0x00f8: 0xfed5, # ARABIC LETTER QAF ISOLATED FORM
- 0x00f9: 0xfef5, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
- 0x00fa: 0xfef6, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
- 0x00fb: 0xfedd, # ARABIC LETTER LAM ISOLATED FORM
- 0x00fc: 0xfed9, # ARABIC LETTER KAF ISOLATED FORM
- 0x00fd: 0xfef1, # ARABIC LETTER YEH ISOLATED FORM
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: None, # UNDEFINED
+ 0x0025: 0x066a, # ARABIC PERCENT SIGN
+ 0x0080: 0x00b0, # DEGREE SIGN
+ 0x0081: 0x00b7, # MIDDLE DOT
+ 0x0082: 0x2219, # BULLET OPERATOR
+ 0x0083: 0x221a, # SQUARE ROOT
+ 0x0084: 0x2592, # MEDIUM SHADE
+ 0x0085: 0x2500, # FORMS LIGHT HORIZONTAL
+ 0x0086: 0x2502, # FORMS LIGHT VERTICAL
+ 0x0087: 0x253c, # FORMS LIGHT VERTICAL AND HORIZONTAL
+ 0x0088: 0x2524, # FORMS LIGHT VERTICAL AND LEFT
+ 0x0089: 0x252c, # FORMS LIGHT DOWN AND HORIZONTAL
+ 0x008a: 0x251c, # FORMS LIGHT VERTICAL AND RIGHT
+ 0x008b: 0x2534, # FORMS LIGHT UP AND HORIZONTAL
+ 0x008c: 0x2510, # FORMS LIGHT DOWN AND LEFT
+ 0x008d: 0x250c, # FORMS LIGHT DOWN AND RIGHT
+ 0x008e: 0x2514, # FORMS LIGHT UP AND RIGHT
+ 0x008f: 0x2518, # FORMS LIGHT UP AND LEFT
+ 0x0090: 0x03b2, # GREEK SMALL BETA
+ 0x0091: 0x221e, # INFINITY
+ 0x0092: 0x03c6, # GREEK SMALL PHI
+ 0x0093: 0x00b1, # PLUS-OR-MINUS SIGN
+ 0x0094: 0x00bd, # FRACTION 1/2
+ 0x0095: 0x00bc, # FRACTION 1/4
+ 0x0096: 0x2248, # ALMOST EQUAL TO
+ 0x0097: 0x00ab, # LEFT POINTING GUILLEMET
+ 0x0098: 0x00bb, # RIGHT POINTING GUILLEMET
+ 0x0099: 0xfef7, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+ 0x009a: 0xfef8, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+ 0x009b: None, # UNDEFINED
+ 0x009c: None, # UNDEFINED
+ 0x009d: 0xfefb, # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+ 0x009e: 0xfefc, # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+ 0x009f: None, # UNDEFINED
+ 0x00a1: 0x00ad, # SOFT HYPHEN
+ 0x00a2: 0xfe82, # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+ 0x00a5: 0xfe84, # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+ 0x00a6: None, # UNDEFINED
+ 0x00a7: None, # UNDEFINED
+ 0x00a8: 0xfe8e, # ARABIC LETTER ALEF FINAL FORM
+ 0x00a9: 0xfe8f, # ARABIC LETTER BEH ISOLATED FORM
+ 0x00aa: 0xfe95, # ARABIC LETTER TEH ISOLATED FORM
+ 0x00ab: 0xfe99, # ARABIC LETTER THEH ISOLATED FORM
+ 0x00ac: 0x060c, # ARABIC COMMA
+ 0x00ad: 0xfe9d, # ARABIC LETTER JEEM ISOLATED FORM
+ 0x00ae: 0xfea1, # ARABIC LETTER HAH ISOLATED FORM
+ 0x00af: 0xfea5, # ARABIC LETTER KHAH ISOLATED FORM
+ 0x00b0: 0x0660, # ARABIC-INDIC DIGIT ZERO
+ 0x00b1: 0x0661, # ARABIC-INDIC DIGIT ONE
+ 0x00b2: 0x0662, # ARABIC-INDIC DIGIT TWO
+ 0x00b3: 0x0663, # ARABIC-INDIC DIGIT THREE
+ 0x00b4: 0x0664, # ARABIC-INDIC DIGIT FOUR
+ 0x00b5: 0x0665, # ARABIC-INDIC DIGIT FIVE
+ 0x00b6: 0x0666, # ARABIC-INDIC DIGIT SIX
+ 0x00b7: 0x0667, # ARABIC-INDIC DIGIT SEVEN
+ 0x00b8: 0x0668, # ARABIC-INDIC DIGIT EIGHT
+ 0x00b9: 0x0669, # ARABIC-INDIC DIGIT NINE
+ 0x00ba: 0xfed1, # ARABIC LETTER FEH ISOLATED FORM
+ 0x00bb: 0x061b, # ARABIC SEMICOLON
+ 0x00bc: 0xfeb1, # ARABIC LETTER SEEN ISOLATED FORM
+ 0x00bd: 0xfeb5, # ARABIC LETTER SHEEN ISOLATED FORM
+ 0x00be: 0xfeb9, # ARABIC LETTER SAD ISOLATED FORM
+ 0x00bf: 0x061f, # ARABIC QUESTION MARK
+ 0x00c0: 0x00a2, # CENT SIGN
+ 0x00c1: 0xfe80, # ARABIC LETTER HAMZA ISOLATED FORM
+ 0x00c2: 0xfe81, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+ 0x00c3: 0xfe83, # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+ 0x00c4: 0xfe85, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+ 0x00c5: 0xfeca, # ARABIC LETTER AIN FINAL FORM
+ 0x00c6: 0xfe8b, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+ 0x00c7: 0xfe8d, # ARABIC LETTER ALEF ISOLATED FORM
+ 0x00c8: 0xfe91, # ARABIC LETTER BEH INITIAL FORM
+ 0x00c9: 0xfe93, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+ 0x00ca: 0xfe97, # ARABIC LETTER TEH INITIAL FORM
+ 0x00cb: 0xfe9b, # ARABIC LETTER THEH INITIAL FORM
+ 0x00cc: 0xfe9f, # ARABIC LETTER JEEM INITIAL FORM
+ 0x00cd: 0xfea3, # ARABIC LETTER HAH INITIAL FORM
+ 0x00ce: 0xfea7, # ARABIC LETTER KHAH INITIAL FORM
+ 0x00cf: 0xfea9, # ARABIC LETTER DAL ISOLATED FORM
+ 0x00d0: 0xfeab, # ARABIC LETTER THAL ISOLATED FORM
+ 0x00d1: 0xfead, # ARABIC LETTER REH ISOLATED FORM
+ 0x00d2: 0xfeaf, # ARABIC LETTER ZAIN ISOLATED FORM
+ 0x00d3: 0xfeb3, # ARABIC LETTER SEEN INITIAL FORM
+ 0x00d4: 0xfeb7, # ARABIC LETTER SHEEN INITIAL FORM
+ 0x00d5: 0xfebb, # ARABIC LETTER SAD INITIAL FORM
+ 0x00d6: 0xfebf, # ARABIC LETTER DAD INITIAL FORM
+ 0x00d7: 0xfec1, # ARABIC LETTER TAH ISOLATED FORM
+ 0x00d8: 0xfec5, # ARABIC LETTER ZAH ISOLATED FORM
+ 0x00d9: 0xfecb, # ARABIC LETTER AIN INITIAL FORM
+ 0x00da: 0xfecf, # ARABIC LETTER GHAIN INITIAL FORM
+ 0x00db: 0x00a6, # BROKEN VERTICAL BAR
+ 0x00dc: 0x00ac, # NOT SIGN
+ 0x00dd: 0x00f7, # DIVISION SIGN
+ 0x00de: 0x00d7, # MULTIPLICATION SIGN
+ 0x00df: 0xfec9, # ARABIC LETTER AIN ISOLATED FORM
+ 0x00e0: 0x0640, # ARABIC TATWEEL
+ 0x00e1: 0xfed3, # ARABIC LETTER FEH INITIAL FORM
+ 0x00e2: 0xfed7, # ARABIC LETTER QAF INITIAL FORM
+ 0x00e3: 0xfedb, # ARABIC LETTER KAF INITIAL FORM
+ 0x00e4: 0xfedf, # ARABIC LETTER LAM INITIAL FORM
+ 0x00e5: 0xfee3, # ARABIC LETTER MEEM INITIAL FORM
+ 0x00e6: 0xfee7, # ARABIC LETTER NOON INITIAL FORM
+ 0x00e7: 0xfeeb, # ARABIC LETTER HEH INITIAL FORM
+ 0x00e8: 0xfeed, # ARABIC LETTER WAW ISOLATED FORM
+ 0x00e9: 0xfeef, # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+ 0x00ea: 0xfef3, # ARABIC LETTER YEH INITIAL FORM
+ 0x00eb: 0xfebd, # ARABIC LETTER DAD ISOLATED FORM
+ 0x00ec: 0xfecc, # ARABIC LETTER AIN MEDIAL FORM
+ 0x00ed: 0xfece, # ARABIC LETTER GHAIN FINAL FORM
+ 0x00ee: 0xfecd, # ARABIC LETTER GHAIN ISOLATED FORM
+ 0x00ef: 0xfee1, # ARABIC LETTER MEEM ISOLATED FORM
+ 0x00f0: 0xfe7d, # ARABIC SHADDA MEDIAL FORM
+ 0x00f1: 0x0651, # ARABIC SHADDAH
+ 0x00f2: 0xfee5, # ARABIC LETTER NOON ISOLATED FORM
+ 0x00f3: 0xfee9, # ARABIC LETTER HEH ISOLATED FORM
+ 0x00f4: 0xfeec, # ARABIC LETTER HEH MEDIAL FORM
+ 0x00f5: 0xfef0, # ARABIC LETTER ALEF MAKSURA FINAL FORM
+ 0x00f6: 0xfef2, # ARABIC LETTER YEH FINAL FORM
+ 0x00f7: 0xfed0, # ARABIC LETTER GHAIN MEDIAL FORM
+ 0x00f8: 0xfed5, # ARABIC LETTER QAF ISOLATED FORM
+ 0x00f9: 0xfef5, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+ 0x00fa: 0xfef6, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+ 0x00fb: 0xfedd, # ARABIC LETTER LAM ISOLATED FORM
+ 0x00fc: 0xfed9, # ARABIC LETTER KAF ISOLATED FORM
+ 0x00fd: 0xfef1, # ARABIC LETTER YEH ISOLATED FORM
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: None, # UNDEFINED
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'\u066a' # 0x0025 -> ARABIC PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xb0' # 0x0080 -> DEGREE SIGN
- u'\xb7' # 0x0081 -> MIDDLE DOT
- u'\u2219' # 0x0082 -> BULLET OPERATOR
- u'\u221a' # 0x0083 -> SQUARE ROOT
- u'\u2592' # 0x0084 -> MEDIUM SHADE
- u'\u2500' # 0x0085 -> FORMS LIGHT HORIZONTAL
- u'\u2502' # 0x0086 -> FORMS LIGHT VERTICAL
- u'\u253c' # 0x0087 -> FORMS LIGHT VERTICAL AND HORIZONTAL
- u'\u2524' # 0x0088 -> FORMS LIGHT VERTICAL AND LEFT
- u'\u252c' # 0x0089 -> FORMS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x008a -> FORMS LIGHT VERTICAL AND RIGHT
- u'\u2534' # 0x008b -> FORMS LIGHT UP AND HORIZONTAL
- u'\u2510' # 0x008c -> FORMS LIGHT DOWN AND LEFT
- u'\u250c' # 0x008d -> FORMS LIGHT DOWN AND RIGHT
- u'\u2514' # 0x008e -> FORMS LIGHT UP AND RIGHT
- u'\u2518' # 0x008f -> FORMS LIGHT UP AND LEFT
- u'\u03b2' # 0x0090 -> GREEK SMALL BETA
- u'\u221e' # 0x0091 -> INFINITY
- u'\u03c6' # 0x0092 -> GREEK SMALL PHI
- u'\xb1' # 0x0093 -> PLUS-OR-MINUS SIGN
- u'\xbd' # 0x0094 -> FRACTION 1/2
- u'\xbc' # 0x0095 -> FRACTION 1/4
- u'\u2248' # 0x0096 -> ALMOST EQUAL TO
- u'\xab' # 0x0097 -> LEFT POINTING GUILLEMET
- u'\xbb' # 0x0098 -> RIGHT POINTING GUILLEMET
- u'\ufef7' # 0x0099 -> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
- u'\ufef8' # 0x009a -> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
- u'\ufffe' # 0x009b -> UNDEFINED
- u'\ufffe' # 0x009c -> UNDEFINED
- u'\ufefb' # 0x009d -> ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
- u'\ufefc' # 0x009e -> ARABIC LIGATURE LAM WITH ALEF FINAL FORM
- u'\ufffe' # 0x009f -> UNDEFINED
- u'\xa0' # 0x00a0 -> NON-BREAKING SPACE
- u'\xad' # 0x00a1 -> SOFT HYPHEN
- u'\ufe82' # 0x00a2 -> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
- u'\xa3' # 0x00a3 -> POUND SIGN
- u'\xa4' # 0x00a4 -> CURRENCY SIGN
- u'\ufe84' # 0x00a5 -> ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
- u'\ufffe' # 0x00a6 -> UNDEFINED
- u'\ufffe' # 0x00a7 -> UNDEFINED
- u'\ufe8e' # 0x00a8 -> ARABIC LETTER ALEF FINAL FORM
- u'\ufe8f' # 0x00a9 -> ARABIC LETTER BEH ISOLATED FORM
- u'\ufe95' # 0x00aa -> ARABIC LETTER TEH ISOLATED FORM
- u'\ufe99' # 0x00ab -> ARABIC LETTER THEH ISOLATED FORM
- u'\u060c' # 0x00ac -> ARABIC COMMA
- u'\ufe9d' # 0x00ad -> ARABIC LETTER JEEM ISOLATED FORM
- u'\ufea1' # 0x00ae -> ARABIC LETTER HAH ISOLATED FORM
- u'\ufea5' # 0x00af -> ARABIC LETTER KHAH ISOLATED FORM
- u'\u0660' # 0x00b0 -> ARABIC-INDIC DIGIT ZERO
- u'\u0661' # 0x00b1 -> ARABIC-INDIC DIGIT ONE
- u'\u0662' # 0x00b2 -> ARABIC-INDIC DIGIT TWO
- u'\u0663' # 0x00b3 -> ARABIC-INDIC DIGIT THREE
- u'\u0664' # 0x00b4 -> ARABIC-INDIC DIGIT FOUR
- u'\u0665' # 0x00b5 -> ARABIC-INDIC DIGIT FIVE
- u'\u0666' # 0x00b6 -> ARABIC-INDIC DIGIT SIX
- u'\u0667' # 0x00b7 -> ARABIC-INDIC DIGIT SEVEN
- u'\u0668' # 0x00b8 -> ARABIC-INDIC DIGIT EIGHT
- u'\u0669' # 0x00b9 -> ARABIC-INDIC DIGIT NINE
- u'\ufed1' # 0x00ba -> ARABIC LETTER FEH ISOLATED FORM
- u'\u061b' # 0x00bb -> ARABIC SEMICOLON
- u'\ufeb1' # 0x00bc -> ARABIC LETTER SEEN ISOLATED FORM
- u'\ufeb5' # 0x00bd -> ARABIC LETTER SHEEN ISOLATED FORM
- u'\ufeb9' # 0x00be -> ARABIC LETTER SAD ISOLATED FORM
- u'\u061f' # 0x00bf -> ARABIC QUESTION MARK
- u'\xa2' # 0x00c0 -> CENT SIGN
- u'\ufe80' # 0x00c1 -> ARABIC LETTER HAMZA ISOLATED FORM
- u'\ufe81' # 0x00c2 -> ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
- u'\ufe83' # 0x00c3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
- u'\ufe85' # 0x00c4 -> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
- u'\ufeca' # 0x00c5 -> ARABIC LETTER AIN FINAL FORM
- u'\ufe8b' # 0x00c6 -> ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
- u'\ufe8d' # 0x00c7 -> ARABIC LETTER ALEF ISOLATED FORM
- u'\ufe91' # 0x00c8 -> ARABIC LETTER BEH INITIAL FORM
- u'\ufe93' # 0x00c9 -> ARABIC LETTER TEH MARBUTA ISOLATED FORM
- u'\ufe97' # 0x00ca -> ARABIC LETTER TEH INITIAL FORM
- u'\ufe9b' # 0x00cb -> ARABIC LETTER THEH INITIAL FORM
- u'\ufe9f' # 0x00cc -> ARABIC LETTER JEEM INITIAL FORM
- u'\ufea3' # 0x00cd -> ARABIC LETTER HAH INITIAL FORM
- u'\ufea7' # 0x00ce -> ARABIC LETTER KHAH INITIAL FORM
- u'\ufea9' # 0x00cf -> ARABIC LETTER DAL ISOLATED FORM
- u'\ufeab' # 0x00d0 -> ARABIC LETTER THAL ISOLATED FORM
- u'\ufead' # 0x00d1 -> ARABIC LETTER REH ISOLATED FORM
- u'\ufeaf' # 0x00d2 -> ARABIC LETTER ZAIN ISOLATED FORM
- u'\ufeb3' # 0x00d3 -> ARABIC LETTER SEEN INITIAL FORM
- u'\ufeb7' # 0x00d4 -> ARABIC LETTER SHEEN INITIAL FORM
- u'\ufebb' # 0x00d5 -> ARABIC LETTER SAD INITIAL FORM
- u'\ufebf' # 0x00d6 -> ARABIC LETTER DAD INITIAL FORM
- u'\ufec1' # 0x00d7 -> ARABIC LETTER TAH ISOLATED FORM
- u'\ufec5' # 0x00d8 -> ARABIC LETTER ZAH ISOLATED FORM
- u'\ufecb' # 0x00d9 -> ARABIC LETTER AIN INITIAL FORM
- u'\ufecf' # 0x00da -> ARABIC LETTER GHAIN INITIAL FORM
- u'\xa6' # 0x00db -> BROKEN VERTICAL BAR
- u'\xac' # 0x00dc -> NOT SIGN
- u'\xf7' # 0x00dd -> DIVISION SIGN
- u'\xd7' # 0x00de -> MULTIPLICATION SIGN
- u'\ufec9' # 0x00df -> ARABIC LETTER AIN ISOLATED FORM
- u'\u0640' # 0x00e0 -> ARABIC TATWEEL
- u'\ufed3' # 0x00e1 -> ARABIC LETTER FEH INITIAL FORM
- u'\ufed7' # 0x00e2 -> ARABIC LETTER QAF INITIAL FORM
- u'\ufedb' # 0x00e3 -> ARABIC LETTER KAF INITIAL FORM
- u'\ufedf' # 0x00e4 -> ARABIC LETTER LAM INITIAL FORM
- u'\ufee3' # 0x00e5 -> ARABIC LETTER MEEM INITIAL FORM
- u'\ufee7' # 0x00e6 -> ARABIC LETTER NOON INITIAL FORM
- u'\ufeeb' # 0x00e7 -> ARABIC LETTER HEH INITIAL FORM
- u'\ufeed' # 0x00e8 -> ARABIC LETTER WAW ISOLATED FORM
- u'\ufeef' # 0x00e9 -> ARABIC LETTER ALEF MAKSURA ISOLATED FORM
- u'\ufef3' # 0x00ea -> ARABIC LETTER YEH INITIAL FORM
- u'\ufebd' # 0x00eb -> ARABIC LETTER DAD ISOLATED FORM
- u'\ufecc' # 0x00ec -> ARABIC LETTER AIN MEDIAL FORM
- u'\ufece' # 0x00ed -> ARABIC LETTER GHAIN FINAL FORM
- u'\ufecd' # 0x00ee -> ARABIC LETTER GHAIN ISOLATED FORM
- u'\ufee1' # 0x00ef -> ARABIC LETTER MEEM ISOLATED FORM
- u'\ufe7d' # 0x00f0 -> ARABIC SHADDA MEDIAL FORM
- u'\u0651' # 0x00f1 -> ARABIC SHADDAH
- u'\ufee5' # 0x00f2 -> ARABIC LETTER NOON ISOLATED FORM
- u'\ufee9' # 0x00f3 -> ARABIC LETTER HEH ISOLATED FORM
- u'\ufeec' # 0x00f4 -> ARABIC LETTER HEH MEDIAL FORM
- u'\ufef0' # 0x00f5 -> ARABIC LETTER ALEF MAKSURA FINAL FORM
- u'\ufef2' # 0x00f6 -> ARABIC LETTER YEH FINAL FORM
- u'\ufed0' # 0x00f7 -> ARABIC LETTER GHAIN MEDIAL FORM
- u'\ufed5' # 0x00f8 -> ARABIC LETTER QAF ISOLATED FORM
- u'\ufef5' # 0x00f9 -> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
- u'\ufef6' # 0x00fa -> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
- u'\ufedd' # 0x00fb -> ARABIC LETTER LAM ISOLATED FORM
- u'\ufed9' # 0x00fc -> ARABIC LETTER KAF ISOLATED FORM
- u'\ufef1' # 0x00fd -> ARABIC LETTER YEH ISOLATED FORM
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\ufffe' # 0x00ff -> UNDEFINED
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'\u066a' # 0x0025 -> ARABIC PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xb0' # 0x0080 -> DEGREE SIGN
+ u'\xb7' # 0x0081 -> MIDDLE DOT
+ u'\u2219' # 0x0082 -> BULLET OPERATOR
+ u'\u221a' # 0x0083 -> SQUARE ROOT
+ u'\u2592' # 0x0084 -> MEDIUM SHADE
+ u'\u2500' # 0x0085 -> FORMS LIGHT HORIZONTAL
+ u'\u2502' # 0x0086 -> FORMS LIGHT VERTICAL
+ u'\u253c' # 0x0087 -> FORMS LIGHT VERTICAL AND HORIZONTAL
+ u'\u2524' # 0x0088 -> FORMS LIGHT VERTICAL AND LEFT
+ u'\u252c' # 0x0089 -> FORMS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x008a -> FORMS LIGHT VERTICAL AND RIGHT
+ u'\u2534' # 0x008b -> FORMS LIGHT UP AND HORIZONTAL
+ u'\u2510' # 0x008c -> FORMS LIGHT DOWN AND LEFT
+ u'\u250c' # 0x008d -> FORMS LIGHT DOWN AND RIGHT
+ u'\u2514' # 0x008e -> FORMS LIGHT UP AND RIGHT
+ u'\u2518' # 0x008f -> FORMS LIGHT UP AND LEFT
+ u'\u03b2' # 0x0090 -> GREEK SMALL BETA
+ u'\u221e' # 0x0091 -> INFINITY
+ u'\u03c6' # 0x0092 -> GREEK SMALL PHI
+ u'\xb1' # 0x0093 -> PLUS-OR-MINUS SIGN
+ u'\xbd' # 0x0094 -> FRACTION 1/2
+ u'\xbc' # 0x0095 -> FRACTION 1/4
+ u'\u2248' # 0x0096 -> ALMOST EQUAL TO
+ u'\xab' # 0x0097 -> LEFT POINTING GUILLEMET
+ u'\xbb' # 0x0098 -> RIGHT POINTING GUILLEMET
+ u'\ufef7' # 0x0099 -> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+ u'\ufef8' # 0x009a -> ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+ u'\ufffe' # 0x009b -> UNDEFINED
+ u'\ufffe' # 0x009c -> UNDEFINED
+ u'\ufefb' # 0x009d -> ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+ u'\ufefc' # 0x009e -> ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+ u'\ufffe' # 0x009f -> UNDEFINED
+ u'\xa0' # 0x00a0 -> NON-BREAKING SPACE
+ u'\xad' # 0x00a1 -> SOFT HYPHEN
+ u'\ufe82' # 0x00a2 -> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+ u'\xa3' # 0x00a3 -> POUND SIGN
+ u'\xa4' # 0x00a4 -> CURRENCY SIGN
+ u'\ufe84' # 0x00a5 -> ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+ u'\ufffe' # 0x00a6 -> UNDEFINED
+ u'\ufffe' # 0x00a7 -> UNDEFINED
+ u'\ufe8e' # 0x00a8 -> ARABIC LETTER ALEF FINAL FORM
+ u'\ufe8f' # 0x00a9 -> ARABIC LETTER BEH ISOLATED FORM
+ u'\ufe95' # 0x00aa -> ARABIC LETTER TEH ISOLATED FORM
+ u'\ufe99' # 0x00ab -> ARABIC LETTER THEH ISOLATED FORM
+ u'\u060c' # 0x00ac -> ARABIC COMMA
+ u'\ufe9d' # 0x00ad -> ARABIC LETTER JEEM ISOLATED FORM
+ u'\ufea1' # 0x00ae -> ARABIC LETTER HAH ISOLATED FORM
+ u'\ufea5' # 0x00af -> ARABIC LETTER KHAH ISOLATED FORM
+ u'\u0660' # 0x00b0 -> ARABIC-INDIC DIGIT ZERO
+ u'\u0661' # 0x00b1 -> ARABIC-INDIC DIGIT ONE
+ u'\u0662' # 0x00b2 -> ARABIC-INDIC DIGIT TWO
+ u'\u0663' # 0x00b3 -> ARABIC-INDIC DIGIT THREE
+ u'\u0664' # 0x00b4 -> ARABIC-INDIC DIGIT FOUR
+ u'\u0665' # 0x00b5 -> ARABIC-INDIC DIGIT FIVE
+ u'\u0666' # 0x00b6 -> ARABIC-INDIC DIGIT SIX
+ u'\u0667' # 0x00b7 -> ARABIC-INDIC DIGIT SEVEN
+ u'\u0668' # 0x00b8 -> ARABIC-INDIC DIGIT EIGHT
+ u'\u0669' # 0x00b9 -> ARABIC-INDIC DIGIT NINE
+ u'\ufed1' # 0x00ba -> ARABIC LETTER FEH ISOLATED FORM
+ u'\u061b' # 0x00bb -> ARABIC SEMICOLON
+ u'\ufeb1' # 0x00bc -> ARABIC LETTER SEEN ISOLATED FORM
+ u'\ufeb5' # 0x00bd -> ARABIC LETTER SHEEN ISOLATED FORM
+ u'\ufeb9' # 0x00be -> ARABIC LETTER SAD ISOLATED FORM
+ u'\u061f' # 0x00bf -> ARABIC QUESTION MARK
+ u'\xa2' # 0x00c0 -> CENT SIGN
+ u'\ufe80' # 0x00c1 -> ARABIC LETTER HAMZA ISOLATED FORM
+ u'\ufe81' # 0x00c2 -> ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+ u'\ufe83' # 0x00c3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+ u'\ufe85' # 0x00c4 -> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+ u'\ufeca' # 0x00c5 -> ARABIC LETTER AIN FINAL FORM
+ u'\ufe8b' # 0x00c6 -> ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+ u'\ufe8d' # 0x00c7 -> ARABIC LETTER ALEF ISOLATED FORM
+ u'\ufe91' # 0x00c8 -> ARABIC LETTER BEH INITIAL FORM
+ u'\ufe93' # 0x00c9 -> ARABIC LETTER TEH MARBUTA ISOLATED FORM
+ u'\ufe97' # 0x00ca -> ARABIC LETTER TEH INITIAL FORM
+ u'\ufe9b' # 0x00cb -> ARABIC LETTER THEH INITIAL FORM
+ u'\ufe9f' # 0x00cc -> ARABIC LETTER JEEM INITIAL FORM
+ u'\ufea3' # 0x00cd -> ARABIC LETTER HAH INITIAL FORM
+ u'\ufea7' # 0x00ce -> ARABIC LETTER KHAH INITIAL FORM
+ u'\ufea9' # 0x00cf -> ARABIC LETTER DAL ISOLATED FORM
+ u'\ufeab' # 0x00d0 -> ARABIC LETTER THAL ISOLATED FORM
+ u'\ufead' # 0x00d1 -> ARABIC LETTER REH ISOLATED FORM
+ u'\ufeaf' # 0x00d2 -> ARABIC LETTER ZAIN ISOLATED FORM
+ u'\ufeb3' # 0x00d3 -> ARABIC LETTER SEEN INITIAL FORM
+ u'\ufeb7' # 0x00d4 -> ARABIC LETTER SHEEN INITIAL FORM
+ u'\ufebb' # 0x00d5 -> ARABIC LETTER SAD INITIAL FORM
+ u'\ufebf' # 0x00d6 -> ARABIC LETTER DAD INITIAL FORM
+ u'\ufec1' # 0x00d7 -> ARABIC LETTER TAH ISOLATED FORM
+ u'\ufec5' # 0x00d8 -> ARABIC LETTER ZAH ISOLATED FORM
+ u'\ufecb' # 0x00d9 -> ARABIC LETTER AIN INITIAL FORM
+ u'\ufecf' # 0x00da -> ARABIC LETTER GHAIN INITIAL FORM
+ u'\xa6' # 0x00db -> BROKEN VERTICAL BAR
+ u'\xac' # 0x00dc -> NOT SIGN
+ u'\xf7' # 0x00dd -> DIVISION SIGN
+ u'\xd7' # 0x00de -> MULTIPLICATION SIGN
+ u'\ufec9' # 0x00df -> ARABIC LETTER AIN ISOLATED FORM
+ u'\u0640' # 0x00e0 -> ARABIC TATWEEL
+ u'\ufed3' # 0x00e1 -> ARABIC LETTER FEH INITIAL FORM
+ u'\ufed7' # 0x00e2 -> ARABIC LETTER QAF INITIAL FORM
+ u'\ufedb' # 0x00e3 -> ARABIC LETTER KAF INITIAL FORM
+ u'\ufedf' # 0x00e4 -> ARABIC LETTER LAM INITIAL FORM
+ u'\ufee3' # 0x00e5 -> ARABIC LETTER MEEM INITIAL FORM
+ u'\ufee7' # 0x00e6 -> ARABIC LETTER NOON INITIAL FORM
+ u'\ufeeb' # 0x00e7 -> ARABIC LETTER HEH INITIAL FORM
+ u'\ufeed' # 0x00e8 -> ARABIC LETTER WAW ISOLATED FORM
+ u'\ufeef' # 0x00e9 -> ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+ u'\ufef3' # 0x00ea -> ARABIC LETTER YEH INITIAL FORM
+ u'\ufebd' # 0x00eb -> ARABIC LETTER DAD ISOLATED FORM
+ u'\ufecc' # 0x00ec -> ARABIC LETTER AIN MEDIAL FORM
+ u'\ufece' # 0x00ed -> ARABIC LETTER GHAIN FINAL FORM
+ u'\ufecd' # 0x00ee -> ARABIC LETTER GHAIN ISOLATED FORM
+ u'\ufee1' # 0x00ef -> ARABIC LETTER MEEM ISOLATED FORM
+ u'\ufe7d' # 0x00f0 -> ARABIC SHADDA MEDIAL FORM
+ u'\u0651' # 0x00f1 -> ARABIC SHADDAH
+ u'\ufee5' # 0x00f2 -> ARABIC LETTER NOON ISOLATED FORM
+ u'\ufee9' # 0x00f3 -> ARABIC LETTER HEH ISOLATED FORM
+ u'\ufeec' # 0x00f4 -> ARABIC LETTER HEH MEDIAL FORM
+ u'\ufef0' # 0x00f5 -> ARABIC LETTER ALEF MAKSURA FINAL FORM
+ u'\ufef2' # 0x00f6 -> ARABIC LETTER YEH FINAL FORM
+ u'\ufed0' # 0x00f7 -> ARABIC LETTER GHAIN MEDIAL FORM
+ u'\ufed5' # 0x00f8 -> ARABIC LETTER QAF ISOLATED FORM
+ u'\ufef5' # 0x00f9 -> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+ u'\ufef6' # 0x00fa -> ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+ u'\ufedd' # 0x00fb -> ARABIC LETTER LAM ISOLATED FORM
+ u'\ufed9' # 0x00fc -> ARABIC LETTER KAF ISOLATED FORM
+ u'\ufef1' # 0x00fd -> ARABIC LETTER YEH ISOLATED FORM
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\ufffe' # 0x00ff -> UNDEFINED
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00a0, # NON-BREAKING SPACE
- 0x00a2: 0x00c0, # CENT SIGN
- 0x00a3: 0x00a3, # POUND SIGN
- 0x00a4: 0x00a4, # CURRENCY SIGN
- 0x00a6: 0x00db, # BROKEN VERTICAL BAR
- 0x00ab: 0x0097, # LEFT POINTING GUILLEMET
- 0x00ac: 0x00dc, # NOT SIGN
- 0x00ad: 0x00a1, # SOFT HYPHEN
- 0x00b0: 0x0080, # DEGREE SIGN
- 0x00b1: 0x0093, # PLUS-OR-MINUS SIGN
- 0x00b7: 0x0081, # MIDDLE DOT
- 0x00bb: 0x0098, # RIGHT POINTING GUILLEMET
- 0x00bc: 0x0095, # FRACTION 1/4
- 0x00bd: 0x0094, # FRACTION 1/2
- 0x00d7: 0x00de, # MULTIPLICATION SIGN
- 0x00f7: 0x00dd, # DIVISION SIGN
- 0x03b2: 0x0090, # GREEK SMALL BETA
- 0x03c6: 0x0092, # GREEK SMALL PHI
- 0x060c: 0x00ac, # ARABIC COMMA
- 0x061b: 0x00bb, # ARABIC SEMICOLON
- 0x061f: 0x00bf, # ARABIC QUESTION MARK
- 0x0640: 0x00e0, # ARABIC TATWEEL
- 0x0651: 0x00f1, # ARABIC SHADDAH
- 0x0660: 0x00b0, # ARABIC-INDIC DIGIT ZERO
- 0x0661: 0x00b1, # ARABIC-INDIC DIGIT ONE
- 0x0662: 0x00b2, # ARABIC-INDIC DIGIT TWO
- 0x0663: 0x00b3, # ARABIC-INDIC DIGIT THREE
- 0x0664: 0x00b4, # ARABIC-INDIC DIGIT FOUR
- 0x0665: 0x00b5, # ARABIC-INDIC DIGIT FIVE
- 0x0666: 0x00b6, # ARABIC-INDIC DIGIT SIX
- 0x0667: 0x00b7, # ARABIC-INDIC DIGIT SEVEN
- 0x0668: 0x00b8, # ARABIC-INDIC DIGIT EIGHT
- 0x0669: 0x00b9, # ARABIC-INDIC DIGIT NINE
- 0x066a: 0x0025, # ARABIC PERCENT SIGN
- 0x2219: 0x0082, # BULLET OPERATOR
- 0x221a: 0x0083, # SQUARE ROOT
- 0x221e: 0x0091, # INFINITY
- 0x2248: 0x0096, # ALMOST EQUAL TO
- 0x2500: 0x0085, # FORMS LIGHT HORIZONTAL
- 0x2502: 0x0086, # FORMS LIGHT VERTICAL
- 0x250c: 0x008d, # FORMS LIGHT DOWN AND RIGHT
- 0x2510: 0x008c, # FORMS LIGHT DOWN AND LEFT
- 0x2514: 0x008e, # FORMS LIGHT UP AND RIGHT
- 0x2518: 0x008f, # FORMS LIGHT UP AND LEFT
- 0x251c: 0x008a, # FORMS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x0088, # FORMS LIGHT VERTICAL AND LEFT
- 0x252c: 0x0089, # FORMS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x008b, # FORMS LIGHT UP AND HORIZONTAL
- 0x253c: 0x0087, # FORMS LIGHT VERTICAL AND HORIZONTAL
- 0x2592: 0x0084, # MEDIUM SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
- 0xfe7d: 0x00f0, # ARABIC SHADDA MEDIAL FORM
- 0xfe80: 0x00c1, # ARABIC LETTER HAMZA ISOLATED FORM
- 0xfe81: 0x00c2, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
- 0xfe82: 0x00a2, # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
- 0xfe83: 0x00c3, # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
- 0xfe84: 0x00a5, # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
- 0xfe85: 0x00c4, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
- 0xfe8b: 0x00c6, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
- 0xfe8d: 0x00c7, # ARABIC LETTER ALEF ISOLATED FORM
- 0xfe8e: 0x00a8, # ARABIC LETTER ALEF FINAL FORM
- 0xfe8f: 0x00a9, # ARABIC LETTER BEH ISOLATED FORM
- 0xfe91: 0x00c8, # ARABIC LETTER BEH INITIAL FORM
- 0xfe93: 0x00c9, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
- 0xfe95: 0x00aa, # ARABIC LETTER TEH ISOLATED FORM
- 0xfe97: 0x00ca, # ARABIC LETTER TEH INITIAL FORM
- 0xfe99: 0x00ab, # ARABIC LETTER THEH ISOLATED FORM
- 0xfe9b: 0x00cb, # ARABIC LETTER THEH INITIAL FORM
- 0xfe9d: 0x00ad, # ARABIC LETTER JEEM ISOLATED FORM
- 0xfe9f: 0x00cc, # ARABIC LETTER JEEM INITIAL FORM
- 0xfea1: 0x00ae, # ARABIC LETTER HAH ISOLATED FORM
- 0xfea3: 0x00cd, # ARABIC LETTER HAH INITIAL FORM
- 0xfea5: 0x00af, # ARABIC LETTER KHAH ISOLATED FORM
- 0xfea7: 0x00ce, # ARABIC LETTER KHAH INITIAL FORM
- 0xfea9: 0x00cf, # ARABIC LETTER DAL ISOLATED FORM
- 0xfeab: 0x00d0, # ARABIC LETTER THAL ISOLATED FORM
- 0xfead: 0x00d1, # ARABIC LETTER REH ISOLATED FORM
- 0xfeaf: 0x00d2, # ARABIC LETTER ZAIN ISOLATED FORM
- 0xfeb1: 0x00bc, # ARABIC LETTER SEEN ISOLATED FORM
- 0xfeb3: 0x00d3, # ARABIC LETTER SEEN INITIAL FORM
- 0xfeb5: 0x00bd, # ARABIC LETTER SHEEN ISOLATED FORM
- 0xfeb7: 0x00d4, # ARABIC LETTER SHEEN INITIAL FORM
- 0xfeb9: 0x00be, # ARABIC LETTER SAD ISOLATED FORM
- 0xfebb: 0x00d5, # ARABIC LETTER SAD INITIAL FORM
- 0xfebd: 0x00eb, # ARABIC LETTER DAD ISOLATED FORM
- 0xfebf: 0x00d6, # ARABIC LETTER DAD INITIAL FORM
- 0xfec1: 0x00d7, # ARABIC LETTER TAH ISOLATED FORM
- 0xfec5: 0x00d8, # ARABIC LETTER ZAH ISOLATED FORM
- 0xfec9: 0x00df, # ARABIC LETTER AIN ISOLATED FORM
- 0xfeca: 0x00c5, # ARABIC LETTER AIN FINAL FORM
- 0xfecb: 0x00d9, # ARABIC LETTER AIN INITIAL FORM
- 0xfecc: 0x00ec, # ARABIC LETTER AIN MEDIAL FORM
- 0xfecd: 0x00ee, # ARABIC LETTER GHAIN ISOLATED FORM
- 0xfece: 0x00ed, # ARABIC LETTER GHAIN FINAL FORM
- 0xfecf: 0x00da, # ARABIC LETTER GHAIN INITIAL FORM
- 0xfed0: 0x00f7, # ARABIC LETTER GHAIN MEDIAL FORM
- 0xfed1: 0x00ba, # ARABIC LETTER FEH ISOLATED FORM
- 0xfed3: 0x00e1, # ARABIC LETTER FEH INITIAL FORM
- 0xfed5: 0x00f8, # ARABIC LETTER QAF ISOLATED FORM
- 0xfed7: 0x00e2, # ARABIC LETTER QAF INITIAL FORM
- 0xfed9: 0x00fc, # ARABIC LETTER KAF ISOLATED FORM
- 0xfedb: 0x00e3, # ARABIC LETTER KAF INITIAL FORM
- 0xfedd: 0x00fb, # ARABIC LETTER LAM ISOLATED FORM
- 0xfedf: 0x00e4, # ARABIC LETTER LAM INITIAL FORM
- 0xfee1: 0x00ef, # ARABIC LETTER MEEM ISOLATED FORM
- 0xfee3: 0x00e5, # ARABIC LETTER MEEM INITIAL FORM
- 0xfee5: 0x00f2, # ARABIC LETTER NOON ISOLATED FORM
- 0xfee7: 0x00e6, # ARABIC LETTER NOON INITIAL FORM
- 0xfee9: 0x00f3, # ARABIC LETTER HEH ISOLATED FORM
- 0xfeeb: 0x00e7, # ARABIC LETTER HEH INITIAL FORM
- 0xfeec: 0x00f4, # ARABIC LETTER HEH MEDIAL FORM
- 0xfeed: 0x00e8, # ARABIC LETTER WAW ISOLATED FORM
- 0xfeef: 0x00e9, # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
- 0xfef0: 0x00f5, # ARABIC LETTER ALEF MAKSURA FINAL FORM
- 0xfef1: 0x00fd, # ARABIC LETTER YEH ISOLATED FORM
- 0xfef2: 0x00f6, # ARABIC LETTER YEH FINAL FORM
- 0xfef3: 0x00ea, # ARABIC LETTER YEH INITIAL FORM
- 0xfef5: 0x00f9, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
- 0xfef6: 0x00fa, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
- 0xfef7: 0x0099, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
- 0xfef8: 0x009a, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
- 0xfefb: 0x009d, # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
- 0xfefc: 0x009e, # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00a0, # NON-BREAKING SPACE
+ 0x00a2: 0x00c0, # CENT SIGN
+ 0x00a3: 0x00a3, # POUND SIGN
+ 0x00a4: 0x00a4, # CURRENCY SIGN
+ 0x00a6: 0x00db, # BROKEN VERTICAL BAR
+ 0x00ab: 0x0097, # LEFT POINTING GUILLEMET
+ 0x00ac: 0x00dc, # NOT SIGN
+ 0x00ad: 0x00a1, # SOFT HYPHEN
+ 0x00b0: 0x0080, # DEGREE SIGN
+ 0x00b1: 0x0093, # PLUS-OR-MINUS SIGN
+ 0x00b7: 0x0081, # MIDDLE DOT
+ 0x00bb: 0x0098, # RIGHT POINTING GUILLEMET
+ 0x00bc: 0x0095, # FRACTION 1/4
+ 0x00bd: 0x0094, # FRACTION 1/2
+ 0x00d7: 0x00de, # MULTIPLICATION SIGN
+ 0x00f7: 0x00dd, # DIVISION SIGN
+ 0x03b2: 0x0090, # GREEK SMALL BETA
+ 0x03c6: 0x0092, # GREEK SMALL PHI
+ 0x060c: 0x00ac, # ARABIC COMMA
+ 0x061b: 0x00bb, # ARABIC SEMICOLON
+ 0x061f: 0x00bf, # ARABIC QUESTION MARK
+ 0x0640: 0x00e0, # ARABIC TATWEEL
+ 0x0651: 0x00f1, # ARABIC SHADDAH
+ 0x0660: 0x00b0, # ARABIC-INDIC DIGIT ZERO
+ 0x0661: 0x00b1, # ARABIC-INDIC DIGIT ONE
+ 0x0662: 0x00b2, # ARABIC-INDIC DIGIT TWO
+ 0x0663: 0x00b3, # ARABIC-INDIC DIGIT THREE
+ 0x0664: 0x00b4, # ARABIC-INDIC DIGIT FOUR
+ 0x0665: 0x00b5, # ARABIC-INDIC DIGIT FIVE
+ 0x0666: 0x00b6, # ARABIC-INDIC DIGIT SIX
+ 0x0667: 0x00b7, # ARABIC-INDIC DIGIT SEVEN
+ 0x0668: 0x00b8, # ARABIC-INDIC DIGIT EIGHT
+ 0x0669: 0x00b9, # ARABIC-INDIC DIGIT NINE
+ 0x066a: 0x0025, # ARABIC PERCENT SIGN
+ 0x2219: 0x0082, # BULLET OPERATOR
+ 0x221a: 0x0083, # SQUARE ROOT
+ 0x221e: 0x0091, # INFINITY
+ 0x2248: 0x0096, # ALMOST EQUAL TO
+ 0x2500: 0x0085, # FORMS LIGHT HORIZONTAL
+ 0x2502: 0x0086, # FORMS LIGHT VERTICAL
+ 0x250c: 0x008d, # FORMS LIGHT DOWN AND RIGHT
+ 0x2510: 0x008c, # FORMS LIGHT DOWN AND LEFT
+ 0x2514: 0x008e, # FORMS LIGHT UP AND RIGHT
+ 0x2518: 0x008f, # FORMS LIGHT UP AND LEFT
+ 0x251c: 0x008a, # FORMS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x0088, # FORMS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x0089, # FORMS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x008b, # FORMS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x0087, # FORMS LIGHT VERTICAL AND HORIZONTAL
+ 0x2592: 0x0084, # MEDIUM SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+ 0xfe7d: 0x00f0, # ARABIC SHADDA MEDIAL FORM
+ 0xfe80: 0x00c1, # ARABIC LETTER HAMZA ISOLATED FORM
+ 0xfe81: 0x00c2, # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+ 0xfe82: 0x00a2, # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+ 0xfe83: 0x00c3, # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+ 0xfe84: 0x00a5, # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+ 0xfe85: 0x00c4, # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+ 0xfe8b: 0x00c6, # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+ 0xfe8d: 0x00c7, # ARABIC LETTER ALEF ISOLATED FORM
+ 0xfe8e: 0x00a8, # ARABIC LETTER ALEF FINAL FORM
+ 0xfe8f: 0x00a9, # ARABIC LETTER BEH ISOLATED FORM
+ 0xfe91: 0x00c8, # ARABIC LETTER BEH INITIAL FORM
+ 0xfe93: 0x00c9, # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+ 0xfe95: 0x00aa, # ARABIC LETTER TEH ISOLATED FORM
+ 0xfe97: 0x00ca, # ARABIC LETTER TEH INITIAL FORM
+ 0xfe99: 0x00ab, # ARABIC LETTER THEH ISOLATED FORM
+ 0xfe9b: 0x00cb, # ARABIC LETTER THEH INITIAL FORM
+ 0xfe9d: 0x00ad, # ARABIC LETTER JEEM ISOLATED FORM
+ 0xfe9f: 0x00cc, # ARABIC LETTER JEEM INITIAL FORM
+ 0xfea1: 0x00ae, # ARABIC LETTER HAH ISOLATED FORM
+ 0xfea3: 0x00cd, # ARABIC LETTER HAH INITIAL FORM
+ 0xfea5: 0x00af, # ARABIC LETTER KHAH ISOLATED FORM
+ 0xfea7: 0x00ce, # ARABIC LETTER KHAH INITIAL FORM
+ 0xfea9: 0x00cf, # ARABIC LETTER DAL ISOLATED FORM
+ 0xfeab: 0x00d0, # ARABIC LETTER THAL ISOLATED FORM
+ 0xfead: 0x00d1, # ARABIC LETTER REH ISOLATED FORM
+ 0xfeaf: 0x00d2, # ARABIC LETTER ZAIN ISOLATED FORM
+ 0xfeb1: 0x00bc, # ARABIC LETTER SEEN ISOLATED FORM
+ 0xfeb3: 0x00d3, # ARABIC LETTER SEEN INITIAL FORM
+ 0xfeb5: 0x00bd, # ARABIC LETTER SHEEN ISOLATED FORM
+ 0xfeb7: 0x00d4, # ARABIC LETTER SHEEN INITIAL FORM
+ 0xfeb9: 0x00be, # ARABIC LETTER SAD ISOLATED FORM
+ 0xfebb: 0x00d5, # ARABIC LETTER SAD INITIAL FORM
+ 0xfebd: 0x00eb, # ARABIC LETTER DAD ISOLATED FORM
+ 0xfebf: 0x00d6, # ARABIC LETTER DAD INITIAL FORM
+ 0xfec1: 0x00d7, # ARABIC LETTER TAH ISOLATED FORM
+ 0xfec5: 0x00d8, # ARABIC LETTER ZAH ISOLATED FORM
+ 0xfec9: 0x00df, # ARABIC LETTER AIN ISOLATED FORM
+ 0xfeca: 0x00c5, # ARABIC LETTER AIN FINAL FORM
+ 0xfecb: 0x00d9, # ARABIC LETTER AIN INITIAL FORM
+ 0xfecc: 0x00ec, # ARABIC LETTER AIN MEDIAL FORM
+ 0xfecd: 0x00ee, # ARABIC LETTER GHAIN ISOLATED FORM
+ 0xfece: 0x00ed, # ARABIC LETTER GHAIN FINAL FORM
+ 0xfecf: 0x00da, # ARABIC LETTER GHAIN INITIAL FORM
+ 0xfed0: 0x00f7, # ARABIC LETTER GHAIN MEDIAL FORM
+ 0xfed1: 0x00ba, # ARABIC LETTER FEH ISOLATED FORM
+ 0xfed3: 0x00e1, # ARABIC LETTER FEH INITIAL FORM
+ 0xfed5: 0x00f8, # ARABIC LETTER QAF ISOLATED FORM
+ 0xfed7: 0x00e2, # ARABIC LETTER QAF INITIAL FORM
+ 0xfed9: 0x00fc, # ARABIC LETTER KAF ISOLATED FORM
+ 0xfedb: 0x00e3, # ARABIC LETTER KAF INITIAL FORM
+ 0xfedd: 0x00fb, # ARABIC LETTER LAM ISOLATED FORM
+ 0xfedf: 0x00e4, # ARABIC LETTER LAM INITIAL FORM
+ 0xfee1: 0x00ef, # ARABIC LETTER MEEM ISOLATED FORM
+ 0xfee3: 0x00e5, # ARABIC LETTER MEEM INITIAL FORM
+ 0xfee5: 0x00f2, # ARABIC LETTER NOON ISOLATED FORM
+ 0xfee7: 0x00e6, # ARABIC LETTER NOON INITIAL FORM
+ 0xfee9: 0x00f3, # ARABIC LETTER HEH ISOLATED FORM
+ 0xfeeb: 0x00e7, # ARABIC LETTER HEH INITIAL FORM
+ 0xfeec: 0x00f4, # ARABIC LETTER HEH MEDIAL FORM
+ 0xfeed: 0x00e8, # ARABIC LETTER WAW ISOLATED FORM
+ 0xfeef: 0x00e9, # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+ 0xfef0: 0x00f5, # ARABIC LETTER ALEF MAKSURA FINAL FORM
+ 0xfef1: 0x00fd, # ARABIC LETTER YEH ISOLATED FORM
+ 0xfef2: 0x00f6, # ARABIC LETTER YEH FINAL FORM
+ 0xfef3: 0x00ea, # ARABIC LETTER YEH INITIAL FORM
+ 0xfef5: 0x00f9, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+ 0xfef6: 0x00fa, # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+ 0xfef7: 0x0099, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+ 0xfef8: 0x009a, # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+ 0xfefb: 0x009d, # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+ 0xfefc: 0x009e, # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+}
diff --git a/Lib/encodings/cp865.py b/Lib/encodings/cp865.py
index 9d2f5c2..8e68c6b 100644
--- a/Lib/encodings/cp865.py
+++ b/Lib/encodings/cp865.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
- 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
- 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
- 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
- 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x009e: 0x20a7, # PESETA SIGN
- 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
- 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
- 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
- 0x00a8: 0x00bf, # INVERTED QUESTION MARK
- 0x00a9: 0x2310, # REVERSED NOT SIGN
- 0x00aa: 0x00ac, # NOT SIGN
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
- 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00a4, # CURRENCY SIGN
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
- 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
- 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00e6: 0x00b5, # MICRO SIGN
- 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00ec: 0x221e, # INFINITY
- 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00ef: 0x2229, # INTERSECTION
- 0x00f0: 0x2261, # IDENTICAL TO
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
- 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
- 0x00f4: 0x2320, # TOP HALF INTEGRAL
- 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
- 0x00f6: 0x00f7, # DIVISION SIGN
- 0x00f7: 0x2248, # ALMOST EQUAL TO
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x00fd: 0x00b2, # SUPERSCRIPT TWO
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0081: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0082: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x0083: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x0084: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x0085: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0086: 0x00e5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x0087: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x0088: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0089: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x008a: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x008b: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x008c: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x008d: 0x00ec, # LATIN SMALL LETTER I WITH GRAVE
+ 0x008e: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x008f: 0x00c5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x0090: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0091: 0x00e6, # LATIN SMALL LIGATURE AE
+ 0x0092: 0x00c6, # LATIN CAPITAL LIGATURE AE
+ 0x0093: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x0094: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x0095: 0x00f2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x0096: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x0097: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x0098: 0x00ff, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0099: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x009a: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x009b: 0x00f8, # LATIN SMALL LETTER O WITH STROKE
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x00d8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x009e: 0x20a7, # PESETA SIGN
+ 0x009f: 0x0192, # LATIN SMALL LETTER F WITH HOOK
+ 0x00a0: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00a1: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00a2: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00a3: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00a4: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00a5: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00a6: 0x00aa, # FEMININE ORDINAL INDICATOR
+ 0x00a7: 0x00ba, # MASCULINE ORDINAL INDICATOR
+ 0x00a8: 0x00bf, # INVERTED QUESTION MARK
+ 0x00a9: 0x2310, # REVERSED NOT SIGN
+ 0x00aa: 0x00ac, # NOT SIGN
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x00bc, # VULGAR FRACTION ONE QUARTER
+ 0x00ad: 0x00a1, # INVERTED EXCLAMATION MARK
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00a4, # CURRENCY SIGN
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00e1: 0x00df, # LATIN SMALL LETTER SHARP S
+ 0x00e2: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00e3: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00e4: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00e5: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00e6: 0x00b5, # MICRO SIGN
+ 0x00e7: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00e8: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00e9: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ea: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00eb: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00ec: 0x221e, # INFINITY
+ 0x00ed: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00ee: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00ef: 0x2229, # INTERSECTION
+ 0x00f0: 0x2261, # IDENTICAL TO
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x2265, # GREATER-THAN OR EQUAL TO
+ 0x00f3: 0x2264, # LESS-THAN OR EQUAL TO
+ 0x00f4: 0x2320, # TOP HALF INTEGRAL
+ 0x00f5: 0x2321, # BOTTOM HALF INTEGRAL
+ 0x00f6: 0x00f7, # DIVISION SIGN
+ 0x00f7: 0x2248, # ALMOST EQUAL TO
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x207f, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x00fd: 0x00b2, # SUPERSCRIPT TWO
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
- u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
- u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
- u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
- u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xff' # 0x0098 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
- u'\xa3' # 0x009c -> POUND SIGN
- u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u20a7' # 0x009e -> PESETA SIGN
- u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
- u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
- u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
- u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
- u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
- u'\xac' # 0x00aa -> NOT SIGN
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
- u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xa4' # 0x00af -> CURRENCY SIGN
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
- u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
- u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
- u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
- u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
- u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
- u'\xb5' # 0x00e6 -> MICRO SIGN
- u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
- u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
- u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
- u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
- u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
- u'\u221e' # 0x00ec -> INFINITY
- u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
- u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
- u'\u2229' # 0x00ef -> INTERSECTION
- u'\u2261' # 0x00f0 -> IDENTICAL TO
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
- u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
- u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
- u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
- u'\xf7' # 0x00f6 -> DIVISION SIGN
- u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
- u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xfc' # 0x0081 -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xe9' # 0x0082 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe2' # 0x0083 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x0084 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe0' # 0x0085 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe5' # 0x0086 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x0087 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xea' # 0x0088 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0089 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xe8' # 0x008a -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xef' # 0x008b -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xee' # 0x008c -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xec' # 0x008d -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xc4' # 0x008e -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x008f -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc9' # 0x0090 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xe6' # 0x0091 -> LATIN SMALL LIGATURE AE
+ u'\xc6' # 0x0092 -> LATIN CAPITAL LIGATURE AE
+ u'\xf4' # 0x0093 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x0094 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf2' # 0x0095 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xfb' # 0x0096 -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xf9' # 0x0097 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xff' # 0x0098 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\xd6' # 0x0099 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x009a -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xf8' # 0x009b -> LATIN SMALL LETTER O WITH STROKE
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\xd8' # 0x009d -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u20a7' # 0x009e -> PESETA SIGN
+ u'\u0192' # 0x009f -> LATIN SMALL LETTER F WITH HOOK
+ u'\xe1' # 0x00a0 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xed' # 0x00a1 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xf3' # 0x00a2 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xfa' # 0x00a3 -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf1' # 0x00a4 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xd1' # 0x00a5 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xaa' # 0x00a6 -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0x00a7 -> MASCULINE ORDINAL INDICATOR
+ u'\xbf' # 0x00a8 -> INVERTED QUESTION MARK
+ u'\u2310' # 0x00a9 -> REVERSED NOT SIGN
+ u'\xac' # 0x00aa -> NOT SIGN
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\xbc' # 0x00ac -> VULGAR FRACTION ONE QUARTER
+ u'\xa1' # 0x00ad -> INVERTED EXCLAMATION MARK
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xa4' # 0x00af -> CURRENCY SIGN
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b1' # 0x00e0 -> GREEK SMALL LETTER ALPHA
+ u'\xdf' # 0x00e1 -> LATIN SMALL LETTER SHARP S
+ u'\u0393' # 0x00e2 -> GREEK CAPITAL LETTER GAMMA
+ u'\u03c0' # 0x00e3 -> GREEK SMALL LETTER PI
+ u'\u03a3' # 0x00e4 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03c3' # 0x00e5 -> GREEK SMALL LETTER SIGMA
+ u'\xb5' # 0x00e6 -> MICRO SIGN
+ u'\u03c4' # 0x00e7 -> GREEK SMALL LETTER TAU
+ u'\u03a6' # 0x00e8 -> GREEK CAPITAL LETTER PHI
+ u'\u0398' # 0x00e9 -> GREEK CAPITAL LETTER THETA
+ u'\u03a9' # 0x00ea -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b4' # 0x00eb -> GREEK SMALL LETTER DELTA
+ u'\u221e' # 0x00ec -> INFINITY
+ u'\u03c6' # 0x00ed -> GREEK SMALL LETTER PHI
+ u'\u03b5' # 0x00ee -> GREEK SMALL LETTER EPSILON
+ u'\u2229' # 0x00ef -> INTERSECTION
+ u'\u2261' # 0x00f0 -> IDENTICAL TO
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u2265' # 0x00f2 -> GREATER-THAN OR EQUAL TO
+ u'\u2264' # 0x00f3 -> LESS-THAN OR EQUAL TO
+ u'\u2320' # 0x00f4 -> TOP HALF INTEGRAL
+ u'\u2321' # 0x00f5 -> BOTTOM HALF INTEGRAL
+ u'\xf7' # 0x00f6 -> DIVISION SIGN
+ u'\u2248' # 0x00f7 -> ALMOST EQUAL TO
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u207f' # 0x00fc -> SUPERSCRIPT LATIN SMALL LETTER N
+ u'\xb2' # 0x00fd -> SUPERSCRIPT TWO
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a4: 0x00af, # CURRENCY SIGN
- 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x00aa, # NOT SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x00fd, # SUPERSCRIPT TWO
- 0x00b5: 0x00e6, # MICRO SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
- 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x00bf: 0x00a8, # INVERTED QUESTION MARK
- 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
- 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
- 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
- 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
- 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
- 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
- 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x00f6, # DIVISION SIGN
- 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
- 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00ff: 0x0098, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
- 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
- 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
- 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
- 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
- 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
- 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
- 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
- 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
- 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
- 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
- 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
- 0x20a7: 0x009e, # PESETA SIGN
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x221e: 0x00ec, # INFINITY
- 0x2229: 0x00ef, # INTERSECTION
- 0x2248: 0x00f7, # ALMOST EQUAL TO
- 0x2261: 0x00f0, # IDENTICAL TO
- 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
- 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
- 0x2310: 0x00a9, # REVERSED NOT SIGN
- 0x2320: 0x00f4, # TOP HALF INTEGRAL
- 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a1: 0x00ad, # INVERTED EXCLAMATION MARK
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a4: 0x00af, # CURRENCY SIGN
+ 0x00aa: 0x00a6, # FEMININE ORDINAL INDICATOR
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x00aa, # NOT SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x00fd, # SUPERSCRIPT TWO
+ 0x00b5: 0x00e6, # MICRO SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x00ba: 0x00a7, # MASCULINE ORDINAL INDICATOR
+ 0x00bc: 0x00ac, # VULGAR FRACTION ONE QUARTER
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x00bf: 0x00a8, # INVERTED QUESTION MARK
+ 0x00c4: 0x008e, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c5: 0x008f, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00c6: 0x0092, # LATIN CAPITAL LIGATURE AE
+ 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c9: 0x0090, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00d1: 0x00a5, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00d6: 0x0099, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00d8: 0x009d, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00dc: 0x009a, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00df: 0x00e1, # LATIN SMALL LETTER SHARP S
+ 0x00e0: 0x0085, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x00a0, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0083, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e4: 0x0084, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e5: 0x0086, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00e6: 0x0091, # LATIN SMALL LIGATURE AE
+ 0x00e7: 0x0087, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008a, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x0082, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0088, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0089, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ec: 0x008d, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ed: 0x00a1, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00ee: 0x008c, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00ef: 0x008b, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00f1: 0x00a4, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f2: 0x0095, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00f3: 0x00a2, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0093, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f6: 0x0094, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x00f6, # DIVISION SIGN
+ 0x00f8: 0x009b, # LATIN SMALL LETTER O WITH STROKE
+ 0x00f9: 0x0097, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x00a3, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x0096, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x0081, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00ff: 0x0098, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0192: 0x009f, # LATIN SMALL LETTER F WITH HOOK
+ 0x0393: 0x00e2, # GREEK CAPITAL LETTER GAMMA
+ 0x0398: 0x00e9, # GREEK CAPITAL LETTER THETA
+ 0x03a3: 0x00e4, # GREEK CAPITAL LETTER SIGMA
+ 0x03a6: 0x00e8, # GREEK CAPITAL LETTER PHI
+ 0x03a9: 0x00ea, # GREEK CAPITAL LETTER OMEGA
+ 0x03b1: 0x00e0, # GREEK SMALL LETTER ALPHA
+ 0x03b4: 0x00eb, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00ee, # GREEK SMALL LETTER EPSILON
+ 0x03c0: 0x00e3, # GREEK SMALL LETTER PI
+ 0x03c3: 0x00e5, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00e7, # GREEK SMALL LETTER TAU
+ 0x03c6: 0x00ed, # GREEK SMALL LETTER PHI
+ 0x207f: 0x00fc, # SUPERSCRIPT LATIN SMALL LETTER N
+ 0x20a7: 0x009e, # PESETA SIGN
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x221e: 0x00ec, # INFINITY
+ 0x2229: 0x00ef, # INTERSECTION
+ 0x2248: 0x00f7, # ALMOST EQUAL TO
+ 0x2261: 0x00f0, # IDENTICAL TO
+ 0x2264: 0x00f3, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x00f2, # GREATER-THAN OR EQUAL TO
+ 0x2310: 0x00a9, # REVERSED NOT SIGN
+ 0x2320: 0x00f4, # TOP HALF INTEGRAL
+ 0x2321: 0x00f5, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp866.py b/Lib/encodings/cp866.py
index 0061ff6..4c0dd8c 100644
--- a/Lib/encodings/cp866.py
+++ b/Lib/encodings/cp866.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x0410, # CYRILLIC CAPITAL LETTER A
- 0x0081: 0x0411, # CYRILLIC CAPITAL LETTER BE
- 0x0082: 0x0412, # CYRILLIC CAPITAL LETTER VE
- 0x0083: 0x0413, # CYRILLIC CAPITAL LETTER GHE
- 0x0084: 0x0414, # CYRILLIC CAPITAL LETTER DE
- 0x0085: 0x0415, # CYRILLIC CAPITAL LETTER IE
- 0x0086: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
- 0x0087: 0x0417, # CYRILLIC CAPITAL LETTER ZE
- 0x0088: 0x0418, # CYRILLIC CAPITAL LETTER I
- 0x0089: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
- 0x008a: 0x041a, # CYRILLIC CAPITAL LETTER KA
- 0x008b: 0x041b, # CYRILLIC CAPITAL LETTER EL
- 0x008c: 0x041c, # CYRILLIC CAPITAL LETTER EM
- 0x008d: 0x041d, # CYRILLIC CAPITAL LETTER EN
- 0x008e: 0x041e, # CYRILLIC CAPITAL LETTER O
- 0x008f: 0x041f, # CYRILLIC CAPITAL LETTER PE
- 0x0090: 0x0420, # CYRILLIC CAPITAL LETTER ER
- 0x0091: 0x0421, # CYRILLIC CAPITAL LETTER ES
- 0x0092: 0x0422, # CYRILLIC CAPITAL LETTER TE
- 0x0093: 0x0423, # CYRILLIC CAPITAL LETTER U
- 0x0094: 0x0424, # CYRILLIC CAPITAL LETTER EF
- 0x0095: 0x0425, # CYRILLIC CAPITAL LETTER HA
- 0x0096: 0x0426, # CYRILLIC CAPITAL LETTER TSE
- 0x0097: 0x0427, # CYRILLIC CAPITAL LETTER CHE
- 0x0098: 0x0428, # CYRILLIC CAPITAL LETTER SHA
- 0x0099: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
- 0x009a: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x009b: 0x042b, # CYRILLIC CAPITAL LETTER YERU
- 0x009c: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x009d: 0x042d, # CYRILLIC CAPITAL LETTER E
- 0x009e: 0x042e, # CYRILLIC CAPITAL LETTER YU
- 0x009f: 0x042f, # CYRILLIC CAPITAL LETTER YA
- 0x00a0: 0x0430, # CYRILLIC SMALL LETTER A
- 0x00a1: 0x0431, # CYRILLIC SMALL LETTER BE
- 0x00a2: 0x0432, # CYRILLIC SMALL LETTER VE
- 0x00a3: 0x0433, # CYRILLIC SMALL LETTER GHE
- 0x00a4: 0x0434, # CYRILLIC SMALL LETTER DE
- 0x00a5: 0x0435, # CYRILLIC SMALL LETTER IE
- 0x00a6: 0x0436, # CYRILLIC SMALL LETTER ZHE
- 0x00a7: 0x0437, # CYRILLIC SMALL LETTER ZE
- 0x00a8: 0x0438, # CYRILLIC SMALL LETTER I
- 0x00a9: 0x0439, # CYRILLIC SMALL LETTER SHORT I
- 0x00aa: 0x043a, # CYRILLIC SMALL LETTER KA
- 0x00ab: 0x043b, # CYRILLIC SMALL LETTER EL
- 0x00ac: 0x043c, # CYRILLIC SMALL LETTER EM
- 0x00ad: 0x043d, # CYRILLIC SMALL LETTER EN
- 0x00ae: 0x043e, # CYRILLIC SMALL LETTER O
- 0x00af: 0x043f, # CYRILLIC SMALL LETTER PE
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x258c, # LEFT HALF BLOCK
- 0x00de: 0x2590, # RIGHT HALF BLOCK
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x0440, # CYRILLIC SMALL LETTER ER
- 0x00e1: 0x0441, # CYRILLIC SMALL LETTER ES
- 0x00e2: 0x0442, # CYRILLIC SMALL LETTER TE
- 0x00e3: 0x0443, # CYRILLIC SMALL LETTER U
- 0x00e4: 0x0444, # CYRILLIC SMALL LETTER EF
- 0x00e5: 0x0445, # CYRILLIC SMALL LETTER HA
- 0x00e6: 0x0446, # CYRILLIC SMALL LETTER TSE
- 0x00e7: 0x0447, # CYRILLIC SMALL LETTER CHE
- 0x00e8: 0x0448, # CYRILLIC SMALL LETTER SHA
- 0x00e9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
- 0x00ea: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
- 0x00eb: 0x044b, # CYRILLIC SMALL LETTER YERU
- 0x00ec: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x00ed: 0x044d, # CYRILLIC SMALL LETTER E
- 0x00ee: 0x044e, # CYRILLIC SMALL LETTER YU
- 0x00ef: 0x044f, # CYRILLIC SMALL LETTER YA
- 0x00f0: 0x0401, # CYRILLIC CAPITAL LETTER IO
- 0x00f1: 0x0451, # CYRILLIC SMALL LETTER IO
- 0x00f2: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x00f3: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x00f4: 0x0407, # CYRILLIC CAPITAL LETTER YI
- 0x00f5: 0x0457, # CYRILLIC SMALL LETTER YI
- 0x00f6: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
- 0x00f7: 0x045e, # CYRILLIC SMALL LETTER SHORT U
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x2219, # BULLET OPERATOR
- 0x00fa: 0x00b7, # MIDDLE DOT
- 0x00fb: 0x221a, # SQUARE ROOT
- 0x00fc: 0x2116, # NUMERO SIGN
- 0x00fd: 0x00a4, # CURRENCY SIGN
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: 0x0410, # CYRILLIC CAPITAL LETTER A
+ 0x0081: 0x0411, # CYRILLIC CAPITAL LETTER BE
+ 0x0082: 0x0412, # CYRILLIC CAPITAL LETTER VE
+ 0x0083: 0x0413, # CYRILLIC CAPITAL LETTER GHE
+ 0x0084: 0x0414, # CYRILLIC CAPITAL LETTER DE
+ 0x0085: 0x0415, # CYRILLIC CAPITAL LETTER IE
+ 0x0086: 0x0416, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0087: 0x0417, # CYRILLIC CAPITAL LETTER ZE
+ 0x0088: 0x0418, # CYRILLIC CAPITAL LETTER I
+ 0x0089: 0x0419, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x008a: 0x041a, # CYRILLIC CAPITAL LETTER KA
+ 0x008b: 0x041b, # CYRILLIC CAPITAL LETTER EL
+ 0x008c: 0x041c, # CYRILLIC CAPITAL LETTER EM
+ 0x008d: 0x041d, # CYRILLIC CAPITAL LETTER EN
+ 0x008e: 0x041e, # CYRILLIC CAPITAL LETTER O
+ 0x008f: 0x041f, # CYRILLIC CAPITAL LETTER PE
+ 0x0090: 0x0420, # CYRILLIC CAPITAL LETTER ER
+ 0x0091: 0x0421, # CYRILLIC CAPITAL LETTER ES
+ 0x0092: 0x0422, # CYRILLIC CAPITAL LETTER TE
+ 0x0093: 0x0423, # CYRILLIC CAPITAL LETTER U
+ 0x0094: 0x0424, # CYRILLIC CAPITAL LETTER EF
+ 0x0095: 0x0425, # CYRILLIC CAPITAL LETTER HA
+ 0x0096: 0x0426, # CYRILLIC CAPITAL LETTER TSE
+ 0x0097: 0x0427, # CYRILLIC CAPITAL LETTER CHE
+ 0x0098: 0x0428, # CYRILLIC CAPITAL LETTER SHA
+ 0x0099: 0x0429, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x009a: 0x042a, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x009b: 0x042b, # CYRILLIC CAPITAL LETTER YERU
+ 0x009c: 0x042c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x009d: 0x042d, # CYRILLIC CAPITAL LETTER E
+ 0x009e: 0x042e, # CYRILLIC CAPITAL LETTER YU
+ 0x009f: 0x042f, # CYRILLIC CAPITAL LETTER YA
+ 0x00a0: 0x0430, # CYRILLIC SMALL LETTER A
+ 0x00a1: 0x0431, # CYRILLIC SMALL LETTER BE
+ 0x00a2: 0x0432, # CYRILLIC SMALL LETTER VE
+ 0x00a3: 0x0433, # CYRILLIC SMALL LETTER GHE
+ 0x00a4: 0x0434, # CYRILLIC SMALL LETTER DE
+ 0x00a5: 0x0435, # CYRILLIC SMALL LETTER IE
+ 0x00a6: 0x0436, # CYRILLIC SMALL LETTER ZHE
+ 0x00a7: 0x0437, # CYRILLIC SMALL LETTER ZE
+ 0x00a8: 0x0438, # CYRILLIC SMALL LETTER I
+ 0x00a9: 0x0439, # CYRILLIC SMALL LETTER SHORT I
+ 0x00aa: 0x043a, # CYRILLIC SMALL LETTER KA
+ 0x00ab: 0x043b, # CYRILLIC SMALL LETTER EL
+ 0x00ac: 0x043c, # CYRILLIC SMALL LETTER EM
+ 0x00ad: 0x043d, # CYRILLIC SMALL LETTER EN
+ 0x00ae: 0x043e, # CYRILLIC SMALL LETTER O
+ 0x00af: 0x043f, # CYRILLIC SMALL LETTER PE
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x2561, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x00b6: 0x2562, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x00b7: 0x2556, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x00b8: 0x2555, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x255c, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x00be: 0x255b, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x255e, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x00c7: 0x255f, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x2567, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x00d0: 0x2568, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x00d1: 0x2564, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x00d2: 0x2565, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x00d3: 0x2559, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x00d4: 0x2558, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x00d5: 0x2552, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x00d6: 0x2553, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x00d7: 0x256b, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x00d8: 0x256a, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x258c, # LEFT HALF BLOCK
+ 0x00de: 0x2590, # RIGHT HALF BLOCK
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x0440, # CYRILLIC SMALL LETTER ER
+ 0x00e1: 0x0441, # CYRILLIC SMALL LETTER ES
+ 0x00e2: 0x0442, # CYRILLIC SMALL LETTER TE
+ 0x00e3: 0x0443, # CYRILLIC SMALL LETTER U
+ 0x00e4: 0x0444, # CYRILLIC SMALL LETTER EF
+ 0x00e5: 0x0445, # CYRILLIC SMALL LETTER HA
+ 0x00e6: 0x0446, # CYRILLIC SMALL LETTER TSE
+ 0x00e7: 0x0447, # CYRILLIC SMALL LETTER CHE
+ 0x00e8: 0x0448, # CYRILLIC SMALL LETTER SHA
+ 0x00e9: 0x0449, # CYRILLIC SMALL LETTER SHCHA
+ 0x00ea: 0x044a, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x00eb: 0x044b, # CYRILLIC SMALL LETTER YERU
+ 0x00ec: 0x044c, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x00ed: 0x044d, # CYRILLIC SMALL LETTER E
+ 0x00ee: 0x044e, # CYRILLIC SMALL LETTER YU
+ 0x00ef: 0x044f, # CYRILLIC SMALL LETTER YA
+ 0x00f0: 0x0401, # CYRILLIC CAPITAL LETTER IO
+ 0x00f1: 0x0451, # CYRILLIC SMALL LETTER IO
+ 0x00f2: 0x0404, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x00f3: 0x0454, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x00f4: 0x0407, # CYRILLIC CAPITAL LETTER YI
+ 0x00f5: 0x0457, # CYRILLIC SMALL LETTER YI
+ 0x00f6: 0x040e, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x00f7: 0x045e, # CYRILLIC SMALL LETTER SHORT U
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x2219, # BULLET OPERATOR
+ 0x00fa: 0x00b7, # MIDDLE DOT
+ 0x00fb: 0x221a, # SQUARE ROOT
+ 0x00fc: 0x2116, # NUMERO SIGN
+ 0x00fd: 0x00a4, # CURRENCY SIGN
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\u0410' # 0x0080 -> CYRILLIC CAPITAL LETTER A
- u'\u0411' # 0x0081 -> CYRILLIC CAPITAL LETTER BE
- u'\u0412' # 0x0082 -> CYRILLIC CAPITAL LETTER VE
- u'\u0413' # 0x0083 -> CYRILLIC CAPITAL LETTER GHE
- u'\u0414' # 0x0084 -> CYRILLIC CAPITAL LETTER DE
- u'\u0415' # 0x0085 -> CYRILLIC CAPITAL LETTER IE
- u'\u0416' # 0x0086 -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0417' # 0x0087 -> CYRILLIC CAPITAL LETTER ZE
- u'\u0418' # 0x0088 -> CYRILLIC CAPITAL LETTER I
- u'\u0419' # 0x0089 -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u041a' # 0x008a -> CYRILLIC CAPITAL LETTER KA
- u'\u041b' # 0x008b -> CYRILLIC CAPITAL LETTER EL
- u'\u041c' # 0x008c -> CYRILLIC CAPITAL LETTER EM
- u'\u041d' # 0x008d -> CYRILLIC CAPITAL LETTER EN
- u'\u041e' # 0x008e -> CYRILLIC CAPITAL LETTER O
- u'\u041f' # 0x008f -> CYRILLIC CAPITAL LETTER PE
- u'\u0420' # 0x0090 -> CYRILLIC CAPITAL LETTER ER
- u'\u0421' # 0x0091 -> CYRILLIC CAPITAL LETTER ES
- u'\u0422' # 0x0092 -> CYRILLIC CAPITAL LETTER TE
- u'\u0423' # 0x0093 -> CYRILLIC CAPITAL LETTER U
- u'\u0424' # 0x0094 -> CYRILLIC CAPITAL LETTER EF
- u'\u0425' # 0x0095 -> CYRILLIC CAPITAL LETTER HA
- u'\u0426' # 0x0096 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0427' # 0x0097 -> CYRILLIC CAPITAL LETTER CHE
- u'\u0428' # 0x0098 -> CYRILLIC CAPITAL LETTER SHA
- u'\u0429' # 0x0099 -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u042a' # 0x009a -> CYRILLIC CAPITAL LETTER HARD SIGN
- u'\u042b' # 0x009b -> CYRILLIC CAPITAL LETTER YERU
- u'\u042c' # 0x009c -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u042d' # 0x009d -> CYRILLIC CAPITAL LETTER E
- u'\u042e' # 0x009e -> CYRILLIC CAPITAL LETTER YU
- u'\u042f' # 0x009f -> CYRILLIC CAPITAL LETTER YA
- u'\u0430' # 0x00a0 -> CYRILLIC SMALL LETTER A
- u'\u0431' # 0x00a1 -> CYRILLIC SMALL LETTER BE
- u'\u0432' # 0x00a2 -> CYRILLIC SMALL LETTER VE
- u'\u0433' # 0x00a3 -> CYRILLIC SMALL LETTER GHE
- u'\u0434' # 0x00a4 -> CYRILLIC SMALL LETTER DE
- u'\u0435' # 0x00a5 -> CYRILLIC SMALL LETTER IE
- u'\u0436' # 0x00a6 -> CYRILLIC SMALL LETTER ZHE
- u'\u0437' # 0x00a7 -> CYRILLIC SMALL LETTER ZE
- u'\u0438' # 0x00a8 -> CYRILLIC SMALL LETTER I
- u'\u0439' # 0x00a9 -> CYRILLIC SMALL LETTER SHORT I
- u'\u043a' # 0x00aa -> CYRILLIC SMALL LETTER KA
- u'\u043b' # 0x00ab -> CYRILLIC SMALL LETTER EL
- u'\u043c' # 0x00ac -> CYRILLIC SMALL LETTER EM
- u'\u043d' # 0x00ad -> CYRILLIC SMALL LETTER EN
- u'\u043e' # 0x00ae -> CYRILLIC SMALL LETTER O
- u'\u043f' # 0x00af -> CYRILLIC SMALL LETTER PE
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u258c' # 0x00dd -> LEFT HALF BLOCK
- u'\u2590' # 0x00de -> RIGHT HALF BLOCK
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u0440' # 0x00e0 -> CYRILLIC SMALL LETTER ER
- u'\u0441' # 0x00e1 -> CYRILLIC SMALL LETTER ES
- u'\u0442' # 0x00e2 -> CYRILLIC SMALL LETTER TE
- u'\u0443' # 0x00e3 -> CYRILLIC SMALL LETTER U
- u'\u0444' # 0x00e4 -> CYRILLIC SMALL LETTER EF
- u'\u0445' # 0x00e5 -> CYRILLIC SMALL LETTER HA
- u'\u0446' # 0x00e6 -> CYRILLIC SMALL LETTER TSE
- u'\u0447' # 0x00e7 -> CYRILLIC SMALL LETTER CHE
- u'\u0448' # 0x00e8 -> CYRILLIC SMALL LETTER SHA
- u'\u0449' # 0x00e9 -> CYRILLIC SMALL LETTER SHCHA
- u'\u044a' # 0x00ea -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u044b' # 0x00eb -> CYRILLIC SMALL LETTER YERU
- u'\u044c' # 0x00ec -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u044d' # 0x00ed -> CYRILLIC SMALL LETTER E
- u'\u044e' # 0x00ee -> CYRILLIC SMALL LETTER YU
- u'\u044f' # 0x00ef -> CYRILLIC SMALL LETTER YA
- u'\u0401' # 0x00f0 -> CYRILLIC CAPITAL LETTER IO
- u'\u0451' # 0x00f1 -> CYRILLIC SMALL LETTER IO
- u'\u0404' # 0x00f2 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
- u'\u0454' # 0x00f3 -> CYRILLIC SMALL LETTER UKRAINIAN IE
- u'\u0407' # 0x00f4 -> CYRILLIC CAPITAL LETTER YI
- u'\u0457' # 0x00f5 -> CYRILLIC SMALL LETTER YI
- u'\u040e' # 0x00f6 -> CYRILLIC CAPITAL LETTER SHORT U
- u'\u045e' # 0x00f7 -> CYRILLIC SMALL LETTER SHORT U
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\u2219' # 0x00f9 -> BULLET OPERATOR
- u'\xb7' # 0x00fa -> MIDDLE DOT
- u'\u221a' # 0x00fb -> SQUARE ROOT
- u'\u2116' # 0x00fc -> NUMERO SIGN
- u'\xa4' # 0x00fd -> CURRENCY SIGN
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\u0410' # 0x0080 -> CYRILLIC CAPITAL LETTER A
+ u'\u0411' # 0x0081 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0412' # 0x0082 -> CYRILLIC CAPITAL LETTER VE
+ u'\u0413' # 0x0083 -> CYRILLIC CAPITAL LETTER GHE
+ u'\u0414' # 0x0084 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0415' # 0x0085 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0416' # 0x0086 -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0417' # 0x0087 -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0418' # 0x0088 -> CYRILLIC CAPITAL LETTER I
+ u'\u0419' # 0x0089 -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u041a' # 0x008a -> CYRILLIC CAPITAL LETTER KA
+ u'\u041b' # 0x008b -> CYRILLIC CAPITAL LETTER EL
+ u'\u041c' # 0x008c -> CYRILLIC CAPITAL LETTER EM
+ u'\u041d' # 0x008d -> CYRILLIC CAPITAL LETTER EN
+ u'\u041e' # 0x008e -> CYRILLIC CAPITAL LETTER O
+ u'\u041f' # 0x008f -> CYRILLIC CAPITAL LETTER PE
+ u'\u0420' # 0x0090 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0421' # 0x0091 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0422' # 0x0092 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0423' # 0x0093 -> CYRILLIC CAPITAL LETTER U
+ u'\u0424' # 0x0094 -> CYRILLIC CAPITAL LETTER EF
+ u'\u0425' # 0x0095 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0426' # 0x0096 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0427' # 0x0097 -> CYRILLIC CAPITAL LETTER CHE
+ u'\u0428' # 0x0098 -> CYRILLIC CAPITAL LETTER SHA
+ u'\u0429' # 0x0099 -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u042a' # 0x009a -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\u042b' # 0x009b -> CYRILLIC CAPITAL LETTER YERU
+ u'\u042c' # 0x009c -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u042d' # 0x009d -> CYRILLIC CAPITAL LETTER E
+ u'\u042e' # 0x009e -> CYRILLIC CAPITAL LETTER YU
+ u'\u042f' # 0x009f -> CYRILLIC CAPITAL LETTER YA
+ u'\u0430' # 0x00a0 -> CYRILLIC SMALL LETTER A
+ u'\u0431' # 0x00a1 -> CYRILLIC SMALL LETTER BE
+ u'\u0432' # 0x00a2 -> CYRILLIC SMALL LETTER VE
+ u'\u0433' # 0x00a3 -> CYRILLIC SMALL LETTER GHE
+ u'\u0434' # 0x00a4 -> CYRILLIC SMALL LETTER DE
+ u'\u0435' # 0x00a5 -> CYRILLIC SMALL LETTER IE
+ u'\u0436' # 0x00a6 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0437' # 0x00a7 -> CYRILLIC SMALL LETTER ZE
+ u'\u0438' # 0x00a8 -> CYRILLIC SMALL LETTER I
+ u'\u0439' # 0x00a9 -> CYRILLIC SMALL LETTER SHORT I
+ u'\u043a' # 0x00aa -> CYRILLIC SMALL LETTER KA
+ u'\u043b' # 0x00ab -> CYRILLIC SMALL LETTER EL
+ u'\u043c' # 0x00ac -> CYRILLIC SMALL LETTER EM
+ u'\u043d' # 0x00ad -> CYRILLIC SMALL LETTER EN
+ u'\u043e' # 0x00ae -> CYRILLIC SMALL LETTER O
+ u'\u043f' # 0x00af -> CYRILLIC SMALL LETTER PE
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u2561' # 0x00b5 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u2562' # 0x00b6 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2556' # 0x00b7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2555' # 0x00b8 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255c' # 0x00bd -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255b' # 0x00be -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u255e' # 0x00c6 -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0x00c7 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u2567' # 0x00cf -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0x00d0 -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2564' # 0x00d1 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0x00d2 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2559' # 0x00d3 -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u2558' # 0x00d4 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2552' # 0x00d5 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u2553' # 0x00d6 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u256b' # 0x00d7 -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256a' # 0x00d8 -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u258c' # 0x00dd -> LEFT HALF BLOCK
+ u'\u2590' # 0x00de -> RIGHT HALF BLOCK
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u0440' # 0x00e0 -> CYRILLIC SMALL LETTER ER
+ u'\u0441' # 0x00e1 -> CYRILLIC SMALL LETTER ES
+ u'\u0442' # 0x00e2 -> CYRILLIC SMALL LETTER TE
+ u'\u0443' # 0x00e3 -> CYRILLIC SMALL LETTER U
+ u'\u0444' # 0x00e4 -> CYRILLIC SMALL LETTER EF
+ u'\u0445' # 0x00e5 -> CYRILLIC SMALL LETTER HA
+ u'\u0446' # 0x00e6 -> CYRILLIC SMALL LETTER TSE
+ u'\u0447' # 0x00e7 -> CYRILLIC SMALL LETTER CHE
+ u'\u0448' # 0x00e8 -> CYRILLIC SMALL LETTER SHA
+ u'\u0449' # 0x00e9 -> CYRILLIC SMALL LETTER SHCHA
+ u'\u044a' # 0x00ea -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u044b' # 0x00eb -> CYRILLIC SMALL LETTER YERU
+ u'\u044c' # 0x00ec -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u044d' # 0x00ed -> CYRILLIC SMALL LETTER E
+ u'\u044e' # 0x00ee -> CYRILLIC SMALL LETTER YU
+ u'\u044f' # 0x00ef -> CYRILLIC SMALL LETTER YA
+ u'\u0401' # 0x00f0 -> CYRILLIC CAPITAL LETTER IO
+ u'\u0451' # 0x00f1 -> CYRILLIC SMALL LETTER IO
+ u'\u0404' # 0x00f2 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ u'\u0454' # 0x00f3 -> CYRILLIC SMALL LETTER UKRAINIAN IE
+ u'\u0407' # 0x00f4 -> CYRILLIC CAPITAL LETTER YI
+ u'\u0457' # 0x00f5 -> CYRILLIC SMALL LETTER YI
+ u'\u040e' # 0x00f6 -> CYRILLIC CAPITAL LETTER SHORT U
+ u'\u045e' # 0x00f7 -> CYRILLIC SMALL LETTER SHORT U
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\u2219' # 0x00f9 -> BULLET OPERATOR
+ u'\xb7' # 0x00fa -> MIDDLE DOT
+ u'\u221a' # 0x00fb -> SQUARE ROOT
+ u'\u2116' # 0x00fc -> NUMERO SIGN
+ u'\xa4' # 0x00fd -> CURRENCY SIGN
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a4: 0x00fd, # CURRENCY SIGN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b7: 0x00fa, # MIDDLE DOT
- 0x0401: 0x00f0, # CYRILLIC CAPITAL LETTER IO
- 0x0404: 0x00f2, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0407: 0x00f4, # CYRILLIC CAPITAL LETTER YI
- 0x040e: 0x00f6, # CYRILLIC CAPITAL LETTER SHORT U
- 0x0410: 0x0080, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0x0081, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0x0082, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0x0083, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0x0084, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0x0085, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0x0086, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0x0087, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0x0088, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0x0089, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041a: 0x008a, # CYRILLIC CAPITAL LETTER KA
- 0x041b: 0x008b, # CYRILLIC CAPITAL LETTER EL
- 0x041c: 0x008c, # CYRILLIC CAPITAL LETTER EM
- 0x041d: 0x008d, # CYRILLIC CAPITAL LETTER EN
- 0x041e: 0x008e, # CYRILLIC CAPITAL LETTER O
- 0x041f: 0x008f, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0x0090, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0x0091, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0x0092, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0x0093, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0x0094, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0x0095, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0x0096, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0x0097, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0x0098, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0x0099, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042a: 0x009a, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042b: 0x009b, # CYRILLIC CAPITAL LETTER YERU
- 0x042c: 0x009c, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042d: 0x009d, # CYRILLIC CAPITAL LETTER E
- 0x042e: 0x009e, # CYRILLIC CAPITAL LETTER YU
- 0x042f: 0x009f, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0x00a0, # CYRILLIC SMALL LETTER A
- 0x0431: 0x00a1, # CYRILLIC SMALL LETTER BE
- 0x0432: 0x00a2, # CYRILLIC SMALL LETTER VE
- 0x0433: 0x00a3, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0x00a4, # CYRILLIC SMALL LETTER DE
- 0x0435: 0x00a5, # CYRILLIC SMALL LETTER IE
- 0x0436: 0x00a6, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0x00a7, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0x00a8, # CYRILLIC SMALL LETTER I
- 0x0439: 0x00a9, # CYRILLIC SMALL LETTER SHORT I
- 0x043a: 0x00aa, # CYRILLIC SMALL LETTER KA
- 0x043b: 0x00ab, # CYRILLIC SMALL LETTER EL
- 0x043c: 0x00ac, # CYRILLIC SMALL LETTER EM
- 0x043d: 0x00ad, # CYRILLIC SMALL LETTER EN
- 0x043e: 0x00ae, # CYRILLIC SMALL LETTER O
- 0x043f: 0x00af, # CYRILLIC SMALL LETTER PE
- 0x0440: 0x00e0, # CYRILLIC SMALL LETTER ER
- 0x0441: 0x00e1, # CYRILLIC SMALL LETTER ES
- 0x0442: 0x00e2, # CYRILLIC SMALL LETTER TE
- 0x0443: 0x00e3, # CYRILLIC SMALL LETTER U
- 0x0444: 0x00e4, # CYRILLIC SMALL LETTER EF
- 0x0445: 0x00e5, # CYRILLIC SMALL LETTER HA
- 0x0446: 0x00e6, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0x00e7, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0x00e8, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0x00e9, # CYRILLIC SMALL LETTER SHCHA
- 0x044a: 0x00ea, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044b: 0x00eb, # CYRILLIC SMALL LETTER YERU
- 0x044c: 0x00ec, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044d: 0x00ed, # CYRILLIC SMALL LETTER E
- 0x044e: 0x00ee, # CYRILLIC SMALL LETTER YU
- 0x044f: 0x00ef, # CYRILLIC SMALL LETTER YA
- 0x0451: 0x00f1, # CYRILLIC SMALL LETTER IO
- 0x0454: 0x00f3, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0457: 0x00f5, # CYRILLIC SMALL LETTER YI
- 0x045e: 0x00f7, # CYRILLIC SMALL LETTER SHORT U
- 0x2116: 0x00fc, # NUMERO SIGN
- 0x2219: 0x00f9, # BULLET OPERATOR
- 0x221a: 0x00fb, # SQUARE ROOT
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x258c: 0x00dd, # LEFT HALF BLOCK
- 0x2590: 0x00de, # RIGHT HALF BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a4: 0x00fd, # CURRENCY SIGN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b7: 0x00fa, # MIDDLE DOT
+ 0x0401: 0x00f0, # CYRILLIC CAPITAL LETTER IO
+ 0x0404: 0x00f2, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0407: 0x00f4, # CYRILLIC CAPITAL LETTER YI
+ 0x040e: 0x00f6, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x0410: 0x0080, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0x0081, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0x0082, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0x0083, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0x0084, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0x0085, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0x0086, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0x0087, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0x0088, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0x0089, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041a: 0x008a, # CYRILLIC CAPITAL LETTER KA
+ 0x041b: 0x008b, # CYRILLIC CAPITAL LETTER EL
+ 0x041c: 0x008c, # CYRILLIC CAPITAL LETTER EM
+ 0x041d: 0x008d, # CYRILLIC CAPITAL LETTER EN
+ 0x041e: 0x008e, # CYRILLIC CAPITAL LETTER O
+ 0x041f: 0x008f, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0x0090, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0x0091, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0x0092, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0x0093, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0x0094, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0x0095, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0x0096, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0x0097, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0x0098, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0x0099, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042a: 0x009a, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042b: 0x009b, # CYRILLIC CAPITAL LETTER YERU
+ 0x042c: 0x009c, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042d: 0x009d, # CYRILLIC CAPITAL LETTER E
+ 0x042e: 0x009e, # CYRILLIC CAPITAL LETTER YU
+ 0x042f: 0x009f, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0x00a0, # CYRILLIC SMALL LETTER A
+ 0x0431: 0x00a1, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0x00a2, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0x00a3, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0x00a4, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0x00a5, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0x00a6, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0x00a7, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0x00a8, # CYRILLIC SMALL LETTER I
+ 0x0439: 0x00a9, # CYRILLIC SMALL LETTER SHORT I
+ 0x043a: 0x00aa, # CYRILLIC SMALL LETTER KA
+ 0x043b: 0x00ab, # CYRILLIC SMALL LETTER EL
+ 0x043c: 0x00ac, # CYRILLIC SMALL LETTER EM
+ 0x043d: 0x00ad, # CYRILLIC SMALL LETTER EN
+ 0x043e: 0x00ae, # CYRILLIC SMALL LETTER O
+ 0x043f: 0x00af, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0x00e0, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0x00e1, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0x00e2, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0x00e3, # CYRILLIC SMALL LETTER U
+ 0x0444: 0x00e4, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0x00e5, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0x00e6, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0x00e7, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0x00e8, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0x00e9, # CYRILLIC SMALL LETTER SHCHA
+ 0x044a: 0x00ea, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044b: 0x00eb, # CYRILLIC SMALL LETTER YERU
+ 0x044c: 0x00ec, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044d: 0x00ed, # CYRILLIC SMALL LETTER E
+ 0x044e: 0x00ee, # CYRILLIC SMALL LETTER YU
+ 0x044f: 0x00ef, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0x00f1, # CYRILLIC SMALL LETTER IO
+ 0x0454: 0x00f3, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0457: 0x00f5, # CYRILLIC SMALL LETTER YI
+ 0x045e: 0x00f7, # CYRILLIC SMALL LETTER SHORT U
+ 0x2116: 0x00fc, # NUMERO SIGN
+ 0x2219: 0x00f9, # BULLET OPERATOR
+ 0x221a: 0x00fb, # SQUARE ROOT
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0x00d5, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0x00d6, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0x00b8, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0x00b7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0x00d4, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0x00d3, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255b: 0x00be, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255c: 0x00bd, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255e: 0x00c6, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255f: 0x00c7, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0x00b5, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0x00b6, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0x00d1, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0x00d2, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0x00cf, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0x00d0, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256a: 0x00d8, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256b: 0x00d7, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x258c: 0x00dd, # LEFT HALF BLOCK
+ 0x2590: 0x00de, # RIGHT HALF BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp869.py b/Lib/encodings/cp869.py
index 8d5caea..1747546 100644
--- a/Lib/encodings/cp869.py
+++ b/Lib/encodings/cp869.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,645 +32,645 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: None, # UNDEFINED
- 0x0081: None, # UNDEFINED
- 0x0082: None, # UNDEFINED
- 0x0083: None, # UNDEFINED
- 0x0084: None, # UNDEFINED
- 0x0085: None, # UNDEFINED
- 0x0086: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0087: None, # UNDEFINED
- 0x0088: 0x00b7, # MIDDLE DOT
- 0x0089: 0x00ac, # NOT SIGN
- 0x008a: 0x00a6, # BROKEN BAR
- 0x008b: 0x2018, # LEFT SINGLE QUOTATION MARK
- 0x008c: 0x2019, # RIGHT SINGLE QUOTATION MARK
- 0x008d: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x008e: 0x2015, # HORIZONTAL BAR
- 0x008f: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x0090: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x0091: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x0092: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x0093: None, # UNDEFINED
- 0x0094: None, # UNDEFINED
- 0x0095: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x0096: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x0097: 0x00a9, # COPYRIGHT SIGN
- 0x0098: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0099: 0x00b2, # SUPERSCRIPT TWO
- 0x009a: 0x00b3, # SUPERSCRIPT THREE
- 0x009b: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x009c: 0x00a3, # POUND SIGN
- 0x009d: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x009e: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
- 0x009f: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x00a0: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x00a1: 0x0390, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x00a2: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x00a3: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x00a4: 0x0391, # GREEK CAPITAL LETTER ALPHA
- 0x00a5: 0x0392, # GREEK CAPITAL LETTER BETA
- 0x00a6: 0x0393, # GREEK CAPITAL LETTER GAMMA
- 0x00a7: 0x0394, # GREEK CAPITAL LETTER DELTA
- 0x00a8: 0x0395, # GREEK CAPITAL LETTER EPSILON
- 0x00a9: 0x0396, # GREEK CAPITAL LETTER ZETA
- 0x00aa: 0x0397, # GREEK CAPITAL LETTER ETA
- 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
- 0x00ac: 0x0398, # GREEK CAPITAL LETTER THETA
- 0x00ad: 0x0399, # GREEK CAPITAL LETTER IOTA
- 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00b0: 0x2591, # LIGHT SHADE
- 0x00b1: 0x2592, # MEDIUM SHADE
- 0x00b2: 0x2593, # DARK SHADE
- 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
- 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x00b5: 0x039a, # GREEK CAPITAL LETTER KAPPA
- 0x00b6: 0x039b, # GREEK CAPITAL LETTER LAMDA
- 0x00b7: 0x039c, # GREEK CAPITAL LETTER MU
- 0x00b8: 0x039d, # GREEK CAPITAL LETTER NU
- 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
- 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x00bd: 0x039e, # GREEK CAPITAL LETTER XI
- 0x00be: 0x039f, # GREEK CAPITAL LETTER OMICRON
- 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x00c6: 0x03a0, # GREEK CAPITAL LETTER PI
- 0x00c7: 0x03a1, # GREEK CAPITAL LETTER RHO
- 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x00cf: 0x03a3, # GREEK CAPITAL LETTER SIGMA
- 0x00d0: 0x03a4, # GREEK CAPITAL LETTER TAU
- 0x00d1: 0x03a5, # GREEK CAPITAL LETTER UPSILON
- 0x00d2: 0x03a6, # GREEK CAPITAL LETTER PHI
- 0x00d3: 0x03a7, # GREEK CAPITAL LETTER CHI
- 0x00d4: 0x03a8, # GREEK CAPITAL LETTER PSI
- 0x00d5: 0x03a9, # GREEK CAPITAL LETTER OMEGA
- 0x00d6: 0x03b1, # GREEK SMALL LETTER ALPHA
- 0x00d7: 0x03b2, # GREEK SMALL LETTER BETA
- 0x00d8: 0x03b3, # GREEK SMALL LETTER GAMMA
- 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x00db: 0x2588, # FULL BLOCK
- 0x00dc: 0x2584, # LOWER HALF BLOCK
- 0x00dd: 0x03b4, # GREEK SMALL LETTER DELTA
- 0x00de: 0x03b5, # GREEK SMALL LETTER EPSILON
- 0x00df: 0x2580, # UPPER HALF BLOCK
- 0x00e0: 0x03b6, # GREEK SMALL LETTER ZETA
- 0x00e1: 0x03b7, # GREEK SMALL LETTER ETA
- 0x00e2: 0x03b8, # GREEK SMALL LETTER THETA
- 0x00e3: 0x03b9, # GREEK SMALL LETTER IOTA
- 0x00e4: 0x03ba, # GREEK SMALL LETTER KAPPA
- 0x00e5: 0x03bb, # GREEK SMALL LETTER LAMDA
- 0x00e6: 0x03bc, # GREEK SMALL LETTER MU
- 0x00e7: 0x03bd, # GREEK SMALL LETTER NU
- 0x00e8: 0x03be, # GREEK SMALL LETTER XI
- 0x00e9: 0x03bf, # GREEK SMALL LETTER OMICRON
- 0x00ea: 0x03c0, # GREEK SMALL LETTER PI
- 0x00eb: 0x03c1, # GREEK SMALL LETTER RHO
- 0x00ec: 0x03c3, # GREEK SMALL LETTER SIGMA
- 0x00ed: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
- 0x00ee: 0x03c4, # GREEK SMALL LETTER TAU
- 0x00ef: 0x0384, # GREEK TONOS
- 0x00f0: 0x00ad, # SOFT HYPHEN
- 0x00f1: 0x00b1, # PLUS-MINUS SIGN
- 0x00f2: 0x03c5, # GREEK SMALL LETTER UPSILON
- 0x00f3: 0x03c6, # GREEK SMALL LETTER PHI
- 0x00f4: 0x03c7, # GREEK SMALL LETTER CHI
- 0x00f5: 0x00a7, # SECTION SIGN
- 0x00f6: 0x03c8, # GREEK SMALL LETTER PSI
- 0x00f7: 0x0385, # GREEK DIALYTIKA TONOS
- 0x00f8: 0x00b0, # DEGREE SIGN
- 0x00f9: 0x00a8, # DIAERESIS
- 0x00fa: 0x03c9, # GREEK SMALL LETTER OMEGA
- 0x00fb: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x00fc: 0x03b0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- 0x00fd: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x00fe: 0x25a0, # BLACK SQUARE
- 0x00ff: 0x00a0, # NO-BREAK SPACE
+ 0x0080: None, # UNDEFINED
+ 0x0081: None, # UNDEFINED
+ 0x0082: None, # UNDEFINED
+ 0x0083: None, # UNDEFINED
+ 0x0084: None, # UNDEFINED
+ 0x0085: None, # UNDEFINED
+ 0x0086: 0x0386, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0087: None, # UNDEFINED
+ 0x0088: 0x00b7, # MIDDLE DOT
+ 0x0089: 0x00ac, # NOT SIGN
+ 0x008a: 0x00a6, # BROKEN BAR
+ 0x008b: 0x2018, # LEFT SINGLE QUOTATION MARK
+ 0x008c: 0x2019, # RIGHT SINGLE QUOTATION MARK
+ 0x008d: 0x0388, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x008e: 0x2015, # HORIZONTAL BAR
+ 0x008f: 0x0389, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x0090: 0x038a, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x0091: 0x03aa, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x0092: 0x038c, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x0093: None, # UNDEFINED
+ 0x0094: None, # UNDEFINED
+ 0x0095: 0x038e, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x0096: 0x03ab, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x0097: 0x00a9, # COPYRIGHT SIGN
+ 0x0098: 0x038f, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0099: 0x00b2, # SUPERSCRIPT TWO
+ 0x009a: 0x00b3, # SUPERSCRIPT THREE
+ 0x009b: 0x03ac, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x009c: 0x00a3, # POUND SIGN
+ 0x009d: 0x03ad, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x009e: 0x03ae, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x009f: 0x03af, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x00a0: 0x03ca, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x00a1: 0x0390, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ 0x00a2: 0x03cc, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x00a3: 0x03cd, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x00a4: 0x0391, # GREEK CAPITAL LETTER ALPHA
+ 0x00a5: 0x0392, # GREEK CAPITAL LETTER BETA
+ 0x00a6: 0x0393, # GREEK CAPITAL LETTER GAMMA
+ 0x00a7: 0x0394, # GREEK CAPITAL LETTER DELTA
+ 0x00a8: 0x0395, # GREEK CAPITAL LETTER EPSILON
+ 0x00a9: 0x0396, # GREEK CAPITAL LETTER ZETA
+ 0x00aa: 0x0397, # GREEK CAPITAL LETTER ETA
+ 0x00ab: 0x00bd, # VULGAR FRACTION ONE HALF
+ 0x00ac: 0x0398, # GREEK CAPITAL LETTER THETA
+ 0x00ad: 0x0399, # GREEK CAPITAL LETTER IOTA
+ 0x00ae: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00af: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00b0: 0x2591, # LIGHT SHADE
+ 0x00b1: 0x2592, # MEDIUM SHADE
+ 0x00b2: 0x2593, # DARK SHADE
+ 0x00b3: 0x2502, # BOX DRAWINGS LIGHT VERTICAL
+ 0x00b4: 0x2524, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x00b5: 0x039a, # GREEK CAPITAL LETTER KAPPA
+ 0x00b6: 0x039b, # GREEK CAPITAL LETTER LAMDA
+ 0x00b7: 0x039c, # GREEK CAPITAL LETTER MU
+ 0x00b8: 0x039d, # GREEK CAPITAL LETTER NU
+ 0x00b9: 0x2563, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x00ba: 0x2551, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x00bb: 0x2557, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x00bc: 0x255d, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x00bd: 0x039e, # GREEK CAPITAL LETTER XI
+ 0x00be: 0x039f, # GREEK CAPITAL LETTER OMICRON
+ 0x00bf: 0x2510, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x00c0: 0x2514, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x00c1: 0x2534, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x00c2: 0x252c, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x00c3: 0x251c, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x00c4: 0x2500, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x00c5: 0x253c, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x00c6: 0x03a0, # GREEK CAPITAL LETTER PI
+ 0x00c7: 0x03a1, # GREEK CAPITAL LETTER RHO
+ 0x00c8: 0x255a, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x00c9: 0x2554, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x00ca: 0x2569, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x00cb: 0x2566, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x00cc: 0x2560, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x00cd: 0x2550, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x00ce: 0x256c, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x00cf: 0x03a3, # GREEK CAPITAL LETTER SIGMA
+ 0x00d0: 0x03a4, # GREEK CAPITAL LETTER TAU
+ 0x00d1: 0x03a5, # GREEK CAPITAL LETTER UPSILON
+ 0x00d2: 0x03a6, # GREEK CAPITAL LETTER PHI
+ 0x00d3: 0x03a7, # GREEK CAPITAL LETTER CHI
+ 0x00d4: 0x03a8, # GREEK CAPITAL LETTER PSI
+ 0x00d5: 0x03a9, # GREEK CAPITAL LETTER OMEGA
+ 0x00d6: 0x03b1, # GREEK SMALL LETTER ALPHA
+ 0x00d7: 0x03b2, # GREEK SMALL LETTER BETA
+ 0x00d8: 0x03b3, # GREEK SMALL LETTER GAMMA
+ 0x00d9: 0x2518, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x00da: 0x250c, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x00db: 0x2588, # FULL BLOCK
+ 0x00dc: 0x2584, # LOWER HALF BLOCK
+ 0x00dd: 0x03b4, # GREEK SMALL LETTER DELTA
+ 0x00de: 0x03b5, # GREEK SMALL LETTER EPSILON
+ 0x00df: 0x2580, # UPPER HALF BLOCK
+ 0x00e0: 0x03b6, # GREEK SMALL LETTER ZETA
+ 0x00e1: 0x03b7, # GREEK SMALL LETTER ETA
+ 0x00e2: 0x03b8, # GREEK SMALL LETTER THETA
+ 0x00e3: 0x03b9, # GREEK SMALL LETTER IOTA
+ 0x00e4: 0x03ba, # GREEK SMALL LETTER KAPPA
+ 0x00e5: 0x03bb, # GREEK SMALL LETTER LAMDA
+ 0x00e6: 0x03bc, # GREEK SMALL LETTER MU
+ 0x00e7: 0x03bd, # GREEK SMALL LETTER NU
+ 0x00e8: 0x03be, # GREEK SMALL LETTER XI
+ 0x00e9: 0x03bf, # GREEK SMALL LETTER OMICRON
+ 0x00ea: 0x03c0, # GREEK SMALL LETTER PI
+ 0x00eb: 0x03c1, # GREEK SMALL LETTER RHO
+ 0x00ec: 0x03c3, # GREEK SMALL LETTER SIGMA
+ 0x00ed: 0x03c2, # GREEK SMALL LETTER FINAL SIGMA
+ 0x00ee: 0x03c4, # GREEK SMALL LETTER TAU
+ 0x00ef: 0x0384, # GREEK TONOS
+ 0x00f0: 0x00ad, # SOFT HYPHEN
+ 0x00f1: 0x00b1, # PLUS-MINUS SIGN
+ 0x00f2: 0x03c5, # GREEK SMALL LETTER UPSILON
+ 0x00f3: 0x03c6, # GREEK SMALL LETTER PHI
+ 0x00f4: 0x03c7, # GREEK SMALL LETTER CHI
+ 0x00f5: 0x00a7, # SECTION SIGN
+ 0x00f6: 0x03c8, # GREEK SMALL LETTER PSI
+ 0x00f7: 0x0385, # GREEK DIALYTIKA TONOS
+ 0x00f8: 0x00b0, # DEGREE SIGN
+ 0x00f9: 0x00a8, # DIAERESIS
+ 0x00fa: 0x03c9, # GREEK SMALL LETTER OMEGA
+ 0x00fb: 0x03cb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x00fc: 0x03b0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x00fd: 0x03ce, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x00fe: 0x25a0, # BLACK SQUARE
+ 0x00ff: 0x00a0, # NO-BREAK SPACE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> NULL
- u'\x01' # 0x0001 -> START OF HEADING
- u'\x02' # 0x0002 -> START OF TEXT
- u'\x03' # 0x0003 -> END OF TEXT
- u'\x04' # 0x0004 -> END OF TRANSMISSION
- u'\x05' # 0x0005 -> ENQUIRY
- u'\x06' # 0x0006 -> ACKNOWLEDGE
- u'\x07' # 0x0007 -> BELL
- u'\x08' # 0x0008 -> BACKSPACE
- u'\t' # 0x0009 -> HORIZONTAL TABULATION
- u'\n' # 0x000a -> LINE FEED
- u'\x0b' # 0x000b -> VERTICAL TABULATION
- u'\x0c' # 0x000c -> FORM FEED
- u'\r' # 0x000d -> CARRIAGE RETURN
- u'\x0e' # 0x000e -> SHIFT OUT
- u'\x0f' # 0x000f -> SHIFT IN
- u'\x10' # 0x0010 -> DATA LINK ESCAPE
- u'\x11' # 0x0011 -> DEVICE CONTROL ONE
- u'\x12' # 0x0012 -> DEVICE CONTROL TWO
- u'\x13' # 0x0013 -> DEVICE CONTROL THREE
- u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
- u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
- u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x0018 -> CANCEL
- u'\x19' # 0x0019 -> END OF MEDIUM
- u'\x1a' # 0x001a -> SUBSTITUTE
- u'\x1b' # 0x001b -> ESCAPE
- u'\x1c' # 0x001c -> FILE SEPARATOR
- u'\x1d' # 0x001d -> GROUP SEPARATOR
- u'\x1e' # 0x001e -> RECORD SEPARATOR
- u'\x1f' # 0x001f -> UNIT SEPARATOR
- u' ' # 0x0020 -> SPACE
- u'!' # 0x0021 -> EXCLAMATION MARK
- u'"' # 0x0022 -> QUOTATION MARK
- u'#' # 0x0023 -> NUMBER SIGN
- u'$' # 0x0024 -> DOLLAR SIGN
- u'%' # 0x0025 -> PERCENT SIGN
- u'&' # 0x0026 -> AMPERSAND
- u"'" # 0x0027 -> APOSTROPHE
- u'(' # 0x0028 -> LEFT PARENTHESIS
- u')' # 0x0029 -> RIGHT PARENTHESIS
- u'*' # 0x002a -> ASTERISK
- u'+' # 0x002b -> PLUS SIGN
- u',' # 0x002c -> COMMA
- u'-' # 0x002d -> HYPHEN-MINUS
- u'.' # 0x002e -> FULL STOP
- u'/' # 0x002f -> SOLIDUS
- u'0' # 0x0030 -> DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE
- u':' # 0x003a -> COLON
- u';' # 0x003b -> SEMICOLON
- u'<' # 0x003c -> LESS-THAN SIGN
- u'=' # 0x003d -> EQUALS SIGN
- u'>' # 0x003e -> GREATER-THAN SIGN
- u'?' # 0x003f -> QUESTION MARK
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET
- u'\\' # 0x005c -> REVERSE SOLIDUS
- u']' # 0x005d -> RIGHT SQUARE BRACKET
- u'^' # 0x005e -> CIRCUMFLEX ACCENT
- u'_' # 0x005f -> LOW LINE
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET
- u'|' # 0x007c -> VERTICAL LINE
- u'}' # 0x007d -> RIGHT CURLY BRACKET
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> DELETE
- u'\ufffe' # 0x0080 -> UNDEFINED
- u'\ufffe' # 0x0081 -> UNDEFINED
- u'\ufffe' # 0x0082 -> UNDEFINED
- u'\ufffe' # 0x0083 -> UNDEFINED
- u'\ufffe' # 0x0084 -> UNDEFINED
- u'\ufffe' # 0x0085 -> UNDEFINED
- u'\u0386' # 0x0086 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
- u'\ufffe' # 0x0087 -> UNDEFINED
- u'\xb7' # 0x0088 -> MIDDLE DOT
- u'\xac' # 0x0089 -> NOT SIGN
- u'\xa6' # 0x008a -> BROKEN BAR
- u'\u2018' # 0x008b -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x008c -> RIGHT SINGLE QUOTATION MARK
- u'\u0388' # 0x008d -> GREEK CAPITAL LETTER EPSILON WITH TONOS
- u'\u2015' # 0x008e -> HORIZONTAL BAR
- u'\u0389' # 0x008f -> GREEK CAPITAL LETTER ETA WITH TONOS
- u'\u038a' # 0x0090 -> GREEK CAPITAL LETTER IOTA WITH TONOS
- u'\u03aa' # 0x0091 -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- u'\u038c' # 0x0092 -> GREEK CAPITAL LETTER OMICRON WITH TONOS
- u'\ufffe' # 0x0093 -> UNDEFINED
- u'\ufffe' # 0x0094 -> UNDEFINED
- u'\u038e' # 0x0095 -> GREEK CAPITAL LETTER UPSILON WITH TONOS
- u'\u03ab' # 0x0096 -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- u'\xa9' # 0x0097 -> COPYRIGHT SIGN
- u'\u038f' # 0x0098 -> GREEK CAPITAL LETTER OMEGA WITH TONOS
- u'\xb2' # 0x0099 -> SUPERSCRIPT TWO
- u'\xb3' # 0x009a -> SUPERSCRIPT THREE
- u'\u03ac' # 0x009b -> GREEK SMALL LETTER ALPHA WITH TONOS
- u'\xa3' # 0x009c -> POUND SIGN
- u'\u03ad' # 0x009d -> GREEK SMALL LETTER EPSILON WITH TONOS
- u'\u03ae' # 0x009e -> GREEK SMALL LETTER ETA WITH TONOS
- u'\u03af' # 0x009f -> GREEK SMALL LETTER IOTA WITH TONOS
- u'\u03ca' # 0x00a0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
- u'\u0390' # 0x00a1 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- u'\u03cc' # 0x00a2 -> GREEK SMALL LETTER OMICRON WITH TONOS
- u'\u03cd' # 0x00a3 -> GREEK SMALL LETTER UPSILON WITH TONOS
- u'\u0391' # 0x00a4 -> GREEK CAPITAL LETTER ALPHA
- u'\u0392' # 0x00a5 -> GREEK CAPITAL LETTER BETA
- u'\u0393' # 0x00a6 -> GREEK CAPITAL LETTER GAMMA
- u'\u0394' # 0x00a7 -> GREEK CAPITAL LETTER DELTA
- u'\u0395' # 0x00a8 -> GREEK CAPITAL LETTER EPSILON
- u'\u0396' # 0x00a9 -> GREEK CAPITAL LETTER ZETA
- u'\u0397' # 0x00aa -> GREEK CAPITAL LETTER ETA
- u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
- u'\u0398' # 0x00ac -> GREEK CAPITAL LETTER THETA
- u'\u0399' # 0x00ad -> GREEK CAPITAL LETTER IOTA
- u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2591' # 0x00b0 -> LIGHT SHADE
- u'\u2592' # 0x00b1 -> MEDIUM SHADE
- u'\u2593' # 0x00b2 -> DARK SHADE
- u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u039a' # 0x00b5 -> GREEK CAPITAL LETTER KAPPA
- u'\u039b' # 0x00b6 -> GREEK CAPITAL LETTER LAMDA
- u'\u039c' # 0x00b7 -> GREEK CAPITAL LETTER MU
- u'\u039d' # 0x00b8 -> GREEK CAPITAL LETTER NU
- u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u039e' # 0x00bd -> GREEK CAPITAL LETTER XI
- u'\u039f' # 0x00be -> GREEK CAPITAL LETTER OMICRON
- u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u03a0' # 0x00c6 -> GREEK CAPITAL LETTER PI
- u'\u03a1' # 0x00c7 -> GREEK CAPITAL LETTER RHO
- u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\u03a3' # 0x00cf -> GREEK CAPITAL LETTER SIGMA
- u'\u03a4' # 0x00d0 -> GREEK CAPITAL LETTER TAU
- u'\u03a5' # 0x00d1 -> GREEK CAPITAL LETTER UPSILON
- u'\u03a6' # 0x00d2 -> GREEK CAPITAL LETTER PHI
- u'\u03a7' # 0x00d3 -> GREEK CAPITAL LETTER CHI
- u'\u03a8' # 0x00d4 -> GREEK CAPITAL LETTER PSI
- u'\u03a9' # 0x00d5 -> GREEK CAPITAL LETTER OMEGA
- u'\u03b1' # 0x00d6 -> GREEK SMALL LETTER ALPHA
- u'\u03b2' # 0x00d7 -> GREEK SMALL LETTER BETA
- u'\u03b3' # 0x00d8 -> GREEK SMALL LETTER GAMMA
- u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2588' # 0x00db -> FULL BLOCK
- u'\u2584' # 0x00dc -> LOWER HALF BLOCK
- u'\u03b4' # 0x00dd -> GREEK SMALL LETTER DELTA
- u'\u03b5' # 0x00de -> GREEK SMALL LETTER EPSILON
- u'\u2580' # 0x00df -> UPPER HALF BLOCK
- u'\u03b6' # 0x00e0 -> GREEK SMALL LETTER ZETA
- u'\u03b7' # 0x00e1 -> GREEK SMALL LETTER ETA
- u'\u03b8' # 0x00e2 -> GREEK SMALL LETTER THETA
- u'\u03b9' # 0x00e3 -> GREEK SMALL LETTER IOTA
- u'\u03ba' # 0x00e4 -> GREEK SMALL LETTER KAPPA
- u'\u03bb' # 0x00e5 -> GREEK SMALL LETTER LAMDA
- u'\u03bc' # 0x00e6 -> GREEK SMALL LETTER MU
- u'\u03bd' # 0x00e7 -> GREEK SMALL LETTER NU
- u'\u03be' # 0x00e8 -> GREEK SMALL LETTER XI
- u'\u03bf' # 0x00e9 -> GREEK SMALL LETTER OMICRON
- u'\u03c0' # 0x00ea -> GREEK SMALL LETTER PI
- u'\u03c1' # 0x00eb -> GREEK SMALL LETTER RHO
- u'\u03c3' # 0x00ec -> GREEK SMALL LETTER SIGMA
- u'\u03c2' # 0x00ed -> GREEK SMALL LETTER FINAL SIGMA
- u'\u03c4' # 0x00ee -> GREEK SMALL LETTER TAU
- u'\u0384' # 0x00ef -> GREEK TONOS
- u'\xad' # 0x00f0 -> SOFT HYPHEN
- u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
- u'\u03c5' # 0x00f2 -> GREEK SMALL LETTER UPSILON
- u'\u03c6' # 0x00f3 -> GREEK SMALL LETTER PHI
- u'\u03c7' # 0x00f4 -> GREEK SMALL LETTER CHI
- u'\xa7' # 0x00f5 -> SECTION SIGN
- u'\u03c8' # 0x00f6 -> GREEK SMALL LETTER PSI
- u'\u0385' # 0x00f7 -> GREEK DIALYTIKA TONOS
- u'\xb0' # 0x00f8 -> DEGREE SIGN
- u'\xa8' # 0x00f9 -> DIAERESIS
- u'\u03c9' # 0x00fa -> GREEK SMALL LETTER OMEGA
- u'\u03cb' # 0x00fb -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- u'\u03b0' # 0x00fc -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- u'\u03ce' # 0x00fd -> GREEK SMALL LETTER OMEGA WITH TONOS
- u'\u25a0' # 0x00fe -> BLACK SQUARE
- u'\xa0' # 0x00ff -> NO-BREAK SPACE
+ u'\x00' # 0x0000 -> NULL
+ u'\x01' # 0x0001 -> START OF HEADING
+ u'\x02' # 0x0002 -> START OF TEXT
+ u'\x03' # 0x0003 -> END OF TEXT
+ u'\x04' # 0x0004 -> END OF TRANSMISSION
+ u'\x05' # 0x0005 -> ENQUIRY
+ u'\x06' # 0x0006 -> ACKNOWLEDGE
+ u'\x07' # 0x0007 -> BELL
+ u'\x08' # 0x0008 -> BACKSPACE
+ u'\t' # 0x0009 -> HORIZONTAL TABULATION
+ u'\n' # 0x000a -> LINE FEED
+ u'\x0b' # 0x000b -> VERTICAL TABULATION
+ u'\x0c' # 0x000c -> FORM FEED
+ u'\r' # 0x000d -> CARRIAGE RETURN
+ u'\x0e' # 0x000e -> SHIFT OUT
+ u'\x0f' # 0x000f -> SHIFT IN
+ u'\x10' # 0x0010 -> DATA LINK ESCAPE
+ u'\x11' # 0x0011 -> DEVICE CONTROL ONE
+ u'\x12' # 0x0012 -> DEVICE CONTROL TWO
+ u'\x13' # 0x0013 -> DEVICE CONTROL THREE
+ u'\x14' # 0x0014 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x0015 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x0016 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x0017 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x0018 -> CANCEL
+ u'\x19' # 0x0019 -> END OF MEDIUM
+ u'\x1a' # 0x001a -> SUBSTITUTE
+ u'\x1b' # 0x001b -> ESCAPE
+ u'\x1c' # 0x001c -> FILE SEPARATOR
+ u'\x1d' # 0x001d -> GROUP SEPARATOR
+ u'\x1e' # 0x001e -> RECORD SEPARATOR
+ u'\x1f' # 0x001f -> UNIT SEPARATOR
+ u' ' # 0x0020 -> SPACE
+ u'!' # 0x0021 -> EXCLAMATION MARK
+ u'"' # 0x0022 -> QUOTATION MARK
+ u'#' # 0x0023 -> NUMBER SIGN
+ u'$' # 0x0024 -> DOLLAR SIGN
+ u'%' # 0x0025 -> PERCENT SIGN
+ u'&' # 0x0026 -> AMPERSAND
+ u"'" # 0x0027 -> APOSTROPHE
+ u'(' # 0x0028 -> LEFT PARENTHESIS
+ u')' # 0x0029 -> RIGHT PARENTHESIS
+ u'*' # 0x002a -> ASTERISK
+ u'+' # 0x002b -> PLUS SIGN
+ u',' # 0x002c -> COMMA
+ u'-' # 0x002d -> HYPHEN-MINUS
+ u'.' # 0x002e -> FULL STOP
+ u'/' # 0x002f -> SOLIDUS
+ u'0' # 0x0030 -> DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE
+ u':' # 0x003a -> COLON
+ u';' # 0x003b -> SEMICOLON
+ u'<' # 0x003c -> LESS-THAN SIGN
+ u'=' # 0x003d -> EQUALS SIGN
+ u'>' # 0x003e -> GREATER-THAN SIGN
+ u'?' # 0x003f -> QUESTION MARK
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET
+ u'\\' # 0x005c -> REVERSE SOLIDUS
+ u']' # 0x005d -> RIGHT SQUARE BRACKET
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT
+ u'_' # 0x005f -> LOW LINE
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET
+ u'|' # 0x007c -> VERTICAL LINE
+ u'}' # 0x007d -> RIGHT CURLY BRACKET
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> DELETE
+ u'\ufffe' # 0x0080 -> UNDEFINED
+ u'\ufffe' # 0x0081 -> UNDEFINED
+ u'\ufffe' # 0x0082 -> UNDEFINED
+ u'\ufffe' # 0x0083 -> UNDEFINED
+ u'\ufffe' # 0x0084 -> UNDEFINED
+ u'\ufffe' # 0x0085 -> UNDEFINED
+ u'\u0386' # 0x0086 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
+ u'\ufffe' # 0x0087 -> UNDEFINED
+ u'\xb7' # 0x0088 -> MIDDLE DOT
+ u'\xac' # 0x0089 -> NOT SIGN
+ u'\xa6' # 0x008a -> BROKEN BAR
+ u'\u2018' # 0x008b -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x008c -> RIGHT SINGLE QUOTATION MARK
+ u'\u0388' # 0x008d -> GREEK CAPITAL LETTER EPSILON WITH TONOS
+ u'\u2015' # 0x008e -> HORIZONTAL BAR
+ u'\u0389' # 0x008f -> GREEK CAPITAL LETTER ETA WITH TONOS
+ u'\u038a' # 0x0090 -> GREEK CAPITAL LETTER IOTA WITH TONOS
+ u'\u03aa' # 0x0091 -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ u'\u038c' # 0x0092 -> GREEK CAPITAL LETTER OMICRON WITH TONOS
+ u'\ufffe' # 0x0093 -> UNDEFINED
+ u'\ufffe' # 0x0094 -> UNDEFINED
+ u'\u038e' # 0x0095 -> GREEK CAPITAL LETTER UPSILON WITH TONOS
+ u'\u03ab' # 0x0096 -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ u'\xa9' # 0x0097 -> COPYRIGHT SIGN
+ u'\u038f' # 0x0098 -> GREEK CAPITAL LETTER OMEGA WITH TONOS
+ u'\xb2' # 0x0099 -> SUPERSCRIPT TWO
+ u'\xb3' # 0x009a -> SUPERSCRIPT THREE
+ u'\u03ac' # 0x009b -> GREEK SMALL LETTER ALPHA WITH TONOS
+ u'\xa3' # 0x009c -> POUND SIGN
+ u'\u03ad' # 0x009d -> GREEK SMALL LETTER EPSILON WITH TONOS
+ u'\u03ae' # 0x009e -> GREEK SMALL LETTER ETA WITH TONOS
+ u'\u03af' # 0x009f -> GREEK SMALL LETTER IOTA WITH TONOS
+ u'\u03ca' # 0x00a0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ u'\u0390' # 0x00a1 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ u'\u03cc' # 0x00a2 -> GREEK SMALL LETTER OMICRON WITH TONOS
+ u'\u03cd' # 0x00a3 -> GREEK SMALL LETTER UPSILON WITH TONOS
+ u'\u0391' # 0x00a4 -> GREEK CAPITAL LETTER ALPHA
+ u'\u0392' # 0x00a5 -> GREEK CAPITAL LETTER BETA
+ u'\u0393' # 0x00a6 -> GREEK CAPITAL LETTER GAMMA
+ u'\u0394' # 0x00a7 -> GREEK CAPITAL LETTER DELTA
+ u'\u0395' # 0x00a8 -> GREEK CAPITAL LETTER EPSILON
+ u'\u0396' # 0x00a9 -> GREEK CAPITAL LETTER ZETA
+ u'\u0397' # 0x00aa -> GREEK CAPITAL LETTER ETA
+ u'\xbd' # 0x00ab -> VULGAR FRACTION ONE HALF
+ u'\u0398' # 0x00ac -> GREEK CAPITAL LETTER THETA
+ u'\u0399' # 0x00ad -> GREEK CAPITAL LETTER IOTA
+ u'\xab' # 0x00ae -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0x00af -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2591' # 0x00b0 -> LIGHT SHADE
+ u'\u2592' # 0x00b1 -> MEDIUM SHADE
+ u'\u2593' # 0x00b2 -> DARK SHADE
+ u'\u2502' # 0x00b3 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u2524' # 0x00b4 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u039a' # 0x00b5 -> GREEK CAPITAL LETTER KAPPA
+ u'\u039b' # 0x00b6 -> GREEK CAPITAL LETTER LAMDA
+ u'\u039c' # 0x00b7 -> GREEK CAPITAL LETTER MU
+ u'\u039d' # 0x00b8 -> GREEK CAPITAL LETTER NU
+ u'\u2563' # 0x00b9 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2551' # 0x00ba -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2557' # 0x00bb -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u255d' # 0x00bc -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u039e' # 0x00bd -> GREEK CAPITAL LETTER XI
+ u'\u039f' # 0x00be -> GREEK CAPITAL LETTER OMICRON
+ u'\u2510' # 0x00bf -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x00c0 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2534' # 0x00c1 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u252c' # 0x00c2 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u251c' # 0x00c3 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2500' # 0x00c4 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u253c' # 0x00c5 -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u03a0' # 0x00c6 -> GREEK CAPITAL LETTER PI
+ u'\u03a1' # 0x00c7 -> GREEK CAPITAL LETTER RHO
+ u'\u255a' # 0x00c8 -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u2554' # 0x00c9 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2569' # 0x00ca -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u2566' # 0x00cb -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2560' # 0x00cc -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2550' # 0x00cd -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u256c' # 0x00ce -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\u03a3' # 0x00cf -> GREEK CAPITAL LETTER SIGMA
+ u'\u03a4' # 0x00d0 -> GREEK CAPITAL LETTER TAU
+ u'\u03a5' # 0x00d1 -> GREEK CAPITAL LETTER UPSILON
+ u'\u03a6' # 0x00d2 -> GREEK CAPITAL LETTER PHI
+ u'\u03a7' # 0x00d3 -> GREEK CAPITAL LETTER CHI
+ u'\u03a8' # 0x00d4 -> GREEK CAPITAL LETTER PSI
+ u'\u03a9' # 0x00d5 -> GREEK CAPITAL LETTER OMEGA
+ u'\u03b1' # 0x00d6 -> GREEK SMALL LETTER ALPHA
+ u'\u03b2' # 0x00d7 -> GREEK SMALL LETTER BETA
+ u'\u03b3' # 0x00d8 -> GREEK SMALL LETTER GAMMA
+ u'\u2518' # 0x00d9 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u250c' # 0x00da -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2588' # 0x00db -> FULL BLOCK
+ u'\u2584' # 0x00dc -> LOWER HALF BLOCK
+ u'\u03b4' # 0x00dd -> GREEK SMALL LETTER DELTA
+ u'\u03b5' # 0x00de -> GREEK SMALL LETTER EPSILON
+ u'\u2580' # 0x00df -> UPPER HALF BLOCK
+ u'\u03b6' # 0x00e0 -> GREEK SMALL LETTER ZETA
+ u'\u03b7' # 0x00e1 -> GREEK SMALL LETTER ETA
+ u'\u03b8' # 0x00e2 -> GREEK SMALL LETTER THETA
+ u'\u03b9' # 0x00e3 -> GREEK SMALL LETTER IOTA
+ u'\u03ba' # 0x00e4 -> GREEK SMALL LETTER KAPPA
+ u'\u03bb' # 0x00e5 -> GREEK SMALL LETTER LAMDA
+ u'\u03bc' # 0x00e6 -> GREEK SMALL LETTER MU
+ u'\u03bd' # 0x00e7 -> GREEK SMALL LETTER NU
+ u'\u03be' # 0x00e8 -> GREEK SMALL LETTER XI
+ u'\u03bf' # 0x00e9 -> GREEK SMALL LETTER OMICRON
+ u'\u03c0' # 0x00ea -> GREEK SMALL LETTER PI
+ u'\u03c1' # 0x00eb -> GREEK SMALL LETTER RHO
+ u'\u03c3' # 0x00ec -> GREEK SMALL LETTER SIGMA
+ u'\u03c2' # 0x00ed -> GREEK SMALL LETTER FINAL SIGMA
+ u'\u03c4' # 0x00ee -> GREEK SMALL LETTER TAU
+ u'\u0384' # 0x00ef -> GREEK TONOS
+ u'\xad' # 0x00f0 -> SOFT HYPHEN
+ u'\xb1' # 0x00f1 -> PLUS-MINUS SIGN
+ u'\u03c5' # 0x00f2 -> GREEK SMALL LETTER UPSILON
+ u'\u03c6' # 0x00f3 -> GREEK SMALL LETTER PHI
+ u'\u03c7' # 0x00f4 -> GREEK SMALL LETTER CHI
+ u'\xa7' # 0x00f5 -> SECTION SIGN
+ u'\u03c8' # 0x00f6 -> GREEK SMALL LETTER PSI
+ u'\u0385' # 0x00f7 -> GREEK DIALYTIKA TONOS
+ u'\xb0' # 0x00f8 -> DEGREE SIGN
+ u'\xa8' # 0x00f9 -> DIAERESIS
+ u'\u03c9' # 0x00fa -> GREEK SMALL LETTER OMEGA
+ u'\u03cb' # 0x00fb -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ u'\u03b0' # 0x00fc -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ u'\u03ce' # 0x00fd -> GREEK SMALL LETTER OMEGA WITH TONOS
+ u'\u25a0' # 0x00fe -> BLACK SQUARE
+ u'\xa0' # 0x00ff -> NO-BREAK SPACE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # NULL
- 0x0001: 0x0001, # START OF HEADING
- 0x0002: 0x0002, # START OF TEXT
- 0x0003: 0x0003, # END OF TEXT
- 0x0004: 0x0004, # END OF TRANSMISSION
- 0x0005: 0x0005, # ENQUIRY
- 0x0006: 0x0006, # ACKNOWLEDGE
- 0x0007: 0x0007, # BELL
- 0x0008: 0x0008, # BACKSPACE
- 0x0009: 0x0009, # HORIZONTAL TABULATION
- 0x000a: 0x000a, # LINE FEED
- 0x000b: 0x000b, # VERTICAL TABULATION
- 0x000c: 0x000c, # FORM FEED
- 0x000d: 0x000d, # CARRIAGE RETURN
- 0x000e: 0x000e, # SHIFT OUT
- 0x000f: 0x000f, # SHIFT IN
- 0x0010: 0x0010, # DATA LINK ESCAPE
- 0x0011: 0x0011, # DEVICE CONTROL ONE
- 0x0012: 0x0012, # DEVICE CONTROL TWO
- 0x0013: 0x0013, # DEVICE CONTROL THREE
- 0x0014: 0x0014, # DEVICE CONTROL FOUR
- 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x0016, # SYNCHRONOUS IDLE
- 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
- 0x0018: 0x0018, # CANCEL
- 0x0019: 0x0019, # END OF MEDIUM
- 0x001a: 0x001a, # SUBSTITUTE
- 0x001b: 0x001b, # ESCAPE
- 0x001c: 0x001c, # FILE SEPARATOR
- 0x001d: 0x001d, # GROUP SEPARATOR
- 0x001e: 0x001e, # RECORD SEPARATOR
- 0x001f: 0x001f, # UNIT SEPARATOR
- 0x0020: 0x0020, # SPACE
- 0x0021: 0x0021, # EXCLAMATION MARK
- 0x0022: 0x0022, # QUOTATION MARK
- 0x0023: 0x0023, # NUMBER SIGN
- 0x0024: 0x0024, # DOLLAR SIGN
- 0x0025: 0x0025, # PERCENT SIGN
- 0x0026: 0x0026, # AMPERSAND
- 0x0027: 0x0027, # APOSTROPHE
- 0x0028: 0x0028, # LEFT PARENTHESIS
- 0x0029: 0x0029, # RIGHT PARENTHESIS
- 0x002a: 0x002a, # ASTERISK
- 0x002b: 0x002b, # PLUS SIGN
- 0x002c: 0x002c, # COMMA
- 0x002d: 0x002d, # HYPHEN-MINUS
- 0x002e: 0x002e, # FULL STOP
- 0x002f: 0x002f, # SOLIDUS
- 0x0030: 0x0030, # DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE
- 0x003a: 0x003a, # COLON
- 0x003b: 0x003b, # SEMICOLON
- 0x003c: 0x003c, # LESS-THAN SIGN
- 0x003d: 0x003d, # EQUALS SIGN
- 0x003e: 0x003e, # GREATER-THAN SIGN
- 0x003f: 0x003f, # QUESTION MARK
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET
- 0x005c: 0x005c, # REVERSE SOLIDUS
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT
- 0x005f: 0x005f, # LOW LINE
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET
- 0x007c: 0x007c, # VERTICAL LINE
- 0x007d: 0x007d, # RIGHT CURLY BRACKET
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # DELETE
- 0x00a0: 0x00ff, # NO-BREAK SPACE
- 0x00a3: 0x009c, # POUND SIGN
- 0x00a6: 0x008a, # BROKEN BAR
- 0x00a7: 0x00f5, # SECTION SIGN
- 0x00a8: 0x00f9, # DIAERESIS
- 0x00a9: 0x0097, # COPYRIGHT SIGN
- 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00ac: 0x0089, # NOT SIGN
- 0x00ad: 0x00f0, # SOFT HYPHEN
- 0x00b0: 0x00f8, # DEGREE SIGN
- 0x00b1: 0x00f1, # PLUS-MINUS SIGN
- 0x00b2: 0x0099, # SUPERSCRIPT TWO
- 0x00b3: 0x009a, # SUPERSCRIPT THREE
- 0x00b7: 0x0088, # MIDDLE DOT
- 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
- 0x0384: 0x00ef, # GREEK TONOS
- 0x0385: 0x00f7, # GREEK DIALYTIKA TONOS
- 0x0386: 0x0086, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0388: 0x008d, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x0389: 0x008f, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x038a: 0x0090, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x038c: 0x0092, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x038e: 0x0095, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x038f: 0x0098, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0390: 0x00a1, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x0391: 0x00a4, # GREEK CAPITAL LETTER ALPHA
- 0x0392: 0x00a5, # GREEK CAPITAL LETTER BETA
- 0x0393: 0x00a6, # GREEK CAPITAL LETTER GAMMA
- 0x0394: 0x00a7, # GREEK CAPITAL LETTER DELTA
- 0x0395: 0x00a8, # GREEK CAPITAL LETTER EPSILON
- 0x0396: 0x00a9, # GREEK CAPITAL LETTER ZETA
- 0x0397: 0x00aa, # GREEK CAPITAL LETTER ETA
- 0x0398: 0x00ac, # GREEK CAPITAL LETTER THETA
- 0x0399: 0x00ad, # GREEK CAPITAL LETTER IOTA
- 0x039a: 0x00b5, # GREEK CAPITAL LETTER KAPPA
- 0x039b: 0x00b6, # GREEK CAPITAL LETTER LAMDA
- 0x039c: 0x00b7, # GREEK CAPITAL LETTER MU
- 0x039d: 0x00b8, # GREEK CAPITAL LETTER NU
- 0x039e: 0x00bd, # GREEK CAPITAL LETTER XI
- 0x039f: 0x00be, # GREEK CAPITAL LETTER OMICRON
- 0x03a0: 0x00c6, # GREEK CAPITAL LETTER PI
- 0x03a1: 0x00c7, # GREEK CAPITAL LETTER RHO
- 0x03a3: 0x00cf, # GREEK CAPITAL LETTER SIGMA
- 0x03a4: 0x00d0, # GREEK CAPITAL LETTER TAU
- 0x03a5: 0x00d1, # GREEK CAPITAL LETTER UPSILON
- 0x03a6: 0x00d2, # GREEK CAPITAL LETTER PHI
- 0x03a7: 0x00d3, # GREEK CAPITAL LETTER CHI
- 0x03a8: 0x00d4, # GREEK CAPITAL LETTER PSI
- 0x03a9: 0x00d5, # GREEK CAPITAL LETTER OMEGA
- 0x03aa: 0x0091, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x03ab: 0x0096, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x03ac: 0x009b, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x03ad: 0x009d, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x03ae: 0x009e, # GREEK SMALL LETTER ETA WITH TONOS
- 0x03af: 0x009f, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x03b0: 0x00fc, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- 0x03b1: 0x00d6, # GREEK SMALL LETTER ALPHA
- 0x03b2: 0x00d7, # GREEK SMALL LETTER BETA
- 0x03b3: 0x00d8, # GREEK SMALL LETTER GAMMA
- 0x03b4: 0x00dd, # GREEK SMALL LETTER DELTA
- 0x03b5: 0x00de, # GREEK SMALL LETTER EPSILON
- 0x03b6: 0x00e0, # GREEK SMALL LETTER ZETA
- 0x03b7: 0x00e1, # GREEK SMALL LETTER ETA
- 0x03b8: 0x00e2, # GREEK SMALL LETTER THETA
- 0x03b9: 0x00e3, # GREEK SMALL LETTER IOTA
- 0x03ba: 0x00e4, # GREEK SMALL LETTER KAPPA
- 0x03bb: 0x00e5, # GREEK SMALL LETTER LAMDA
- 0x03bc: 0x00e6, # GREEK SMALL LETTER MU
- 0x03bd: 0x00e7, # GREEK SMALL LETTER NU
- 0x03be: 0x00e8, # GREEK SMALL LETTER XI
- 0x03bf: 0x00e9, # GREEK SMALL LETTER OMICRON
- 0x03c0: 0x00ea, # GREEK SMALL LETTER PI
- 0x03c1: 0x00eb, # GREEK SMALL LETTER RHO
- 0x03c2: 0x00ed, # GREEK SMALL LETTER FINAL SIGMA
- 0x03c3: 0x00ec, # GREEK SMALL LETTER SIGMA
- 0x03c4: 0x00ee, # GREEK SMALL LETTER TAU
- 0x03c5: 0x00f2, # GREEK SMALL LETTER UPSILON
- 0x03c6: 0x00f3, # GREEK SMALL LETTER PHI
- 0x03c7: 0x00f4, # GREEK SMALL LETTER CHI
- 0x03c8: 0x00f6, # GREEK SMALL LETTER PSI
- 0x03c9: 0x00fa, # GREEK SMALL LETTER OMEGA
- 0x03ca: 0x00a0, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x03cb: 0x00fb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x03cc: 0x00a2, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x03cd: 0x00a3, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x03ce: 0x00fd, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x2015: 0x008e, # HORIZONTAL BAR
- 0x2018: 0x008b, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x008c, # RIGHT SINGLE QUOTATION MARK
- 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
- 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x00df, # UPPER HALF BLOCK
- 0x2584: 0x00dc, # LOWER HALF BLOCK
- 0x2588: 0x00db, # FULL BLOCK
- 0x2591: 0x00b0, # LIGHT SHADE
- 0x2592: 0x00b1, # MEDIUM SHADE
- 0x2593: 0x00b2, # DARK SHADE
- 0x25a0: 0x00fe, # BLACK SQUARE
-} \ No newline at end of file
+ 0x0000: 0x0000, # NULL
+ 0x0001: 0x0001, # START OF HEADING
+ 0x0002: 0x0002, # START OF TEXT
+ 0x0003: 0x0003, # END OF TEXT
+ 0x0004: 0x0004, # END OF TRANSMISSION
+ 0x0005: 0x0005, # ENQUIRY
+ 0x0006: 0x0006, # ACKNOWLEDGE
+ 0x0007: 0x0007, # BELL
+ 0x0008: 0x0008, # BACKSPACE
+ 0x0009: 0x0009, # HORIZONTAL TABULATION
+ 0x000a: 0x000a, # LINE FEED
+ 0x000b: 0x000b, # VERTICAL TABULATION
+ 0x000c: 0x000c, # FORM FEED
+ 0x000d: 0x000d, # CARRIAGE RETURN
+ 0x000e: 0x000e, # SHIFT OUT
+ 0x000f: 0x000f, # SHIFT IN
+ 0x0010: 0x0010, # DATA LINK ESCAPE
+ 0x0011: 0x0011, # DEVICE CONTROL ONE
+ 0x0012: 0x0012, # DEVICE CONTROL TWO
+ 0x0013: 0x0013, # DEVICE CONTROL THREE
+ 0x0014: 0x0014, # DEVICE CONTROL FOUR
+ 0x0015: 0x0015, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x0016, # SYNCHRONOUS IDLE
+ 0x0017: 0x0017, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x0018, # CANCEL
+ 0x0019: 0x0019, # END OF MEDIUM
+ 0x001a: 0x001a, # SUBSTITUTE
+ 0x001b: 0x001b, # ESCAPE
+ 0x001c: 0x001c, # FILE SEPARATOR
+ 0x001d: 0x001d, # GROUP SEPARATOR
+ 0x001e: 0x001e, # RECORD SEPARATOR
+ 0x001f: 0x001f, # UNIT SEPARATOR
+ 0x0020: 0x0020, # SPACE
+ 0x0021: 0x0021, # EXCLAMATION MARK
+ 0x0022: 0x0022, # QUOTATION MARK
+ 0x0023: 0x0023, # NUMBER SIGN
+ 0x0024: 0x0024, # DOLLAR SIGN
+ 0x0025: 0x0025, # PERCENT SIGN
+ 0x0026: 0x0026, # AMPERSAND
+ 0x0027: 0x0027, # APOSTROPHE
+ 0x0028: 0x0028, # LEFT PARENTHESIS
+ 0x0029: 0x0029, # RIGHT PARENTHESIS
+ 0x002a: 0x002a, # ASTERISK
+ 0x002b: 0x002b, # PLUS SIGN
+ 0x002c: 0x002c, # COMMA
+ 0x002d: 0x002d, # HYPHEN-MINUS
+ 0x002e: 0x002e, # FULL STOP
+ 0x002f: 0x002f, # SOLIDUS
+ 0x0030: 0x0030, # DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE
+ 0x003a: 0x003a, # COLON
+ 0x003b: 0x003b, # SEMICOLON
+ 0x003c: 0x003c, # LESS-THAN SIGN
+ 0x003d: 0x003d, # EQUALS SIGN
+ 0x003e: 0x003e, # GREATER-THAN SIGN
+ 0x003f: 0x003f, # QUESTION MARK
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET
+ 0x005c: 0x005c, # REVERSE SOLIDUS
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT
+ 0x005f: 0x005f, # LOW LINE
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET
+ 0x007c: 0x007c, # VERTICAL LINE
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # DELETE
+ 0x00a0: 0x00ff, # NO-BREAK SPACE
+ 0x00a3: 0x009c, # POUND SIGN
+ 0x00a6: 0x008a, # BROKEN BAR
+ 0x00a7: 0x00f5, # SECTION SIGN
+ 0x00a8: 0x00f9, # DIAERESIS
+ 0x00a9: 0x0097, # COPYRIGHT SIGN
+ 0x00ab: 0x00ae, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00ac: 0x0089, # NOT SIGN
+ 0x00ad: 0x00f0, # SOFT HYPHEN
+ 0x00b0: 0x00f8, # DEGREE SIGN
+ 0x00b1: 0x00f1, # PLUS-MINUS SIGN
+ 0x00b2: 0x0099, # SUPERSCRIPT TWO
+ 0x00b3: 0x009a, # SUPERSCRIPT THREE
+ 0x00b7: 0x0088, # MIDDLE DOT
+ 0x00bb: 0x00af, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00bd: 0x00ab, # VULGAR FRACTION ONE HALF
+ 0x0384: 0x00ef, # GREEK TONOS
+ 0x0385: 0x00f7, # GREEK DIALYTIKA TONOS
+ 0x0386: 0x0086, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0388: 0x008d, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x0389: 0x008f, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x038a: 0x0090, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x038c: 0x0092, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x038e: 0x0095, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x038f: 0x0098, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0390: 0x00a1, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ 0x0391: 0x00a4, # GREEK CAPITAL LETTER ALPHA
+ 0x0392: 0x00a5, # GREEK CAPITAL LETTER BETA
+ 0x0393: 0x00a6, # GREEK CAPITAL LETTER GAMMA
+ 0x0394: 0x00a7, # GREEK CAPITAL LETTER DELTA
+ 0x0395: 0x00a8, # GREEK CAPITAL LETTER EPSILON
+ 0x0396: 0x00a9, # GREEK CAPITAL LETTER ZETA
+ 0x0397: 0x00aa, # GREEK CAPITAL LETTER ETA
+ 0x0398: 0x00ac, # GREEK CAPITAL LETTER THETA
+ 0x0399: 0x00ad, # GREEK CAPITAL LETTER IOTA
+ 0x039a: 0x00b5, # GREEK CAPITAL LETTER KAPPA
+ 0x039b: 0x00b6, # GREEK CAPITAL LETTER LAMDA
+ 0x039c: 0x00b7, # GREEK CAPITAL LETTER MU
+ 0x039d: 0x00b8, # GREEK CAPITAL LETTER NU
+ 0x039e: 0x00bd, # GREEK CAPITAL LETTER XI
+ 0x039f: 0x00be, # GREEK CAPITAL LETTER OMICRON
+ 0x03a0: 0x00c6, # GREEK CAPITAL LETTER PI
+ 0x03a1: 0x00c7, # GREEK CAPITAL LETTER RHO
+ 0x03a3: 0x00cf, # GREEK CAPITAL LETTER SIGMA
+ 0x03a4: 0x00d0, # GREEK CAPITAL LETTER TAU
+ 0x03a5: 0x00d1, # GREEK CAPITAL LETTER UPSILON
+ 0x03a6: 0x00d2, # GREEK CAPITAL LETTER PHI
+ 0x03a7: 0x00d3, # GREEK CAPITAL LETTER CHI
+ 0x03a8: 0x00d4, # GREEK CAPITAL LETTER PSI
+ 0x03a9: 0x00d5, # GREEK CAPITAL LETTER OMEGA
+ 0x03aa: 0x0091, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x03ab: 0x0096, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x03ac: 0x009b, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x03ad: 0x009d, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x03ae: 0x009e, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x03af: 0x009f, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x03b0: 0x00fc, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x03b1: 0x00d6, # GREEK SMALL LETTER ALPHA
+ 0x03b2: 0x00d7, # GREEK SMALL LETTER BETA
+ 0x03b3: 0x00d8, # GREEK SMALL LETTER GAMMA
+ 0x03b4: 0x00dd, # GREEK SMALL LETTER DELTA
+ 0x03b5: 0x00de, # GREEK SMALL LETTER EPSILON
+ 0x03b6: 0x00e0, # GREEK SMALL LETTER ZETA
+ 0x03b7: 0x00e1, # GREEK SMALL LETTER ETA
+ 0x03b8: 0x00e2, # GREEK SMALL LETTER THETA
+ 0x03b9: 0x00e3, # GREEK SMALL LETTER IOTA
+ 0x03ba: 0x00e4, # GREEK SMALL LETTER KAPPA
+ 0x03bb: 0x00e5, # GREEK SMALL LETTER LAMDA
+ 0x03bc: 0x00e6, # GREEK SMALL LETTER MU
+ 0x03bd: 0x00e7, # GREEK SMALL LETTER NU
+ 0x03be: 0x00e8, # GREEK SMALL LETTER XI
+ 0x03bf: 0x00e9, # GREEK SMALL LETTER OMICRON
+ 0x03c0: 0x00ea, # GREEK SMALL LETTER PI
+ 0x03c1: 0x00eb, # GREEK SMALL LETTER RHO
+ 0x03c2: 0x00ed, # GREEK SMALL LETTER FINAL SIGMA
+ 0x03c3: 0x00ec, # GREEK SMALL LETTER SIGMA
+ 0x03c4: 0x00ee, # GREEK SMALL LETTER TAU
+ 0x03c5: 0x00f2, # GREEK SMALL LETTER UPSILON
+ 0x03c6: 0x00f3, # GREEK SMALL LETTER PHI
+ 0x03c7: 0x00f4, # GREEK SMALL LETTER CHI
+ 0x03c8: 0x00f6, # GREEK SMALL LETTER PSI
+ 0x03c9: 0x00fa, # GREEK SMALL LETTER OMEGA
+ 0x03ca: 0x00a0, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x03cb: 0x00fb, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x03cc: 0x00a2, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x03cd: 0x00a3, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x03ce: 0x00fd, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x2015: 0x008e, # HORIZONTAL BAR
+ 0x2018: 0x008b, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x008c, # RIGHT SINGLE QUOTATION MARK
+ 0x2500: 0x00c4, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x00b3, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250c: 0x00da, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x00bf, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x00c0, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x00d9, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251c: 0x00c3, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x00b4, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252c: 0x00c2, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x00c1, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253c: 0x00c5, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0x00cd, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0x00ba, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2554: 0x00c9, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0x00bb, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x255a: 0x00c8, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255d: 0x00bc, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x2560: 0x00cc, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2563: 0x00b9, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0x00cb, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2569: 0x00ca, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256c: 0x00ce, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x00df, # UPPER HALF BLOCK
+ 0x2584: 0x00dc, # LOWER HALF BLOCK
+ 0x2588: 0x00db, # FULL BLOCK
+ 0x2591: 0x00b0, # LIGHT SHADE
+ 0x2592: 0x00b1, # MEDIUM SHADE
+ 0x2593: 0x00b2, # DARK SHADE
+ 0x25a0: 0x00fe, # BLACK SQUARE
+}
diff --git a/Lib/encodings/cp874.py b/Lib/encodings/cp874.py
index 0a49cce..5e1fea1 100644
--- a/Lib/encodings/cp874.py
+++ b/Lib/encodings/cp874.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,491 +32,490 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u20ac' # 0x80 -> EURO SIGN
- u'\ufffe' # 0x81 -> UNDEFINED
- u'\ufffe' # 0x82 -> UNDEFINED
- u'\ufffe' # 0x83 -> UNDEFINED
- u'\ufffe' # 0x84 -> UNDEFINED
- u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
- u'\ufffe' # 0x86 -> UNDEFINED
- u'\ufffe' # 0x87 -> UNDEFINED
- u'\ufffe' # 0x88 -> UNDEFINED
- u'\ufffe' # 0x89 -> UNDEFINED
- u'\ufffe' # 0x8A -> UNDEFINED
- u'\ufffe' # 0x8B -> UNDEFINED
- u'\ufffe' # 0x8C -> UNDEFINED
- u'\ufffe' # 0x8D -> UNDEFINED
- u'\ufffe' # 0x8E -> UNDEFINED
- u'\ufffe' # 0x8F -> UNDEFINED
- u'\ufffe' # 0x90 -> UNDEFINED
- u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
- u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2022' # 0x95 -> BULLET
- u'\u2013' # 0x96 -> EN DASH
- u'\u2014' # 0x97 -> EM DASH
- u'\ufffe' # 0x98 -> UNDEFINED
- u'\ufffe' # 0x99 -> UNDEFINED
- u'\ufffe' # 0x9A -> UNDEFINED
- u'\ufffe' # 0x9B -> UNDEFINED
- u'\ufffe' # 0x9C -> UNDEFINED
- u'\ufffe' # 0x9D -> UNDEFINED
- u'\ufffe' # 0x9E -> UNDEFINED
- u'\ufffe' # 0x9F -> UNDEFINED
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0e01' # 0xA1 -> THAI CHARACTER KO KAI
- u'\u0e02' # 0xA2 -> THAI CHARACTER KHO KHAI
- u'\u0e03' # 0xA3 -> THAI CHARACTER KHO KHUAT
- u'\u0e04' # 0xA4 -> THAI CHARACTER KHO KHWAI
- u'\u0e05' # 0xA5 -> THAI CHARACTER KHO KHON
- u'\u0e06' # 0xA6 -> THAI CHARACTER KHO RAKHANG
- u'\u0e07' # 0xA7 -> THAI CHARACTER NGO NGU
- u'\u0e08' # 0xA8 -> THAI CHARACTER CHO CHAN
- u'\u0e09' # 0xA9 -> THAI CHARACTER CHO CHING
- u'\u0e0a' # 0xAA -> THAI CHARACTER CHO CHANG
- u'\u0e0b' # 0xAB -> THAI CHARACTER SO SO
- u'\u0e0c' # 0xAC -> THAI CHARACTER CHO CHOE
- u'\u0e0d' # 0xAD -> THAI CHARACTER YO YING
- u'\u0e0e' # 0xAE -> THAI CHARACTER DO CHADA
- u'\u0e0f' # 0xAF -> THAI CHARACTER TO PATAK
- u'\u0e10' # 0xB0 -> THAI CHARACTER THO THAN
- u'\u0e11' # 0xB1 -> THAI CHARACTER THO NANGMONTHO
- u'\u0e12' # 0xB2 -> THAI CHARACTER THO PHUTHAO
- u'\u0e13' # 0xB3 -> THAI CHARACTER NO NEN
- u'\u0e14' # 0xB4 -> THAI CHARACTER DO DEK
- u'\u0e15' # 0xB5 -> THAI CHARACTER TO TAO
- u'\u0e16' # 0xB6 -> THAI CHARACTER THO THUNG
- u'\u0e17' # 0xB7 -> THAI CHARACTER THO THAHAN
- u'\u0e18' # 0xB8 -> THAI CHARACTER THO THONG
- u'\u0e19' # 0xB9 -> THAI CHARACTER NO NU
- u'\u0e1a' # 0xBA -> THAI CHARACTER BO BAIMAI
- u'\u0e1b' # 0xBB -> THAI CHARACTER PO PLA
- u'\u0e1c' # 0xBC -> THAI CHARACTER PHO PHUNG
- u'\u0e1d' # 0xBD -> THAI CHARACTER FO FA
- u'\u0e1e' # 0xBE -> THAI CHARACTER PHO PHAN
- u'\u0e1f' # 0xBF -> THAI CHARACTER FO FAN
- u'\u0e20' # 0xC0 -> THAI CHARACTER PHO SAMPHAO
- u'\u0e21' # 0xC1 -> THAI CHARACTER MO MA
- u'\u0e22' # 0xC2 -> THAI CHARACTER YO YAK
- u'\u0e23' # 0xC3 -> THAI CHARACTER RO RUA
- u'\u0e24' # 0xC4 -> THAI CHARACTER RU
- u'\u0e25' # 0xC5 -> THAI CHARACTER LO LING
- u'\u0e26' # 0xC6 -> THAI CHARACTER LU
- u'\u0e27' # 0xC7 -> THAI CHARACTER WO WAEN
- u'\u0e28' # 0xC8 -> THAI CHARACTER SO SALA
- u'\u0e29' # 0xC9 -> THAI CHARACTER SO RUSI
- u'\u0e2a' # 0xCA -> THAI CHARACTER SO SUA
- u'\u0e2b' # 0xCB -> THAI CHARACTER HO HIP
- u'\u0e2c' # 0xCC -> THAI CHARACTER LO CHULA
- u'\u0e2d' # 0xCD -> THAI CHARACTER O ANG
- u'\u0e2e' # 0xCE -> THAI CHARACTER HO NOKHUK
- u'\u0e2f' # 0xCF -> THAI CHARACTER PAIYANNOI
- u'\u0e30' # 0xD0 -> THAI CHARACTER SARA A
- u'\u0e31' # 0xD1 -> THAI CHARACTER MAI HAN-AKAT
- u'\u0e32' # 0xD2 -> THAI CHARACTER SARA AA
- u'\u0e33' # 0xD3 -> THAI CHARACTER SARA AM
- u'\u0e34' # 0xD4 -> THAI CHARACTER SARA I
- u'\u0e35' # 0xD5 -> THAI CHARACTER SARA II
- u'\u0e36' # 0xD6 -> THAI CHARACTER SARA UE
- u'\u0e37' # 0xD7 -> THAI CHARACTER SARA UEE
- u'\u0e38' # 0xD8 -> THAI CHARACTER SARA U
- u'\u0e39' # 0xD9 -> THAI CHARACTER SARA UU
- u'\u0e3a' # 0xDA -> THAI CHARACTER PHINTHU
- u'\ufffe' # 0xDB -> UNDEFINED
- u'\ufffe' # 0xDC -> UNDEFINED
- u'\ufffe' # 0xDD -> UNDEFINED
- u'\ufffe' # 0xDE -> UNDEFINED
- u'\u0e3f' # 0xDF -> THAI CURRENCY SYMBOL BAHT
- u'\u0e40' # 0xE0 -> THAI CHARACTER SARA E
- u'\u0e41' # 0xE1 -> THAI CHARACTER SARA AE
- u'\u0e42' # 0xE2 -> THAI CHARACTER SARA O
- u'\u0e43' # 0xE3 -> THAI CHARACTER SARA AI MAIMUAN
- u'\u0e44' # 0xE4 -> THAI CHARACTER SARA AI MAIMALAI
- u'\u0e45' # 0xE5 -> THAI CHARACTER LAKKHANGYAO
- u'\u0e46' # 0xE6 -> THAI CHARACTER MAIYAMOK
- u'\u0e47' # 0xE7 -> THAI CHARACTER MAITAIKHU
- u'\u0e48' # 0xE8 -> THAI CHARACTER MAI EK
- u'\u0e49' # 0xE9 -> THAI CHARACTER MAI THO
- u'\u0e4a' # 0xEA -> THAI CHARACTER MAI TRI
- u'\u0e4b' # 0xEB -> THAI CHARACTER MAI CHATTAWA
- u'\u0e4c' # 0xEC -> THAI CHARACTER THANTHAKHAT
- u'\u0e4d' # 0xED -> THAI CHARACTER NIKHAHIT
- u'\u0e4e' # 0xEE -> THAI CHARACTER YAMAKKAN
- u'\u0e4f' # 0xEF -> THAI CHARACTER FONGMAN
- u'\u0e50' # 0xF0 -> THAI DIGIT ZERO
- u'\u0e51' # 0xF1 -> THAI DIGIT ONE
- u'\u0e52' # 0xF2 -> THAI DIGIT TWO
- u'\u0e53' # 0xF3 -> THAI DIGIT THREE
- u'\u0e54' # 0xF4 -> THAI DIGIT FOUR
- u'\u0e55' # 0xF5 -> THAI DIGIT FIVE
- u'\u0e56' # 0xF6 -> THAI DIGIT SIX
- u'\u0e57' # 0xF7 -> THAI DIGIT SEVEN
- u'\u0e58' # 0xF8 -> THAI DIGIT EIGHT
- u'\u0e59' # 0xF9 -> THAI DIGIT NINE
- u'\u0e5a' # 0xFA -> THAI CHARACTER ANGKHANKHU
- u'\u0e5b' # 0xFB -> THAI CHARACTER KHOMUT
- u'\ufffe' # 0xFC -> UNDEFINED
- u'\ufffe' # 0xFD -> UNDEFINED
- u'\ufffe' # 0xFE -> UNDEFINED
- u'\ufffe' # 0xFF -> UNDEFINED
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u20ac' # 0x80 -> EURO SIGN
+ u'\ufffe' # 0x81 -> UNDEFINED
+ u'\ufffe' # 0x82 -> UNDEFINED
+ u'\ufffe' # 0x83 -> UNDEFINED
+ u'\ufffe' # 0x84 -> UNDEFINED
+ u'\u2026' # 0x85 -> HORIZONTAL ELLIPSIS
+ u'\ufffe' # 0x86 -> UNDEFINED
+ u'\ufffe' # 0x87 -> UNDEFINED
+ u'\ufffe' # 0x88 -> UNDEFINED
+ u'\ufffe' # 0x89 -> UNDEFINED
+ u'\ufffe' # 0x8A -> UNDEFINED
+ u'\ufffe' # 0x8B -> UNDEFINED
+ u'\ufffe' # 0x8C -> UNDEFINED
+ u'\ufffe' # 0x8D -> UNDEFINED
+ u'\ufffe' # 0x8E -> UNDEFINED
+ u'\ufffe' # 0x8F -> UNDEFINED
+ u'\ufffe' # 0x90 -> UNDEFINED
+ u'\u2018' # 0x91 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0x92 -> RIGHT SINGLE QUOTATION MARK
+ u'\u201c' # 0x93 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0x94 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2022' # 0x95 -> BULLET
+ u'\u2013' # 0x96 -> EN DASH
+ u'\u2014' # 0x97 -> EM DASH
+ u'\ufffe' # 0x98 -> UNDEFINED
+ u'\ufffe' # 0x99 -> UNDEFINED
+ u'\ufffe' # 0x9A -> UNDEFINED
+ u'\ufffe' # 0x9B -> UNDEFINED
+ u'\ufffe' # 0x9C -> UNDEFINED
+ u'\ufffe' # 0x9D -> UNDEFINED
+ u'\ufffe' # 0x9E -> UNDEFINED
+ u'\ufffe' # 0x9F -> UNDEFINED
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0e01' # 0xA1 -> THAI CHARACTER KO KAI
+ u'\u0e02' # 0xA2 -> THAI CHARACTER KHO KHAI
+ u'\u0e03' # 0xA3 -> THAI CHARACTER KHO KHUAT
+ u'\u0e04' # 0xA4 -> THAI CHARACTER KHO KHWAI
+ u'\u0e05' # 0xA5 -> THAI CHARACTER KHO KHON
+ u'\u0e06' # 0xA6 -> THAI CHARACTER KHO RAKHANG
+ u'\u0e07' # 0xA7 -> THAI CHARACTER NGO NGU
+ u'\u0e08' # 0xA8 -> THAI CHARACTER CHO CHAN
+ u'\u0e09' # 0xA9 -> THAI CHARACTER CHO CHING
+ u'\u0e0a' # 0xAA -> THAI CHARACTER CHO CHANG
+ u'\u0e0b' # 0xAB -> THAI CHARACTER SO SO
+ u'\u0e0c' # 0xAC -> THAI CHARACTER CHO CHOE
+ u'\u0e0d' # 0xAD -> THAI CHARACTER YO YING
+ u'\u0e0e' # 0xAE -> THAI CHARACTER DO CHADA
+ u'\u0e0f' # 0xAF -> THAI CHARACTER TO PATAK
+ u'\u0e10' # 0xB0 -> THAI CHARACTER THO THAN
+ u'\u0e11' # 0xB1 -> THAI CHARACTER THO NANGMONTHO
+ u'\u0e12' # 0xB2 -> THAI CHARACTER THO PHUTHAO
+ u'\u0e13' # 0xB3 -> THAI CHARACTER NO NEN
+ u'\u0e14' # 0xB4 -> THAI CHARACTER DO DEK
+ u'\u0e15' # 0xB5 -> THAI CHARACTER TO TAO
+ u'\u0e16' # 0xB6 -> THAI CHARACTER THO THUNG
+ u'\u0e17' # 0xB7 -> THAI CHARACTER THO THAHAN
+ u'\u0e18' # 0xB8 -> THAI CHARACTER THO THONG
+ u'\u0e19' # 0xB9 -> THAI CHARACTER NO NU
+ u'\u0e1a' # 0xBA -> THAI CHARACTER BO BAIMAI
+ u'\u0e1b' # 0xBB -> THAI CHARACTER PO PLA
+ u'\u0e1c' # 0xBC -> THAI CHARACTER PHO PHUNG
+ u'\u0e1d' # 0xBD -> THAI CHARACTER FO FA
+ u'\u0e1e' # 0xBE -> THAI CHARACTER PHO PHAN
+ u'\u0e1f' # 0xBF -> THAI CHARACTER FO FAN
+ u'\u0e20' # 0xC0 -> THAI CHARACTER PHO SAMPHAO
+ u'\u0e21' # 0xC1 -> THAI CHARACTER MO MA
+ u'\u0e22' # 0xC2 -> THAI CHARACTER YO YAK
+ u'\u0e23' # 0xC3 -> THAI CHARACTER RO RUA
+ u'\u0e24' # 0xC4 -> THAI CHARACTER RU
+ u'\u0e25' # 0xC5 -> THAI CHARACTER LO LING
+ u'\u0e26' # 0xC6 -> THAI CHARACTER LU
+ u'\u0e27' # 0xC7 -> THAI CHARACTER WO WAEN
+ u'\u0e28' # 0xC8 -> THAI CHARACTER SO SALA
+ u'\u0e29' # 0xC9 -> THAI CHARACTER SO RUSI
+ u'\u0e2a' # 0xCA -> THAI CHARACTER SO SUA
+ u'\u0e2b' # 0xCB -> THAI CHARACTER HO HIP
+ u'\u0e2c' # 0xCC -> THAI CHARACTER LO CHULA
+ u'\u0e2d' # 0xCD -> THAI CHARACTER O ANG
+ u'\u0e2e' # 0xCE -> THAI CHARACTER HO NOKHUK
+ u'\u0e2f' # 0xCF -> THAI CHARACTER PAIYANNOI
+ u'\u0e30' # 0xD0 -> THAI CHARACTER SARA A
+ u'\u0e31' # 0xD1 -> THAI CHARACTER MAI HAN-AKAT
+ u'\u0e32' # 0xD2 -> THAI CHARACTER SARA AA
+ u'\u0e33' # 0xD3 -> THAI CHARACTER SARA AM
+ u'\u0e34' # 0xD4 -> THAI CHARACTER SARA I
+ u'\u0e35' # 0xD5 -> THAI CHARACTER SARA II
+ u'\u0e36' # 0xD6 -> THAI CHARACTER SARA UE
+ u'\u0e37' # 0xD7 -> THAI CHARACTER SARA UEE
+ u'\u0e38' # 0xD8 -> THAI CHARACTER SARA U
+ u'\u0e39' # 0xD9 -> THAI CHARACTER SARA UU
+ u'\u0e3a' # 0xDA -> THAI CHARACTER PHINTHU
+ u'\ufffe' # 0xDB -> UNDEFINED
+ u'\ufffe' # 0xDC -> UNDEFINED
+ u'\ufffe' # 0xDD -> UNDEFINED
+ u'\ufffe' # 0xDE -> UNDEFINED
+ u'\u0e3f' # 0xDF -> THAI CURRENCY SYMBOL BAHT
+ u'\u0e40' # 0xE0 -> THAI CHARACTER SARA E
+ u'\u0e41' # 0xE1 -> THAI CHARACTER SARA AE
+ u'\u0e42' # 0xE2 -> THAI CHARACTER SARA O
+ u'\u0e43' # 0xE3 -> THAI CHARACTER SARA AI MAIMUAN
+ u'\u0e44' # 0xE4 -> THAI CHARACTER SARA AI MAIMALAI
+ u'\u0e45' # 0xE5 -> THAI CHARACTER LAKKHANGYAO
+ u'\u0e46' # 0xE6 -> THAI CHARACTER MAIYAMOK
+ u'\u0e47' # 0xE7 -> THAI CHARACTER MAITAIKHU
+ u'\u0e48' # 0xE8 -> THAI CHARACTER MAI EK
+ u'\u0e49' # 0xE9 -> THAI CHARACTER MAI THO
+ u'\u0e4a' # 0xEA -> THAI CHARACTER MAI TRI
+ u'\u0e4b' # 0xEB -> THAI CHARACTER MAI CHATTAWA
+ u'\u0e4c' # 0xEC -> THAI CHARACTER THANTHAKHAT
+ u'\u0e4d' # 0xED -> THAI CHARACTER NIKHAHIT
+ u'\u0e4e' # 0xEE -> THAI CHARACTER YAMAKKAN
+ u'\u0e4f' # 0xEF -> THAI CHARACTER FONGMAN
+ u'\u0e50' # 0xF0 -> THAI DIGIT ZERO
+ u'\u0e51' # 0xF1 -> THAI DIGIT ONE
+ u'\u0e52' # 0xF2 -> THAI DIGIT TWO
+ u'\u0e53' # 0xF3 -> THAI DIGIT THREE
+ u'\u0e54' # 0xF4 -> THAI DIGIT FOUR
+ u'\u0e55' # 0xF5 -> THAI DIGIT FIVE
+ u'\u0e56' # 0xF6 -> THAI DIGIT SIX
+ u'\u0e57' # 0xF7 -> THAI DIGIT SEVEN
+ u'\u0e58' # 0xF8 -> THAI DIGIT EIGHT
+ u'\u0e59' # 0xF9 -> THAI DIGIT NINE
+ u'\u0e5a' # 0xFA -> THAI CHARACTER ANGKHANKHU
+ u'\u0e5b' # 0xFB -> THAI CHARACTER KHOMUT
+ u'\ufffe' # 0xFC -> UNDEFINED
+ u'\ufffe' # 0xFD -> UNDEFINED
+ u'\ufffe' # 0xFE -> UNDEFINED
+ u'\ufffe' # 0xFF -> UNDEFINED
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x0E01: 0xA1, # THAI CHARACTER KO KAI
- 0x0E02: 0xA2, # THAI CHARACTER KHO KHAI
- 0x0E03: 0xA3, # THAI CHARACTER KHO KHUAT
- 0x0E04: 0xA4, # THAI CHARACTER KHO KHWAI
- 0x0E05: 0xA5, # THAI CHARACTER KHO KHON
- 0x0E06: 0xA6, # THAI CHARACTER KHO RAKHANG
- 0x0E07: 0xA7, # THAI CHARACTER NGO NGU
- 0x0E08: 0xA8, # THAI CHARACTER CHO CHAN
- 0x0E09: 0xA9, # THAI CHARACTER CHO CHING
- 0x0E0A: 0xAA, # THAI CHARACTER CHO CHANG
- 0x0E0B: 0xAB, # THAI CHARACTER SO SO
- 0x0E0C: 0xAC, # THAI CHARACTER CHO CHOE
- 0x0E0D: 0xAD, # THAI CHARACTER YO YING
- 0x0E0E: 0xAE, # THAI CHARACTER DO CHADA
- 0x0E0F: 0xAF, # THAI CHARACTER TO PATAK
- 0x0E10: 0xB0, # THAI CHARACTER THO THAN
- 0x0E11: 0xB1, # THAI CHARACTER THO NANGMONTHO
- 0x0E12: 0xB2, # THAI CHARACTER THO PHUTHAO
- 0x0E13: 0xB3, # THAI CHARACTER NO NEN
- 0x0E14: 0xB4, # THAI CHARACTER DO DEK
- 0x0E15: 0xB5, # THAI CHARACTER TO TAO
- 0x0E16: 0xB6, # THAI CHARACTER THO THUNG
- 0x0E17: 0xB7, # THAI CHARACTER THO THAHAN
- 0x0E18: 0xB8, # THAI CHARACTER THO THONG
- 0x0E19: 0xB9, # THAI CHARACTER NO NU
- 0x0E1A: 0xBA, # THAI CHARACTER BO BAIMAI
- 0x0E1B: 0xBB, # THAI CHARACTER PO PLA
- 0x0E1C: 0xBC, # THAI CHARACTER PHO PHUNG
- 0x0E1D: 0xBD, # THAI CHARACTER FO FA
- 0x0E1E: 0xBE, # THAI CHARACTER PHO PHAN
- 0x0E1F: 0xBF, # THAI CHARACTER FO FAN
- 0x0E20: 0xC0, # THAI CHARACTER PHO SAMPHAO
- 0x0E21: 0xC1, # THAI CHARACTER MO MA
- 0x0E22: 0xC2, # THAI CHARACTER YO YAK
- 0x0E23: 0xC3, # THAI CHARACTER RO RUA
- 0x0E24: 0xC4, # THAI CHARACTER RU
- 0x0E25: 0xC5, # THAI CHARACTER LO LING
- 0x0E26: 0xC6, # THAI CHARACTER LU
- 0x0E27: 0xC7, # THAI CHARACTER WO WAEN
- 0x0E28: 0xC8, # THAI CHARACTER SO SALA
- 0x0E29: 0xC9, # THAI CHARACTER SO RUSI
- 0x0E2A: 0xCA, # THAI CHARACTER SO SUA
- 0x0E2B: 0xCB, # THAI CHARACTER HO HIP
- 0x0E2C: 0xCC, # THAI CHARACTER LO CHULA
- 0x0E2D: 0xCD, # THAI CHARACTER O ANG
- 0x0E2E: 0xCE, # THAI CHARACTER HO NOKHUK
- 0x0E2F: 0xCF, # THAI CHARACTER PAIYANNOI
- 0x0E30: 0xD0, # THAI CHARACTER SARA A
- 0x0E31: 0xD1, # THAI CHARACTER MAI HAN-AKAT
- 0x0E32: 0xD2, # THAI CHARACTER SARA AA
- 0x0E33: 0xD3, # THAI CHARACTER SARA AM
- 0x0E34: 0xD4, # THAI CHARACTER SARA I
- 0x0E35: 0xD5, # THAI CHARACTER SARA II
- 0x0E36: 0xD6, # THAI CHARACTER SARA UE
- 0x0E37: 0xD7, # THAI CHARACTER SARA UEE
- 0x0E38: 0xD8, # THAI CHARACTER SARA U
- 0x0E39: 0xD9, # THAI CHARACTER SARA UU
- 0x0E3A: 0xDA, # THAI CHARACTER PHINTHU
- 0x0E3F: 0xDF, # THAI CURRENCY SYMBOL BAHT
- 0x0E40: 0xE0, # THAI CHARACTER SARA E
- 0x0E41: 0xE1, # THAI CHARACTER SARA AE
- 0x0E42: 0xE2, # THAI CHARACTER SARA O
- 0x0E43: 0xE3, # THAI CHARACTER SARA AI MAIMUAN
- 0x0E44: 0xE4, # THAI CHARACTER SARA AI MAIMALAI
- 0x0E45: 0xE5, # THAI CHARACTER LAKKHANGYAO
- 0x0E46: 0xE6, # THAI CHARACTER MAIYAMOK
- 0x0E47: 0xE7, # THAI CHARACTER MAITAIKHU
- 0x0E48: 0xE8, # THAI CHARACTER MAI EK
- 0x0E49: 0xE9, # THAI CHARACTER MAI THO
- 0x0E4A: 0xEA, # THAI CHARACTER MAI TRI
- 0x0E4B: 0xEB, # THAI CHARACTER MAI CHATTAWA
- 0x0E4C: 0xEC, # THAI CHARACTER THANTHAKHAT
- 0x0E4D: 0xED, # THAI CHARACTER NIKHAHIT
- 0x0E4E: 0xEE, # THAI CHARACTER YAMAKKAN
- 0x0E4F: 0xEF, # THAI CHARACTER FONGMAN
- 0x0E50: 0xF0, # THAI DIGIT ZERO
- 0x0E51: 0xF1, # THAI DIGIT ONE
- 0x0E52: 0xF2, # THAI DIGIT TWO
- 0x0E53: 0xF3, # THAI DIGIT THREE
- 0x0E54: 0xF4, # THAI DIGIT FOUR
- 0x0E55: 0xF5, # THAI DIGIT FIVE
- 0x0E56: 0xF6, # THAI DIGIT SIX
- 0x0E57: 0xF7, # THAI DIGIT SEVEN
- 0x0E58: 0xF8, # THAI DIGIT EIGHT
- 0x0E59: 0xF9, # THAI DIGIT NINE
- 0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
- 0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
- 0x2013: 0x96, # EN DASH
- 0x2014: 0x97, # EM DASH
- 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
- 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
- 0x2022: 0x95, # BULLET
- 0x2026: 0x85, # HORIZONTAL ELLIPSIS
- 0x20AC: 0x80, # EURO SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x0E01: 0xA1, # THAI CHARACTER KO KAI
+ 0x0E02: 0xA2, # THAI CHARACTER KHO KHAI
+ 0x0E03: 0xA3, # THAI CHARACTER KHO KHUAT
+ 0x0E04: 0xA4, # THAI CHARACTER KHO KHWAI
+ 0x0E05: 0xA5, # THAI CHARACTER KHO KHON
+ 0x0E06: 0xA6, # THAI CHARACTER KHO RAKHANG
+ 0x0E07: 0xA7, # THAI CHARACTER NGO NGU
+ 0x0E08: 0xA8, # THAI CHARACTER CHO CHAN
+ 0x0E09: 0xA9, # THAI CHARACTER CHO CHING
+ 0x0E0A: 0xAA, # THAI CHARACTER CHO CHANG
+ 0x0E0B: 0xAB, # THAI CHARACTER SO SO
+ 0x0E0C: 0xAC, # THAI CHARACTER CHO CHOE
+ 0x0E0D: 0xAD, # THAI CHARACTER YO YING
+ 0x0E0E: 0xAE, # THAI CHARACTER DO CHADA
+ 0x0E0F: 0xAF, # THAI CHARACTER TO PATAK
+ 0x0E10: 0xB0, # THAI CHARACTER THO THAN
+ 0x0E11: 0xB1, # THAI CHARACTER THO NANGMONTHO
+ 0x0E12: 0xB2, # THAI CHARACTER THO PHUTHAO
+ 0x0E13: 0xB3, # THAI CHARACTER NO NEN
+ 0x0E14: 0xB4, # THAI CHARACTER DO DEK
+ 0x0E15: 0xB5, # THAI CHARACTER TO TAO
+ 0x0E16: 0xB6, # THAI CHARACTER THO THUNG
+ 0x0E17: 0xB7, # THAI CHARACTER THO THAHAN
+ 0x0E18: 0xB8, # THAI CHARACTER THO THONG
+ 0x0E19: 0xB9, # THAI CHARACTER NO NU
+ 0x0E1A: 0xBA, # THAI CHARACTER BO BAIMAI
+ 0x0E1B: 0xBB, # THAI CHARACTER PO PLA
+ 0x0E1C: 0xBC, # THAI CHARACTER PHO PHUNG
+ 0x0E1D: 0xBD, # THAI CHARACTER FO FA
+ 0x0E1E: 0xBE, # THAI CHARACTER PHO PHAN
+ 0x0E1F: 0xBF, # THAI CHARACTER FO FAN
+ 0x0E20: 0xC0, # THAI CHARACTER PHO SAMPHAO
+ 0x0E21: 0xC1, # THAI CHARACTER MO MA
+ 0x0E22: 0xC2, # THAI CHARACTER YO YAK
+ 0x0E23: 0xC3, # THAI CHARACTER RO RUA
+ 0x0E24: 0xC4, # THAI CHARACTER RU
+ 0x0E25: 0xC5, # THAI CHARACTER LO LING
+ 0x0E26: 0xC6, # THAI CHARACTER LU
+ 0x0E27: 0xC7, # THAI CHARACTER WO WAEN
+ 0x0E28: 0xC8, # THAI CHARACTER SO SALA
+ 0x0E29: 0xC9, # THAI CHARACTER SO RUSI
+ 0x0E2A: 0xCA, # THAI CHARACTER SO SUA
+ 0x0E2B: 0xCB, # THAI CHARACTER HO HIP
+ 0x0E2C: 0xCC, # THAI CHARACTER LO CHULA
+ 0x0E2D: 0xCD, # THAI CHARACTER O ANG
+ 0x0E2E: 0xCE, # THAI CHARACTER HO NOKHUK
+ 0x0E2F: 0xCF, # THAI CHARACTER PAIYANNOI
+ 0x0E30: 0xD0, # THAI CHARACTER SARA A
+ 0x0E31: 0xD1, # THAI CHARACTER MAI HAN-AKAT
+ 0x0E32: 0xD2, # THAI CHARACTER SARA AA
+ 0x0E33: 0xD3, # THAI CHARACTER SARA AM
+ 0x0E34: 0xD4, # THAI CHARACTER SARA I
+ 0x0E35: 0xD5, # THAI CHARACTER SARA II
+ 0x0E36: 0xD6, # THAI CHARACTER SARA UE
+ 0x0E37: 0xD7, # THAI CHARACTER SARA UEE
+ 0x0E38: 0xD8, # THAI CHARACTER SARA U
+ 0x0E39: 0xD9, # THAI CHARACTER SARA UU
+ 0x0E3A: 0xDA, # THAI CHARACTER PHINTHU
+ 0x0E3F: 0xDF, # THAI CURRENCY SYMBOL BAHT
+ 0x0E40: 0xE0, # THAI CHARACTER SARA E
+ 0x0E41: 0xE1, # THAI CHARACTER SARA AE
+ 0x0E42: 0xE2, # THAI CHARACTER SARA O
+ 0x0E43: 0xE3, # THAI CHARACTER SARA AI MAIMUAN
+ 0x0E44: 0xE4, # THAI CHARACTER SARA AI MAIMALAI
+ 0x0E45: 0xE5, # THAI CHARACTER LAKKHANGYAO
+ 0x0E46: 0xE6, # THAI CHARACTER MAIYAMOK
+ 0x0E47: 0xE7, # THAI CHARACTER MAITAIKHU
+ 0x0E48: 0xE8, # THAI CHARACTER MAI EK
+ 0x0E49: 0xE9, # THAI CHARACTER MAI THO
+ 0x0E4A: 0xEA, # THAI CHARACTER MAI TRI
+ 0x0E4B: 0xEB, # THAI CHARACTER MAI CHATTAWA
+ 0x0E4C: 0xEC, # THAI CHARACTER THANTHAKHAT
+ 0x0E4D: 0xED, # THAI CHARACTER NIKHAHIT
+ 0x0E4E: 0xEE, # THAI CHARACTER YAMAKKAN
+ 0x0E4F: 0xEF, # THAI CHARACTER FONGMAN
+ 0x0E50: 0xF0, # THAI DIGIT ZERO
+ 0x0E51: 0xF1, # THAI DIGIT ONE
+ 0x0E52: 0xF2, # THAI DIGIT TWO
+ 0x0E53: 0xF3, # THAI DIGIT THREE
+ 0x0E54: 0xF4, # THAI DIGIT FOUR
+ 0x0E55: 0xF5, # THAI DIGIT FIVE
+ 0x0E56: 0xF6, # THAI DIGIT SIX
+ 0x0E57: 0xF7, # THAI DIGIT SEVEN
+ 0x0E58: 0xF8, # THAI DIGIT EIGHT
+ 0x0E59: 0xF9, # THAI DIGIT NINE
+ 0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
+ 0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
+ 0x2013: 0x96, # EN DASH
+ 0x2014: 0x97, # EM DASH
+ 0x2018: 0x91, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0x92, # RIGHT SINGLE QUOTATION MARK
+ 0x201C: 0x93, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0x94, # RIGHT DOUBLE QUOTATION MARK
+ 0x2022: 0x95, # BULLET
+ 0x2026: 0x85, # HORIZONTAL ELLIPSIS
+ 0x20AC: 0x80, # EURO SIGN
}
-
diff --git a/Lib/encodings/cp875.py b/Lib/encodings/cp875.py
index 7cfdcf4..ccebb84 100644
--- a/Lib/encodings/cp875.py
+++ b/Lib/encodings/cp875.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,516 +32,515 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x9c' # 0x04 -> CONTROL
- u'\t' # 0x05 -> HORIZONTAL TABULATION
- u'\x86' # 0x06 -> CONTROL
- u'\x7f' # 0x07 -> DELETE
- u'\x97' # 0x08 -> CONTROL
- u'\x8d' # 0x09 -> CONTROL
- u'\x8e' # 0x0A -> CONTROL
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x9d' # 0x14 -> CONTROL
- u'\x85' # 0x15 -> CONTROL
- u'\x08' # 0x16 -> BACKSPACE
- u'\x87' # 0x17 -> CONTROL
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x92' # 0x1A -> CONTROL
- u'\x8f' # 0x1B -> CONTROL
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u'\x80' # 0x20 -> CONTROL
- u'\x81' # 0x21 -> CONTROL
- u'\x82' # 0x22 -> CONTROL
- u'\x83' # 0x23 -> CONTROL
- u'\x84' # 0x24 -> CONTROL
- u'\n' # 0x25 -> LINE FEED
- u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
- u'\x1b' # 0x27 -> ESCAPE
- u'\x88' # 0x28 -> CONTROL
- u'\x89' # 0x29 -> CONTROL
- u'\x8a' # 0x2A -> CONTROL
- u'\x8b' # 0x2B -> CONTROL
- u'\x8c' # 0x2C -> CONTROL
- u'\x05' # 0x2D -> ENQUIRY
- u'\x06' # 0x2E -> ACKNOWLEDGE
- u'\x07' # 0x2F -> BELL
- u'\x90' # 0x30 -> CONTROL
- u'\x91' # 0x31 -> CONTROL
- u'\x16' # 0x32 -> SYNCHRONOUS IDLE
- u'\x93' # 0x33 -> CONTROL
- u'\x94' # 0x34 -> CONTROL
- u'\x95' # 0x35 -> CONTROL
- u'\x96' # 0x36 -> CONTROL
- u'\x04' # 0x37 -> END OF TRANSMISSION
- u'\x98' # 0x38 -> CONTROL
- u'\x99' # 0x39 -> CONTROL
- u'\x9a' # 0x3A -> CONTROL
- u'\x9b' # 0x3B -> CONTROL
- u'\x14' # 0x3C -> DEVICE CONTROL FOUR
- u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
- u'\x9e' # 0x3E -> CONTROL
- u'\x1a' # 0x3F -> SUBSTITUTE
- u' ' # 0x40 -> SPACE
- u'\u0391' # 0x41 -> GREEK CAPITAL LETTER ALPHA
- u'\u0392' # 0x42 -> GREEK CAPITAL LETTER BETA
- u'\u0393' # 0x43 -> GREEK CAPITAL LETTER GAMMA
- u'\u0394' # 0x44 -> GREEK CAPITAL LETTER DELTA
- u'\u0395' # 0x45 -> GREEK CAPITAL LETTER EPSILON
- u'\u0396' # 0x46 -> GREEK CAPITAL LETTER ZETA
- u'\u0397' # 0x47 -> GREEK CAPITAL LETTER ETA
- u'\u0398' # 0x48 -> GREEK CAPITAL LETTER THETA
- u'\u0399' # 0x49 -> GREEK CAPITAL LETTER IOTA
- u'[' # 0x4A -> LEFT SQUARE BRACKET
- u'.' # 0x4B -> FULL STOP
- u'<' # 0x4C -> LESS-THAN SIGN
- u'(' # 0x4D -> LEFT PARENTHESIS
- u'+' # 0x4E -> PLUS SIGN
- u'!' # 0x4F -> EXCLAMATION MARK
- u'&' # 0x50 -> AMPERSAND
- u'\u039a' # 0x51 -> GREEK CAPITAL LETTER KAPPA
- u'\u039b' # 0x52 -> GREEK CAPITAL LETTER LAMDA
- u'\u039c' # 0x53 -> GREEK CAPITAL LETTER MU
- u'\u039d' # 0x54 -> GREEK CAPITAL LETTER NU
- u'\u039e' # 0x55 -> GREEK CAPITAL LETTER XI
- u'\u039f' # 0x56 -> GREEK CAPITAL LETTER OMICRON
- u'\u03a0' # 0x57 -> GREEK CAPITAL LETTER PI
- u'\u03a1' # 0x58 -> GREEK CAPITAL LETTER RHO
- u'\u03a3' # 0x59 -> GREEK CAPITAL LETTER SIGMA
- u']' # 0x5A -> RIGHT SQUARE BRACKET
- u'$' # 0x5B -> DOLLAR SIGN
- u'*' # 0x5C -> ASTERISK
- u')' # 0x5D -> RIGHT PARENTHESIS
- u';' # 0x5E -> SEMICOLON
- u'^' # 0x5F -> CIRCUMFLEX ACCENT
- u'-' # 0x60 -> HYPHEN-MINUS
- u'/' # 0x61 -> SOLIDUS
- u'\u03a4' # 0x62 -> GREEK CAPITAL LETTER TAU
- u'\u03a5' # 0x63 -> GREEK CAPITAL LETTER UPSILON
- u'\u03a6' # 0x64 -> GREEK CAPITAL LETTER PHI
- u'\u03a7' # 0x65 -> GREEK CAPITAL LETTER CHI
- u'\u03a8' # 0x66 -> GREEK CAPITAL LETTER PSI
- u'\u03a9' # 0x67 -> GREEK CAPITAL LETTER OMEGA
- u'\u03aa' # 0x68 -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- u'\u03ab' # 0x69 -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- u'|' # 0x6A -> VERTICAL LINE
- u',' # 0x6B -> COMMA
- u'%' # 0x6C -> PERCENT SIGN
- u'_' # 0x6D -> LOW LINE
- u'>' # 0x6E -> GREATER-THAN SIGN
- u'?' # 0x6F -> QUESTION MARK
- u'\xa8' # 0x70 -> DIAERESIS
- u'\u0386' # 0x71 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
- u'\u0388' # 0x72 -> GREEK CAPITAL LETTER EPSILON WITH TONOS
- u'\u0389' # 0x73 -> GREEK CAPITAL LETTER ETA WITH TONOS
- u'\xa0' # 0x74 -> NO-BREAK SPACE
- u'\u038a' # 0x75 -> GREEK CAPITAL LETTER IOTA WITH TONOS
- u'\u038c' # 0x76 -> GREEK CAPITAL LETTER OMICRON WITH TONOS
- u'\u038e' # 0x77 -> GREEK CAPITAL LETTER UPSILON WITH TONOS
- u'\u038f' # 0x78 -> GREEK CAPITAL LETTER OMEGA WITH TONOS
- u'`' # 0x79 -> GRAVE ACCENT
- u':' # 0x7A -> COLON
- u'#' # 0x7B -> NUMBER SIGN
- u'@' # 0x7C -> COMMERCIAL AT
- u"'" # 0x7D -> APOSTROPHE
- u'=' # 0x7E -> EQUALS SIGN
- u'"' # 0x7F -> QUOTATION MARK
- u'\u0385' # 0x80 -> GREEK DIALYTIKA TONOS
- u'a' # 0x81 -> LATIN SMALL LETTER A
- u'b' # 0x82 -> LATIN SMALL LETTER B
- u'c' # 0x83 -> LATIN SMALL LETTER C
- u'd' # 0x84 -> LATIN SMALL LETTER D
- u'e' # 0x85 -> LATIN SMALL LETTER E
- u'f' # 0x86 -> LATIN SMALL LETTER F
- u'g' # 0x87 -> LATIN SMALL LETTER G
- u'h' # 0x88 -> LATIN SMALL LETTER H
- u'i' # 0x89 -> LATIN SMALL LETTER I
- u'\u03b1' # 0x8A -> GREEK SMALL LETTER ALPHA
- u'\u03b2' # 0x8B -> GREEK SMALL LETTER BETA
- u'\u03b3' # 0x8C -> GREEK SMALL LETTER GAMMA
- u'\u03b4' # 0x8D -> GREEK SMALL LETTER DELTA
- u'\u03b5' # 0x8E -> GREEK SMALL LETTER EPSILON
- u'\u03b6' # 0x8F -> GREEK SMALL LETTER ZETA
- u'\xb0' # 0x90 -> DEGREE SIGN
- u'j' # 0x91 -> LATIN SMALL LETTER J
- u'k' # 0x92 -> LATIN SMALL LETTER K
- u'l' # 0x93 -> LATIN SMALL LETTER L
- u'm' # 0x94 -> LATIN SMALL LETTER M
- u'n' # 0x95 -> LATIN SMALL LETTER N
- u'o' # 0x96 -> LATIN SMALL LETTER O
- u'p' # 0x97 -> LATIN SMALL LETTER P
- u'q' # 0x98 -> LATIN SMALL LETTER Q
- u'r' # 0x99 -> LATIN SMALL LETTER R
- u'\u03b7' # 0x9A -> GREEK SMALL LETTER ETA
- u'\u03b8' # 0x9B -> GREEK SMALL LETTER THETA
- u'\u03b9' # 0x9C -> GREEK SMALL LETTER IOTA
- u'\u03ba' # 0x9D -> GREEK SMALL LETTER KAPPA
- u'\u03bb' # 0x9E -> GREEK SMALL LETTER LAMDA
- u'\u03bc' # 0x9F -> GREEK SMALL LETTER MU
- u'\xb4' # 0xA0 -> ACUTE ACCENT
- u'~' # 0xA1 -> TILDE
- u's' # 0xA2 -> LATIN SMALL LETTER S
- u't' # 0xA3 -> LATIN SMALL LETTER T
- u'u' # 0xA4 -> LATIN SMALL LETTER U
- u'v' # 0xA5 -> LATIN SMALL LETTER V
- u'w' # 0xA6 -> LATIN SMALL LETTER W
- u'x' # 0xA7 -> LATIN SMALL LETTER X
- u'y' # 0xA8 -> LATIN SMALL LETTER Y
- u'z' # 0xA9 -> LATIN SMALL LETTER Z
- u'\u03bd' # 0xAA -> GREEK SMALL LETTER NU
- u'\u03be' # 0xAB -> GREEK SMALL LETTER XI
- u'\u03bf' # 0xAC -> GREEK SMALL LETTER OMICRON
- u'\u03c0' # 0xAD -> GREEK SMALL LETTER PI
- u'\u03c1' # 0xAE -> GREEK SMALL LETTER RHO
- u'\u03c3' # 0xAF -> GREEK SMALL LETTER SIGMA
- u'\xa3' # 0xB0 -> POUND SIGN
- u'\u03ac' # 0xB1 -> GREEK SMALL LETTER ALPHA WITH TONOS
- u'\u03ad' # 0xB2 -> GREEK SMALL LETTER EPSILON WITH TONOS
- u'\u03ae' # 0xB3 -> GREEK SMALL LETTER ETA WITH TONOS
- u'\u03ca' # 0xB4 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
- u'\u03af' # 0xB5 -> GREEK SMALL LETTER IOTA WITH TONOS
- u'\u03cc' # 0xB6 -> GREEK SMALL LETTER OMICRON WITH TONOS
- u'\u03cd' # 0xB7 -> GREEK SMALL LETTER UPSILON WITH TONOS
- u'\u03cb' # 0xB8 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- u'\u03ce' # 0xB9 -> GREEK SMALL LETTER OMEGA WITH TONOS
- u'\u03c2' # 0xBA -> GREEK SMALL LETTER FINAL SIGMA
- u'\u03c4' # 0xBB -> GREEK SMALL LETTER TAU
- u'\u03c5' # 0xBC -> GREEK SMALL LETTER UPSILON
- u'\u03c6' # 0xBD -> GREEK SMALL LETTER PHI
- u'\u03c7' # 0xBE -> GREEK SMALL LETTER CHI
- u'\u03c8' # 0xBF -> GREEK SMALL LETTER PSI
- u'{' # 0xC0 -> LEFT CURLY BRACKET
- u'A' # 0xC1 -> LATIN CAPITAL LETTER A
- u'B' # 0xC2 -> LATIN CAPITAL LETTER B
- u'C' # 0xC3 -> LATIN CAPITAL LETTER C
- u'D' # 0xC4 -> LATIN CAPITAL LETTER D
- u'E' # 0xC5 -> LATIN CAPITAL LETTER E
- u'F' # 0xC6 -> LATIN CAPITAL LETTER F
- u'G' # 0xC7 -> LATIN CAPITAL LETTER G
- u'H' # 0xC8 -> LATIN CAPITAL LETTER H
- u'I' # 0xC9 -> LATIN CAPITAL LETTER I
- u'\xad' # 0xCA -> SOFT HYPHEN
- u'\u03c9' # 0xCB -> GREEK SMALL LETTER OMEGA
- u'\u0390' # 0xCC -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- u'\u03b0' # 0xCD -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- u'\u2018' # 0xCE -> LEFT SINGLE QUOTATION MARK
- u'\u2015' # 0xCF -> HORIZONTAL BAR
- u'}' # 0xD0 -> RIGHT CURLY BRACKET
- u'J' # 0xD1 -> LATIN CAPITAL LETTER J
- u'K' # 0xD2 -> LATIN CAPITAL LETTER K
- u'L' # 0xD3 -> LATIN CAPITAL LETTER L
- u'M' # 0xD4 -> LATIN CAPITAL LETTER M
- u'N' # 0xD5 -> LATIN CAPITAL LETTER N
- u'O' # 0xD6 -> LATIN CAPITAL LETTER O
- u'P' # 0xD7 -> LATIN CAPITAL LETTER P
- u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
- u'R' # 0xD9 -> LATIN CAPITAL LETTER R
- u'\xb1' # 0xDA -> PLUS-MINUS SIGN
- u'\xbd' # 0xDB -> VULGAR FRACTION ONE HALF
- u'\x1a' # 0xDC -> SUBSTITUTE
- u'\u0387' # 0xDD -> GREEK ANO TELEIA
- u'\u2019' # 0xDE -> RIGHT SINGLE QUOTATION MARK
- u'\xa6' # 0xDF -> BROKEN BAR
- u'\\' # 0xE0 -> REVERSE SOLIDUS
- u'\x1a' # 0xE1 -> SUBSTITUTE
- u'S' # 0xE2 -> LATIN CAPITAL LETTER S
- u'T' # 0xE3 -> LATIN CAPITAL LETTER T
- u'U' # 0xE4 -> LATIN CAPITAL LETTER U
- u'V' # 0xE5 -> LATIN CAPITAL LETTER V
- u'W' # 0xE6 -> LATIN CAPITAL LETTER W
- u'X' # 0xE7 -> LATIN CAPITAL LETTER X
- u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
- u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
- u'\xb2' # 0xEA -> SUPERSCRIPT TWO
- u'\xa7' # 0xEB -> SECTION SIGN
- u'\x1a' # 0xEC -> SUBSTITUTE
- u'\x1a' # 0xED -> SUBSTITUTE
- u'\xab' # 0xEE -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xEF -> NOT SIGN
- u'0' # 0xF0 -> DIGIT ZERO
- u'1' # 0xF1 -> DIGIT ONE
- u'2' # 0xF2 -> DIGIT TWO
- u'3' # 0xF3 -> DIGIT THREE
- u'4' # 0xF4 -> DIGIT FOUR
- u'5' # 0xF5 -> DIGIT FIVE
- u'6' # 0xF6 -> DIGIT SIX
- u'7' # 0xF7 -> DIGIT SEVEN
- u'8' # 0xF8 -> DIGIT EIGHT
- u'9' # 0xF9 -> DIGIT NINE
- u'\xb3' # 0xFA -> SUPERSCRIPT THREE
- u'\xa9' # 0xFB -> COPYRIGHT SIGN
- u'\x1a' # 0xFC -> SUBSTITUTE
- u'\x1a' # 0xFD -> SUBSTITUTE
- u'\xbb' # 0xFE -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\x9f' # 0xFF -> CONTROL
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x9c' # 0x04 -> CONTROL
+ u'\t' # 0x05 -> HORIZONTAL TABULATION
+ u'\x86' # 0x06 -> CONTROL
+ u'\x7f' # 0x07 -> DELETE
+ u'\x97' # 0x08 -> CONTROL
+ u'\x8d' # 0x09 -> CONTROL
+ u'\x8e' # 0x0A -> CONTROL
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x9d' # 0x14 -> CONTROL
+ u'\x85' # 0x15 -> CONTROL
+ u'\x08' # 0x16 -> BACKSPACE
+ u'\x87' # 0x17 -> CONTROL
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x92' # 0x1A -> CONTROL
+ u'\x8f' # 0x1B -> CONTROL
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u'\x80' # 0x20 -> CONTROL
+ u'\x81' # 0x21 -> CONTROL
+ u'\x82' # 0x22 -> CONTROL
+ u'\x83' # 0x23 -> CONTROL
+ u'\x84' # 0x24 -> CONTROL
+ u'\n' # 0x25 -> LINE FEED
+ u'\x17' # 0x26 -> END OF TRANSMISSION BLOCK
+ u'\x1b' # 0x27 -> ESCAPE
+ u'\x88' # 0x28 -> CONTROL
+ u'\x89' # 0x29 -> CONTROL
+ u'\x8a' # 0x2A -> CONTROL
+ u'\x8b' # 0x2B -> CONTROL
+ u'\x8c' # 0x2C -> CONTROL
+ u'\x05' # 0x2D -> ENQUIRY
+ u'\x06' # 0x2E -> ACKNOWLEDGE
+ u'\x07' # 0x2F -> BELL
+ u'\x90' # 0x30 -> CONTROL
+ u'\x91' # 0x31 -> CONTROL
+ u'\x16' # 0x32 -> SYNCHRONOUS IDLE
+ u'\x93' # 0x33 -> CONTROL
+ u'\x94' # 0x34 -> CONTROL
+ u'\x95' # 0x35 -> CONTROL
+ u'\x96' # 0x36 -> CONTROL
+ u'\x04' # 0x37 -> END OF TRANSMISSION
+ u'\x98' # 0x38 -> CONTROL
+ u'\x99' # 0x39 -> CONTROL
+ u'\x9a' # 0x3A -> CONTROL
+ u'\x9b' # 0x3B -> CONTROL
+ u'\x14' # 0x3C -> DEVICE CONTROL FOUR
+ u'\x15' # 0x3D -> NEGATIVE ACKNOWLEDGE
+ u'\x9e' # 0x3E -> CONTROL
+ u'\x1a' # 0x3F -> SUBSTITUTE
+ u' ' # 0x40 -> SPACE
+ u'\u0391' # 0x41 -> GREEK CAPITAL LETTER ALPHA
+ u'\u0392' # 0x42 -> GREEK CAPITAL LETTER BETA
+ u'\u0393' # 0x43 -> GREEK CAPITAL LETTER GAMMA
+ u'\u0394' # 0x44 -> GREEK CAPITAL LETTER DELTA
+ u'\u0395' # 0x45 -> GREEK CAPITAL LETTER EPSILON
+ u'\u0396' # 0x46 -> GREEK CAPITAL LETTER ZETA
+ u'\u0397' # 0x47 -> GREEK CAPITAL LETTER ETA
+ u'\u0398' # 0x48 -> GREEK CAPITAL LETTER THETA
+ u'\u0399' # 0x49 -> GREEK CAPITAL LETTER IOTA
+ u'[' # 0x4A -> LEFT SQUARE BRACKET
+ u'.' # 0x4B -> FULL STOP
+ u'<' # 0x4C -> LESS-THAN SIGN
+ u'(' # 0x4D -> LEFT PARENTHESIS
+ u'+' # 0x4E -> PLUS SIGN
+ u'!' # 0x4F -> EXCLAMATION MARK
+ u'&' # 0x50 -> AMPERSAND
+ u'\u039a' # 0x51 -> GREEK CAPITAL LETTER KAPPA
+ u'\u039b' # 0x52 -> GREEK CAPITAL LETTER LAMDA
+ u'\u039c' # 0x53 -> GREEK CAPITAL LETTER MU
+ u'\u039d' # 0x54 -> GREEK CAPITAL LETTER NU
+ u'\u039e' # 0x55 -> GREEK CAPITAL LETTER XI
+ u'\u039f' # 0x56 -> GREEK CAPITAL LETTER OMICRON
+ u'\u03a0' # 0x57 -> GREEK CAPITAL LETTER PI
+ u'\u03a1' # 0x58 -> GREEK CAPITAL LETTER RHO
+ u'\u03a3' # 0x59 -> GREEK CAPITAL LETTER SIGMA
+ u']' # 0x5A -> RIGHT SQUARE BRACKET
+ u'$' # 0x5B -> DOLLAR SIGN
+ u'*' # 0x5C -> ASTERISK
+ u')' # 0x5D -> RIGHT PARENTHESIS
+ u';' # 0x5E -> SEMICOLON
+ u'^' # 0x5F -> CIRCUMFLEX ACCENT
+ u'-' # 0x60 -> HYPHEN-MINUS
+ u'/' # 0x61 -> SOLIDUS
+ u'\u03a4' # 0x62 -> GREEK CAPITAL LETTER TAU
+ u'\u03a5' # 0x63 -> GREEK CAPITAL LETTER UPSILON
+ u'\u03a6' # 0x64 -> GREEK CAPITAL LETTER PHI
+ u'\u03a7' # 0x65 -> GREEK CAPITAL LETTER CHI
+ u'\u03a8' # 0x66 -> GREEK CAPITAL LETTER PSI
+ u'\u03a9' # 0x67 -> GREEK CAPITAL LETTER OMEGA
+ u'\u03aa' # 0x68 -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ u'\u03ab' # 0x69 -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ u'|' # 0x6A -> VERTICAL LINE
+ u',' # 0x6B -> COMMA
+ u'%' # 0x6C -> PERCENT SIGN
+ u'_' # 0x6D -> LOW LINE
+ u'>' # 0x6E -> GREATER-THAN SIGN
+ u'?' # 0x6F -> QUESTION MARK
+ u'\xa8' # 0x70 -> DIAERESIS
+ u'\u0386' # 0x71 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
+ u'\u0388' # 0x72 -> GREEK CAPITAL LETTER EPSILON WITH TONOS
+ u'\u0389' # 0x73 -> GREEK CAPITAL LETTER ETA WITH TONOS
+ u'\xa0' # 0x74 -> NO-BREAK SPACE
+ u'\u038a' # 0x75 -> GREEK CAPITAL LETTER IOTA WITH TONOS
+ u'\u038c' # 0x76 -> GREEK CAPITAL LETTER OMICRON WITH TONOS
+ u'\u038e' # 0x77 -> GREEK CAPITAL LETTER UPSILON WITH TONOS
+ u'\u038f' # 0x78 -> GREEK CAPITAL LETTER OMEGA WITH TONOS
+ u'`' # 0x79 -> GRAVE ACCENT
+ u':' # 0x7A -> COLON
+ u'#' # 0x7B -> NUMBER SIGN
+ u'@' # 0x7C -> COMMERCIAL AT
+ u"'" # 0x7D -> APOSTROPHE
+ u'=' # 0x7E -> EQUALS SIGN
+ u'"' # 0x7F -> QUOTATION MARK
+ u'\u0385' # 0x80 -> GREEK DIALYTIKA TONOS
+ u'a' # 0x81 -> LATIN SMALL LETTER A
+ u'b' # 0x82 -> LATIN SMALL LETTER B
+ u'c' # 0x83 -> LATIN SMALL LETTER C
+ u'd' # 0x84 -> LATIN SMALL LETTER D
+ u'e' # 0x85 -> LATIN SMALL LETTER E
+ u'f' # 0x86 -> LATIN SMALL LETTER F
+ u'g' # 0x87 -> LATIN SMALL LETTER G
+ u'h' # 0x88 -> LATIN SMALL LETTER H
+ u'i' # 0x89 -> LATIN SMALL LETTER I
+ u'\u03b1' # 0x8A -> GREEK SMALL LETTER ALPHA
+ u'\u03b2' # 0x8B -> GREEK SMALL LETTER BETA
+ u'\u03b3' # 0x8C -> GREEK SMALL LETTER GAMMA
+ u'\u03b4' # 0x8D -> GREEK SMALL LETTER DELTA
+ u'\u03b5' # 0x8E -> GREEK SMALL LETTER EPSILON
+ u'\u03b6' # 0x8F -> GREEK SMALL LETTER ZETA
+ u'\xb0' # 0x90 -> DEGREE SIGN
+ u'j' # 0x91 -> LATIN SMALL LETTER J
+ u'k' # 0x92 -> LATIN SMALL LETTER K
+ u'l' # 0x93 -> LATIN SMALL LETTER L
+ u'm' # 0x94 -> LATIN SMALL LETTER M
+ u'n' # 0x95 -> LATIN SMALL LETTER N
+ u'o' # 0x96 -> LATIN SMALL LETTER O
+ u'p' # 0x97 -> LATIN SMALL LETTER P
+ u'q' # 0x98 -> LATIN SMALL LETTER Q
+ u'r' # 0x99 -> LATIN SMALL LETTER R
+ u'\u03b7' # 0x9A -> GREEK SMALL LETTER ETA
+ u'\u03b8' # 0x9B -> GREEK SMALL LETTER THETA
+ u'\u03b9' # 0x9C -> GREEK SMALL LETTER IOTA
+ u'\u03ba' # 0x9D -> GREEK SMALL LETTER KAPPA
+ u'\u03bb' # 0x9E -> GREEK SMALL LETTER LAMDA
+ u'\u03bc' # 0x9F -> GREEK SMALL LETTER MU
+ u'\xb4' # 0xA0 -> ACUTE ACCENT
+ u'~' # 0xA1 -> TILDE
+ u's' # 0xA2 -> LATIN SMALL LETTER S
+ u't' # 0xA3 -> LATIN SMALL LETTER T
+ u'u' # 0xA4 -> LATIN SMALL LETTER U
+ u'v' # 0xA5 -> LATIN SMALL LETTER V
+ u'w' # 0xA6 -> LATIN SMALL LETTER W
+ u'x' # 0xA7 -> LATIN SMALL LETTER X
+ u'y' # 0xA8 -> LATIN SMALL LETTER Y
+ u'z' # 0xA9 -> LATIN SMALL LETTER Z
+ u'\u03bd' # 0xAA -> GREEK SMALL LETTER NU
+ u'\u03be' # 0xAB -> GREEK SMALL LETTER XI
+ u'\u03bf' # 0xAC -> GREEK SMALL LETTER OMICRON
+ u'\u03c0' # 0xAD -> GREEK SMALL LETTER PI
+ u'\u03c1' # 0xAE -> GREEK SMALL LETTER RHO
+ u'\u03c3' # 0xAF -> GREEK SMALL LETTER SIGMA
+ u'\xa3' # 0xB0 -> POUND SIGN
+ u'\u03ac' # 0xB1 -> GREEK SMALL LETTER ALPHA WITH TONOS
+ u'\u03ad' # 0xB2 -> GREEK SMALL LETTER EPSILON WITH TONOS
+ u'\u03ae' # 0xB3 -> GREEK SMALL LETTER ETA WITH TONOS
+ u'\u03ca' # 0xB4 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ u'\u03af' # 0xB5 -> GREEK SMALL LETTER IOTA WITH TONOS
+ u'\u03cc' # 0xB6 -> GREEK SMALL LETTER OMICRON WITH TONOS
+ u'\u03cd' # 0xB7 -> GREEK SMALL LETTER UPSILON WITH TONOS
+ u'\u03cb' # 0xB8 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ u'\u03ce' # 0xB9 -> GREEK SMALL LETTER OMEGA WITH TONOS
+ u'\u03c2' # 0xBA -> GREEK SMALL LETTER FINAL SIGMA
+ u'\u03c4' # 0xBB -> GREEK SMALL LETTER TAU
+ u'\u03c5' # 0xBC -> GREEK SMALL LETTER UPSILON
+ u'\u03c6' # 0xBD -> GREEK SMALL LETTER PHI
+ u'\u03c7' # 0xBE -> GREEK SMALL LETTER CHI
+ u'\u03c8' # 0xBF -> GREEK SMALL LETTER PSI
+ u'{' # 0xC0 -> LEFT CURLY BRACKET
+ u'A' # 0xC1 -> LATIN CAPITAL LETTER A
+ u'B' # 0xC2 -> LATIN CAPITAL LETTER B
+ u'C' # 0xC3 -> LATIN CAPITAL LETTER C
+ u'D' # 0xC4 -> LATIN CAPITAL LETTER D
+ u'E' # 0xC5 -> LATIN CAPITAL LETTER E
+ u'F' # 0xC6 -> LATIN CAPITAL LETTER F
+ u'G' # 0xC7 -> LATIN CAPITAL LETTER G
+ u'H' # 0xC8 -> LATIN CAPITAL LETTER H
+ u'I' # 0xC9 -> LATIN CAPITAL LETTER I
+ u'\xad' # 0xCA -> SOFT HYPHEN
+ u'\u03c9' # 0xCB -> GREEK SMALL LETTER OMEGA
+ u'\u0390' # 0xCC -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ u'\u03b0' # 0xCD -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ u'\u2018' # 0xCE -> LEFT SINGLE QUOTATION MARK
+ u'\u2015' # 0xCF -> HORIZONTAL BAR
+ u'}' # 0xD0 -> RIGHT CURLY BRACKET
+ u'J' # 0xD1 -> LATIN CAPITAL LETTER J
+ u'K' # 0xD2 -> LATIN CAPITAL LETTER K
+ u'L' # 0xD3 -> LATIN CAPITAL LETTER L
+ u'M' # 0xD4 -> LATIN CAPITAL LETTER M
+ u'N' # 0xD5 -> LATIN CAPITAL LETTER N
+ u'O' # 0xD6 -> LATIN CAPITAL LETTER O
+ u'P' # 0xD7 -> LATIN CAPITAL LETTER P
+ u'Q' # 0xD8 -> LATIN CAPITAL LETTER Q
+ u'R' # 0xD9 -> LATIN CAPITAL LETTER R
+ u'\xb1' # 0xDA -> PLUS-MINUS SIGN
+ u'\xbd' # 0xDB -> VULGAR FRACTION ONE HALF
+ u'\x1a' # 0xDC -> SUBSTITUTE
+ u'\u0387' # 0xDD -> GREEK ANO TELEIA
+ u'\u2019' # 0xDE -> RIGHT SINGLE QUOTATION MARK
+ u'\xa6' # 0xDF -> BROKEN BAR
+ u'\\' # 0xE0 -> REVERSE SOLIDUS
+ u'\x1a' # 0xE1 -> SUBSTITUTE
+ u'S' # 0xE2 -> LATIN CAPITAL LETTER S
+ u'T' # 0xE3 -> LATIN CAPITAL LETTER T
+ u'U' # 0xE4 -> LATIN CAPITAL LETTER U
+ u'V' # 0xE5 -> LATIN CAPITAL LETTER V
+ u'W' # 0xE6 -> LATIN CAPITAL LETTER W
+ u'X' # 0xE7 -> LATIN CAPITAL LETTER X
+ u'Y' # 0xE8 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0xE9 -> LATIN CAPITAL LETTER Z
+ u'\xb2' # 0xEA -> SUPERSCRIPT TWO
+ u'\xa7' # 0xEB -> SECTION SIGN
+ u'\x1a' # 0xEC -> SUBSTITUTE
+ u'\x1a' # 0xED -> SUBSTITUTE
+ u'\xab' # 0xEE -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xEF -> NOT SIGN
+ u'0' # 0xF0 -> DIGIT ZERO
+ u'1' # 0xF1 -> DIGIT ONE
+ u'2' # 0xF2 -> DIGIT TWO
+ u'3' # 0xF3 -> DIGIT THREE
+ u'4' # 0xF4 -> DIGIT FOUR
+ u'5' # 0xF5 -> DIGIT FIVE
+ u'6' # 0xF6 -> DIGIT SIX
+ u'7' # 0xF7 -> DIGIT SEVEN
+ u'8' # 0xF8 -> DIGIT EIGHT
+ u'9' # 0xF9 -> DIGIT NINE
+ u'\xb3' # 0xFA -> SUPERSCRIPT THREE
+ u'\xa9' # 0xFB -> COPYRIGHT SIGN
+ u'\x1a' # 0xFC -> SUBSTITUTE
+ u'\x1a' # 0xFD -> SUBSTITUTE
+ u'\xbb' # 0xFE -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\x9f' # 0xFF -> CONTROL
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x37, # END OF TRANSMISSION
- 0x0005: 0x2D, # ENQUIRY
- 0x0006: 0x2E, # ACKNOWLEDGE
- 0x0007: 0x2F, # BELL
- 0x0008: 0x16, # BACKSPACE
- 0x0009: 0x05, # HORIZONTAL TABULATION
- 0x000A: 0x25, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x3C, # DEVICE CONTROL FOUR
- 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x32, # SYNCHRONOUS IDLE
- 0x0017: 0x26, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: None, # SUBSTITUTE
- 0x001B: 0x27, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x40, # SPACE
- 0x0021: 0x4F, # EXCLAMATION MARK
- 0x0022: 0x7F, # QUOTATION MARK
- 0x0023: 0x7B, # NUMBER SIGN
- 0x0024: 0x5B, # DOLLAR SIGN
- 0x0025: 0x6C, # PERCENT SIGN
- 0x0026: 0x50, # AMPERSAND
- 0x0027: 0x7D, # APOSTROPHE
- 0x0028: 0x4D, # LEFT PARENTHESIS
- 0x0029: 0x5D, # RIGHT PARENTHESIS
- 0x002A: 0x5C, # ASTERISK
- 0x002B: 0x4E, # PLUS SIGN
- 0x002C: 0x6B, # COMMA
- 0x002D: 0x60, # HYPHEN-MINUS
- 0x002E: 0x4B, # FULL STOP
- 0x002F: 0x61, # SOLIDUS
- 0x0030: 0xF0, # DIGIT ZERO
- 0x0031: 0xF1, # DIGIT ONE
- 0x0032: 0xF2, # DIGIT TWO
- 0x0033: 0xF3, # DIGIT THREE
- 0x0034: 0xF4, # DIGIT FOUR
- 0x0035: 0xF5, # DIGIT FIVE
- 0x0036: 0xF6, # DIGIT SIX
- 0x0037: 0xF7, # DIGIT SEVEN
- 0x0038: 0xF8, # DIGIT EIGHT
- 0x0039: 0xF9, # DIGIT NINE
- 0x003A: 0x7A, # COLON
- 0x003B: 0x5E, # SEMICOLON
- 0x003C: 0x4C, # LESS-THAN SIGN
- 0x003D: 0x7E, # EQUALS SIGN
- 0x003E: 0x6E, # GREATER-THAN SIGN
- 0x003F: 0x6F, # QUESTION MARK
- 0x0040: 0x7C, # COMMERCIAL AT
- 0x0041: 0xC1, # LATIN CAPITAL LETTER A
- 0x0042: 0xC2, # LATIN CAPITAL LETTER B
- 0x0043: 0xC3, # LATIN CAPITAL LETTER C
- 0x0044: 0xC4, # LATIN CAPITAL LETTER D
- 0x0045: 0xC5, # LATIN CAPITAL LETTER E
- 0x0046: 0xC6, # LATIN CAPITAL LETTER F
- 0x0047: 0xC7, # LATIN CAPITAL LETTER G
- 0x0048: 0xC8, # LATIN CAPITAL LETTER H
- 0x0049: 0xC9, # LATIN CAPITAL LETTER I
- 0x004A: 0xD1, # LATIN CAPITAL LETTER J
- 0x004B: 0xD2, # LATIN CAPITAL LETTER K
- 0x004C: 0xD3, # LATIN CAPITAL LETTER L
- 0x004D: 0xD4, # LATIN CAPITAL LETTER M
- 0x004E: 0xD5, # LATIN CAPITAL LETTER N
- 0x004F: 0xD6, # LATIN CAPITAL LETTER O
- 0x0050: 0xD7, # LATIN CAPITAL LETTER P
- 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
- 0x0052: 0xD9, # LATIN CAPITAL LETTER R
- 0x0053: 0xE2, # LATIN CAPITAL LETTER S
- 0x0054: 0xE3, # LATIN CAPITAL LETTER T
- 0x0055: 0xE4, # LATIN CAPITAL LETTER U
- 0x0056: 0xE5, # LATIN CAPITAL LETTER V
- 0x0057: 0xE6, # LATIN CAPITAL LETTER W
- 0x0058: 0xE7, # LATIN CAPITAL LETTER X
- 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
- 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
- 0x005B: 0x4A, # LEFT SQUARE BRACKET
- 0x005C: 0xE0, # REVERSE SOLIDUS
- 0x005D: 0x5A, # RIGHT SQUARE BRACKET
- 0x005E: 0x5F, # CIRCUMFLEX ACCENT
- 0x005F: 0x6D, # LOW LINE
- 0x0060: 0x79, # GRAVE ACCENT
- 0x0061: 0x81, # LATIN SMALL LETTER A
- 0x0062: 0x82, # LATIN SMALL LETTER B
- 0x0063: 0x83, # LATIN SMALL LETTER C
- 0x0064: 0x84, # LATIN SMALL LETTER D
- 0x0065: 0x85, # LATIN SMALL LETTER E
- 0x0066: 0x86, # LATIN SMALL LETTER F
- 0x0067: 0x87, # LATIN SMALL LETTER G
- 0x0068: 0x88, # LATIN SMALL LETTER H
- 0x0069: 0x89, # LATIN SMALL LETTER I
- 0x006A: 0x91, # LATIN SMALL LETTER J
- 0x006B: 0x92, # LATIN SMALL LETTER K
- 0x006C: 0x93, # LATIN SMALL LETTER L
- 0x006D: 0x94, # LATIN SMALL LETTER M
- 0x006E: 0x95, # LATIN SMALL LETTER N
- 0x006F: 0x96, # LATIN SMALL LETTER O
- 0x0070: 0x97, # LATIN SMALL LETTER P
- 0x0071: 0x98, # LATIN SMALL LETTER Q
- 0x0072: 0x99, # LATIN SMALL LETTER R
- 0x0073: 0xA2, # LATIN SMALL LETTER S
- 0x0074: 0xA3, # LATIN SMALL LETTER T
- 0x0075: 0xA4, # LATIN SMALL LETTER U
- 0x0076: 0xA5, # LATIN SMALL LETTER V
- 0x0077: 0xA6, # LATIN SMALL LETTER W
- 0x0078: 0xA7, # LATIN SMALL LETTER X
- 0x0079: 0xA8, # LATIN SMALL LETTER Y
- 0x007A: 0xA9, # LATIN SMALL LETTER Z
- 0x007B: 0xC0, # LEFT CURLY BRACKET
- 0x007C: 0x6A, # VERTICAL LINE
- 0x007D: 0xD0, # RIGHT CURLY BRACKET
- 0x007E: 0xA1, # TILDE
- 0x007F: 0x07, # DELETE
- 0x0080: 0x20, # CONTROL
- 0x0081: 0x21, # CONTROL
- 0x0082: 0x22, # CONTROL
- 0x0083: 0x23, # CONTROL
- 0x0084: 0x24, # CONTROL
- 0x0085: 0x15, # CONTROL
- 0x0086: 0x06, # CONTROL
- 0x0087: 0x17, # CONTROL
- 0x0088: 0x28, # CONTROL
- 0x0089: 0x29, # CONTROL
- 0x008A: 0x2A, # CONTROL
- 0x008B: 0x2B, # CONTROL
- 0x008C: 0x2C, # CONTROL
- 0x008D: 0x09, # CONTROL
- 0x008E: 0x0A, # CONTROL
- 0x008F: 0x1B, # CONTROL
- 0x0090: 0x30, # CONTROL
- 0x0091: 0x31, # CONTROL
- 0x0092: 0x1A, # CONTROL
- 0x0093: 0x33, # CONTROL
- 0x0094: 0x34, # CONTROL
- 0x0095: 0x35, # CONTROL
- 0x0096: 0x36, # CONTROL
- 0x0097: 0x08, # CONTROL
- 0x0098: 0x38, # CONTROL
- 0x0099: 0x39, # CONTROL
- 0x009A: 0x3A, # CONTROL
- 0x009B: 0x3B, # CONTROL
- 0x009C: 0x04, # CONTROL
- 0x009D: 0x14, # CONTROL
- 0x009E: 0x3E, # CONTROL
- 0x009F: 0xFF, # CONTROL
- 0x00A0: 0x74, # NO-BREAK SPACE
- 0x00A3: 0xB0, # POUND SIGN
- 0x00A6: 0xDF, # BROKEN BAR
- 0x00A7: 0xEB, # SECTION SIGN
- 0x00A8: 0x70, # DIAERESIS
- 0x00A9: 0xFB, # COPYRIGHT SIGN
- 0x00AB: 0xEE, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xEF, # NOT SIGN
- 0x00AD: 0xCA, # SOFT HYPHEN
- 0x00B0: 0x90, # DEGREE SIGN
- 0x00B1: 0xDA, # PLUS-MINUS SIGN
- 0x00B2: 0xEA, # SUPERSCRIPT TWO
- 0x00B3: 0xFA, # SUPERSCRIPT THREE
- 0x00B4: 0xA0, # ACUTE ACCENT
- 0x00BB: 0xFE, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BD: 0xDB, # VULGAR FRACTION ONE HALF
- 0x0385: 0x80, # GREEK DIALYTIKA TONOS
- 0x0386: 0x71, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0387: 0xDD, # GREEK ANO TELEIA
- 0x0388: 0x72, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x0389: 0x73, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x038A: 0x75, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x038C: 0x76, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x038E: 0x77, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x038F: 0x78, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0390: 0xCC, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x0391: 0x41, # GREEK CAPITAL LETTER ALPHA
- 0x0392: 0x42, # GREEK CAPITAL LETTER BETA
- 0x0393: 0x43, # GREEK CAPITAL LETTER GAMMA
- 0x0394: 0x44, # GREEK CAPITAL LETTER DELTA
- 0x0395: 0x45, # GREEK CAPITAL LETTER EPSILON
- 0x0396: 0x46, # GREEK CAPITAL LETTER ZETA
- 0x0397: 0x47, # GREEK CAPITAL LETTER ETA
- 0x0398: 0x48, # GREEK CAPITAL LETTER THETA
- 0x0399: 0x49, # GREEK CAPITAL LETTER IOTA
- 0x039A: 0x51, # GREEK CAPITAL LETTER KAPPA
- 0x039B: 0x52, # GREEK CAPITAL LETTER LAMDA
- 0x039C: 0x53, # GREEK CAPITAL LETTER MU
- 0x039D: 0x54, # GREEK CAPITAL LETTER NU
- 0x039E: 0x55, # GREEK CAPITAL LETTER XI
- 0x039F: 0x56, # GREEK CAPITAL LETTER OMICRON
- 0x03A0: 0x57, # GREEK CAPITAL LETTER PI
- 0x03A1: 0x58, # GREEK CAPITAL LETTER RHO
- 0x03A3: 0x59, # GREEK CAPITAL LETTER SIGMA
- 0x03A4: 0x62, # GREEK CAPITAL LETTER TAU
- 0x03A5: 0x63, # GREEK CAPITAL LETTER UPSILON
- 0x03A6: 0x64, # GREEK CAPITAL LETTER PHI
- 0x03A7: 0x65, # GREEK CAPITAL LETTER CHI
- 0x03A8: 0x66, # GREEK CAPITAL LETTER PSI
- 0x03A9: 0x67, # GREEK CAPITAL LETTER OMEGA
- 0x03AA: 0x68, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x03AB: 0x69, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x03AC: 0xB1, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x03AD: 0xB2, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x03AE: 0xB3, # GREEK SMALL LETTER ETA WITH TONOS
- 0x03AF: 0xB5, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x03B0: 0xCD, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- 0x03B1: 0x8A, # GREEK SMALL LETTER ALPHA
- 0x03B2: 0x8B, # GREEK SMALL LETTER BETA
- 0x03B3: 0x8C, # GREEK SMALL LETTER GAMMA
- 0x03B4: 0x8D, # GREEK SMALL LETTER DELTA
- 0x03B5: 0x8E, # GREEK SMALL LETTER EPSILON
- 0x03B6: 0x8F, # GREEK SMALL LETTER ZETA
- 0x03B7: 0x9A, # GREEK SMALL LETTER ETA
- 0x03B8: 0x9B, # GREEK SMALL LETTER THETA
- 0x03B9: 0x9C, # GREEK SMALL LETTER IOTA
- 0x03BA: 0x9D, # GREEK SMALL LETTER KAPPA
- 0x03BB: 0x9E, # GREEK SMALL LETTER LAMDA
- 0x03BC: 0x9F, # GREEK SMALL LETTER MU
- 0x03BD: 0xAA, # GREEK SMALL LETTER NU
- 0x03BE: 0xAB, # GREEK SMALL LETTER XI
- 0x03BF: 0xAC, # GREEK SMALL LETTER OMICRON
- 0x03C0: 0xAD, # GREEK SMALL LETTER PI
- 0x03C1: 0xAE, # GREEK SMALL LETTER RHO
- 0x03C2: 0xBA, # GREEK SMALL LETTER FINAL SIGMA
- 0x03C3: 0xAF, # GREEK SMALL LETTER SIGMA
- 0x03C4: 0xBB, # GREEK SMALL LETTER TAU
- 0x03C5: 0xBC, # GREEK SMALL LETTER UPSILON
- 0x03C6: 0xBD, # GREEK SMALL LETTER PHI
- 0x03C7: 0xBE, # GREEK SMALL LETTER CHI
- 0x03C8: 0xBF, # GREEK SMALL LETTER PSI
- 0x03C9: 0xCB, # GREEK SMALL LETTER OMEGA
- 0x03CA: 0xB4, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x03CB: 0xB8, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x03CC: 0xB6, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x03CD: 0xB7, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x03CE: 0xB9, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x2015: 0xCF, # HORIZONTAL BAR
- 0x2018: 0xCE, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xDE, # RIGHT SINGLE QUOTATION MARK
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x37, # END OF TRANSMISSION
+ 0x0005: 0x2D, # ENQUIRY
+ 0x0006: 0x2E, # ACKNOWLEDGE
+ 0x0007: 0x2F, # BELL
+ 0x0008: 0x16, # BACKSPACE
+ 0x0009: 0x05, # HORIZONTAL TABULATION
+ 0x000A: 0x25, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x3C, # DEVICE CONTROL FOUR
+ 0x0015: 0x3D, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x32, # SYNCHRONOUS IDLE
+ 0x0017: 0x26, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: None, # SUBSTITUTE
+ 0x001B: 0x27, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x40, # SPACE
+ 0x0021: 0x4F, # EXCLAMATION MARK
+ 0x0022: 0x7F, # QUOTATION MARK
+ 0x0023: 0x7B, # NUMBER SIGN
+ 0x0024: 0x5B, # DOLLAR SIGN
+ 0x0025: 0x6C, # PERCENT SIGN
+ 0x0026: 0x50, # AMPERSAND
+ 0x0027: 0x7D, # APOSTROPHE
+ 0x0028: 0x4D, # LEFT PARENTHESIS
+ 0x0029: 0x5D, # RIGHT PARENTHESIS
+ 0x002A: 0x5C, # ASTERISK
+ 0x002B: 0x4E, # PLUS SIGN
+ 0x002C: 0x6B, # COMMA
+ 0x002D: 0x60, # HYPHEN-MINUS
+ 0x002E: 0x4B, # FULL STOP
+ 0x002F: 0x61, # SOLIDUS
+ 0x0030: 0xF0, # DIGIT ZERO
+ 0x0031: 0xF1, # DIGIT ONE
+ 0x0032: 0xF2, # DIGIT TWO
+ 0x0033: 0xF3, # DIGIT THREE
+ 0x0034: 0xF4, # DIGIT FOUR
+ 0x0035: 0xF5, # DIGIT FIVE
+ 0x0036: 0xF6, # DIGIT SIX
+ 0x0037: 0xF7, # DIGIT SEVEN
+ 0x0038: 0xF8, # DIGIT EIGHT
+ 0x0039: 0xF9, # DIGIT NINE
+ 0x003A: 0x7A, # COLON
+ 0x003B: 0x5E, # SEMICOLON
+ 0x003C: 0x4C, # LESS-THAN SIGN
+ 0x003D: 0x7E, # EQUALS SIGN
+ 0x003E: 0x6E, # GREATER-THAN SIGN
+ 0x003F: 0x6F, # QUESTION MARK
+ 0x0040: 0x7C, # COMMERCIAL AT
+ 0x0041: 0xC1, # LATIN CAPITAL LETTER A
+ 0x0042: 0xC2, # LATIN CAPITAL LETTER B
+ 0x0043: 0xC3, # LATIN CAPITAL LETTER C
+ 0x0044: 0xC4, # LATIN CAPITAL LETTER D
+ 0x0045: 0xC5, # LATIN CAPITAL LETTER E
+ 0x0046: 0xC6, # LATIN CAPITAL LETTER F
+ 0x0047: 0xC7, # LATIN CAPITAL LETTER G
+ 0x0048: 0xC8, # LATIN CAPITAL LETTER H
+ 0x0049: 0xC9, # LATIN CAPITAL LETTER I
+ 0x004A: 0xD1, # LATIN CAPITAL LETTER J
+ 0x004B: 0xD2, # LATIN CAPITAL LETTER K
+ 0x004C: 0xD3, # LATIN CAPITAL LETTER L
+ 0x004D: 0xD4, # LATIN CAPITAL LETTER M
+ 0x004E: 0xD5, # LATIN CAPITAL LETTER N
+ 0x004F: 0xD6, # LATIN CAPITAL LETTER O
+ 0x0050: 0xD7, # LATIN CAPITAL LETTER P
+ 0x0051: 0xD8, # LATIN CAPITAL LETTER Q
+ 0x0052: 0xD9, # LATIN CAPITAL LETTER R
+ 0x0053: 0xE2, # LATIN CAPITAL LETTER S
+ 0x0054: 0xE3, # LATIN CAPITAL LETTER T
+ 0x0055: 0xE4, # LATIN CAPITAL LETTER U
+ 0x0056: 0xE5, # LATIN CAPITAL LETTER V
+ 0x0057: 0xE6, # LATIN CAPITAL LETTER W
+ 0x0058: 0xE7, # LATIN CAPITAL LETTER X
+ 0x0059: 0xE8, # LATIN CAPITAL LETTER Y
+ 0x005A: 0xE9, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x4A, # LEFT SQUARE BRACKET
+ 0x005C: 0xE0, # REVERSE SOLIDUS
+ 0x005D: 0x5A, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5F, # CIRCUMFLEX ACCENT
+ 0x005F: 0x6D, # LOW LINE
+ 0x0060: 0x79, # GRAVE ACCENT
+ 0x0061: 0x81, # LATIN SMALL LETTER A
+ 0x0062: 0x82, # LATIN SMALL LETTER B
+ 0x0063: 0x83, # LATIN SMALL LETTER C
+ 0x0064: 0x84, # LATIN SMALL LETTER D
+ 0x0065: 0x85, # LATIN SMALL LETTER E
+ 0x0066: 0x86, # LATIN SMALL LETTER F
+ 0x0067: 0x87, # LATIN SMALL LETTER G
+ 0x0068: 0x88, # LATIN SMALL LETTER H
+ 0x0069: 0x89, # LATIN SMALL LETTER I
+ 0x006A: 0x91, # LATIN SMALL LETTER J
+ 0x006B: 0x92, # LATIN SMALL LETTER K
+ 0x006C: 0x93, # LATIN SMALL LETTER L
+ 0x006D: 0x94, # LATIN SMALL LETTER M
+ 0x006E: 0x95, # LATIN SMALL LETTER N
+ 0x006F: 0x96, # LATIN SMALL LETTER O
+ 0x0070: 0x97, # LATIN SMALL LETTER P
+ 0x0071: 0x98, # LATIN SMALL LETTER Q
+ 0x0072: 0x99, # LATIN SMALL LETTER R
+ 0x0073: 0xA2, # LATIN SMALL LETTER S
+ 0x0074: 0xA3, # LATIN SMALL LETTER T
+ 0x0075: 0xA4, # LATIN SMALL LETTER U
+ 0x0076: 0xA5, # LATIN SMALL LETTER V
+ 0x0077: 0xA6, # LATIN SMALL LETTER W
+ 0x0078: 0xA7, # LATIN SMALL LETTER X
+ 0x0079: 0xA8, # LATIN SMALL LETTER Y
+ 0x007A: 0xA9, # LATIN SMALL LETTER Z
+ 0x007B: 0xC0, # LEFT CURLY BRACKET
+ 0x007C: 0x6A, # VERTICAL LINE
+ 0x007D: 0xD0, # RIGHT CURLY BRACKET
+ 0x007E: 0xA1, # TILDE
+ 0x007F: 0x07, # DELETE
+ 0x0080: 0x20, # CONTROL
+ 0x0081: 0x21, # CONTROL
+ 0x0082: 0x22, # CONTROL
+ 0x0083: 0x23, # CONTROL
+ 0x0084: 0x24, # CONTROL
+ 0x0085: 0x15, # CONTROL
+ 0x0086: 0x06, # CONTROL
+ 0x0087: 0x17, # CONTROL
+ 0x0088: 0x28, # CONTROL
+ 0x0089: 0x29, # CONTROL
+ 0x008A: 0x2A, # CONTROL
+ 0x008B: 0x2B, # CONTROL
+ 0x008C: 0x2C, # CONTROL
+ 0x008D: 0x09, # CONTROL
+ 0x008E: 0x0A, # CONTROL
+ 0x008F: 0x1B, # CONTROL
+ 0x0090: 0x30, # CONTROL
+ 0x0091: 0x31, # CONTROL
+ 0x0092: 0x1A, # CONTROL
+ 0x0093: 0x33, # CONTROL
+ 0x0094: 0x34, # CONTROL
+ 0x0095: 0x35, # CONTROL
+ 0x0096: 0x36, # CONTROL
+ 0x0097: 0x08, # CONTROL
+ 0x0098: 0x38, # CONTROL
+ 0x0099: 0x39, # CONTROL
+ 0x009A: 0x3A, # CONTROL
+ 0x009B: 0x3B, # CONTROL
+ 0x009C: 0x04, # CONTROL
+ 0x009D: 0x14, # CONTROL
+ 0x009E: 0x3E, # CONTROL
+ 0x009F: 0xFF, # CONTROL
+ 0x00A0: 0x74, # NO-BREAK SPACE
+ 0x00A3: 0xB0, # POUND SIGN
+ 0x00A6: 0xDF, # BROKEN BAR
+ 0x00A7: 0xEB, # SECTION SIGN
+ 0x00A8: 0x70, # DIAERESIS
+ 0x00A9: 0xFB, # COPYRIGHT SIGN
+ 0x00AB: 0xEE, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xEF, # NOT SIGN
+ 0x00AD: 0xCA, # SOFT HYPHEN
+ 0x00B0: 0x90, # DEGREE SIGN
+ 0x00B1: 0xDA, # PLUS-MINUS SIGN
+ 0x00B2: 0xEA, # SUPERSCRIPT TWO
+ 0x00B3: 0xFA, # SUPERSCRIPT THREE
+ 0x00B4: 0xA0, # ACUTE ACCENT
+ 0x00BB: 0xFE, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BD: 0xDB, # VULGAR FRACTION ONE HALF
+ 0x0385: 0x80, # GREEK DIALYTIKA TONOS
+ 0x0386: 0x71, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0387: 0xDD, # GREEK ANO TELEIA
+ 0x0388: 0x72, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x0389: 0x73, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x038A: 0x75, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x038C: 0x76, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x038E: 0x77, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x038F: 0x78, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0390: 0xCC, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ 0x0391: 0x41, # GREEK CAPITAL LETTER ALPHA
+ 0x0392: 0x42, # GREEK CAPITAL LETTER BETA
+ 0x0393: 0x43, # GREEK CAPITAL LETTER GAMMA
+ 0x0394: 0x44, # GREEK CAPITAL LETTER DELTA
+ 0x0395: 0x45, # GREEK CAPITAL LETTER EPSILON
+ 0x0396: 0x46, # GREEK CAPITAL LETTER ZETA
+ 0x0397: 0x47, # GREEK CAPITAL LETTER ETA
+ 0x0398: 0x48, # GREEK CAPITAL LETTER THETA
+ 0x0399: 0x49, # GREEK CAPITAL LETTER IOTA
+ 0x039A: 0x51, # GREEK CAPITAL LETTER KAPPA
+ 0x039B: 0x52, # GREEK CAPITAL LETTER LAMDA
+ 0x039C: 0x53, # GREEK CAPITAL LETTER MU
+ 0x039D: 0x54, # GREEK CAPITAL LETTER NU
+ 0x039E: 0x55, # GREEK CAPITAL LETTER XI
+ 0x039F: 0x56, # GREEK CAPITAL LETTER OMICRON
+ 0x03A0: 0x57, # GREEK CAPITAL LETTER PI
+ 0x03A1: 0x58, # GREEK CAPITAL LETTER RHO
+ 0x03A3: 0x59, # GREEK CAPITAL LETTER SIGMA
+ 0x03A4: 0x62, # GREEK CAPITAL LETTER TAU
+ 0x03A5: 0x63, # GREEK CAPITAL LETTER UPSILON
+ 0x03A6: 0x64, # GREEK CAPITAL LETTER PHI
+ 0x03A7: 0x65, # GREEK CAPITAL LETTER CHI
+ 0x03A8: 0x66, # GREEK CAPITAL LETTER PSI
+ 0x03A9: 0x67, # GREEK CAPITAL LETTER OMEGA
+ 0x03AA: 0x68, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x03AB: 0x69, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x03AC: 0xB1, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x03AD: 0xB2, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x03AE: 0xB3, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x03AF: 0xB5, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x03B0: 0xCD, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x03B1: 0x8A, # GREEK SMALL LETTER ALPHA
+ 0x03B2: 0x8B, # GREEK SMALL LETTER BETA
+ 0x03B3: 0x8C, # GREEK SMALL LETTER GAMMA
+ 0x03B4: 0x8D, # GREEK SMALL LETTER DELTA
+ 0x03B5: 0x8E, # GREEK SMALL LETTER EPSILON
+ 0x03B6: 0x8F, # GREEK SMALL LETTER ZETA
+ 0x03B7: 0x9A, # GREEK SMALL LETTER ETA
+ 0x03B8: 0x9B, # GREEK SMALL LETTER THETA
+ 0x03B9: 0x9C, # GREEK SMALL LETTER IOTA
+ 0x03BA: 0x9D, # GREEK SMALL LETTER KAPPA
+ 0x03BB: 0x9E, # GREEK SMALL LETTER LAMDA
+ 0x03BC: 0x9F, # GREEK SMALL LETTER MU
+ 0x03BD: 0xAA, # GREEK SMALL LETTER NU
+ 0x03BE: 0xAB, # GREEK SMALL LETTER XI
+ 0x03BF: 0xAC, # GREEK SMALL LETTER OMICRON
+ 0x03C0: 0xAD, # GREEK SMALL LETTER PI
+ 0x03C1: 0xAE, # GREEK SMALL LETTER RHO
+ 0x03C2: 0xBA, # GREEK SMALL LETTER FINAL SIGMA
+ 0x03C3: 0xAF, # GREEK SMALL LETTER SIGMA
+ 0x03C4: 0xBB, # GREEK SMALL LETTER TAU
+ 0x03C5: 0xBC, # GREEK SMALL LETTER UPSILON
+ 0x03C6: 0xBD, # GREEK SMALL LETTER PHI
+ 0x03C7: 0xBE, # GREEK SMALL LETTER CHI
+ 0x03C8: 0xBF, # GREEK SMALL LETTER PSI
+ 0x03C9: 0xCB, # GREEK SMALL LETTER OMEGA
+ 0x03CA: 0xB4, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x03CB: 0xB8, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x03CC: 0xB6, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x03CD: 0xB7, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x03CE: 0xB9, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x2015: 0xCF, # HORIZONTAL BAR
+ 0x2018: 0xCE, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xDE, # RIGHT SINGLE QUOTATION MARK
}
-
diff --git a/Lib/encodings/iso8859_1.py b/Lib/encodings/iso8859_1.py
index ecd3730..6aaea7c 100644
--- a/Lib/encodings/iso8859_1.py
+++ b/Lib/encodings/iso8859_1.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH (Icelandic)
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN (Icelandic)
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S (German)
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH (Icelandic)
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN (Icelandic)
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH (Icelandic)
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN (Icelandic)
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S (German)
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH (Icelandic)
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN (Icelandic)
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH (Icelandic)
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN (Icelandic)
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S (German)
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0xF0, # LATIN SMALL LETTER ETH (Icelandic)
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0xFE, # LATIN SMALL LETTER THORN (Icelandic)
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH (Icelandic)
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN (Icelandic)
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S (German)
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0xF0, # LATIN SMALL LETTER ETH (Icelandic)
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0xFE, # LATIN SMALL LETTER THORN (Icelandic)
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
}
-
diff --git a/Lib/encodings/iso8859_10.py b/Lib/encodings/iso8859_10.py
index 86a3cc8..26b55c9 100644
--- a/Lib/encodings/iso8859_10.py
+++ b/Lib/encodings/iso8859_10.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u0112' # 0xA2 -> LATIN CAPITAL LETTER E WITH MACRON
- u'\u0122' # 0xA3 -> LATIN CAPITAL LETTER G WITH CEDILLA
- u'\u012a' # 0xA4 -> LATIN CAPITAL LETTER I WITH MACRON
- u'\u0128' # 0xA5 -> LATIN CAPITAL LETTER I WITH TILDE
- u'\u0136' # 0xA6 -> LATIN CAPITAL LETTER K WITH CEDILLA
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\u013b' # 0xA8 -> LATIN CAPITAL LETTER L WITH CEDILLA
- u'\u0110' # 0xA9 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u0160' # 0xAA -> LATIN CAPITAL LETTER S WITH CARON
- u'\u0166' # 0xAB -> LATIN CAPITAL LETTER T WITH STROKE
- u'\u017d' # 0xAC -> LATIN CAPITAL LETTER Z WITH CARON
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\u016a' # 0xAE -> LATIN CAPITAL LETTER U WITH MACRON
- u'\u014a' # 0xAF -> LATIN CAPITAL LETTER ENG
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\u0105' # 0xB1 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u0113' # 0xB2 -> LATIN SMALL LETTER E WITH MACRON
- u'\u0123' # 0xB3 -> LATIN SMALL LETTER G WITH CEDILLA
- u'\u012b' # 0xB4 -> LATIN SMALL LETTER I WITH MACRON
- u'\u0129' # 0xB5 -> LATIN SMALL LETTER I WITH TILDE
- u'\u0137' # 0xB6 -> LATIN SMALL LETTER K WITH CEDILLA
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\u013c' # 0xB8 -> LATIN SMALL LETTER L WITH CEDILLA
- u'\u0111' # 0xB9 -> LATIN SMALL LETTER D WITH STROKE
- u'\u0161' # 0xBA -> LATIN SMALL LETTER S WITH CARON
- u'\u0167' # 0xBB -> LATIN SMALL LETTER T WITH STROKE
- u'\u017e' # 0xBC -> LATIN SMALL LETTER Z WITH CARON
- u'\u2015' # 0xBD -> HORIZONTAL BAR
- u'\u016b' # 0xBE -> LATIN SMALL LETTER U WITH MACRON
- u'\u014b' # 0xBF -> LATIN SMALL LETTER ENG
- u'\u0100' # 0xC0 -> LATIN CAPITAL LETTER A WITH MACRON
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\u012e' # 0xC7 -> LATIN CAPITAL LETTER I WITH OGONEK
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u0116' # 0xCC -> LATIN CAPITAL LETTER E WITH DOT ABOVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH (Icelandic)
- u'\u0145' # 0xD1 -> LATIN CAPITAL LETTER N WITH CEDILLA
- u'\u014c' # 0xD2 -> LATIN CAPITAL LETTER O WITH MACRON
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\u0168' # 0xD7 -> LATIN CAPITAL LETTER U WITH TILDE
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u0172' # 0xD9 -> LATIN CAPITAL LETTER U WITH OGONEK
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN (Icelandic)
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S (German)
- u'\u0101' # 0xE0 -> LATIN SMALL LETTER A WITH MACRON
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\u012f' # 0xE7 -> LATIN SMALL LETTER I WITH OGONEK
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u0117' # 0xEC -> LATIN SMALL LETTER E WITH DOT ABOVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH (Icelandic)
- u'\u0146' # 0xF1 -> LATIN SMALL LETTER N WITH CEDILLA
- u'\u014d' # 0xF2 -> LATIN SMALL LETTER O WITH MACRON
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\u0169' # 0xF7 -> LATIN SMALL LETTER U WITH TILDE
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\u0173' # 0xF9 -> LATIN SMALL LETTER U WITH OGONEK
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN (Icelandic)
- u'\u0138' # 0xFF -> LATIN SMALL LETTER KRA
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u0112' # 0xA2 -> LATIN CAPITAL LETTER E WITH MACRON
+ u'\u0122' # 0xA3 -> LATIN CAPITAL LETTER G WITH CEDILLA
+ u'\u012a' # 0xA4 -> LATIN CAPITAL LETTER I WITH MACRON
+ u'\u0128' # 0xA5 -> LATIN CAPITAL LETTER I WITH TILDE
+ u'\u0136' # 0xA6 -> LATIN CAPITAL LETTER K WITH CEDILLA
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\u013b' # 0xA8 -> LATIN CAPITAL LETTER L WITH CEDILLA
+ u'\u0110' # 0xA9 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u0160' # 0xAA -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u0166' # 0xAB -> LATIN CAPITAL LETTER T WITH STROKE
+ u'\u017d' # 0xAC -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u016a' # 0xAE -> LATIN CAPITAL LETTER U WITH MACRON
+ u'\u014a' # 0xAF -> LATIN CAPITAL LETTER ENG
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\u0105' # 0xB1 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u0113' # 0xB2 -> LATIN SMALL LETTER E WITH MACRON
+ u'\u0123' # 0xB3 -> LATIN SMALL LETTER G WITH CEDILLA
+ u'\u012b' # 0xB4 -> LATIN SMALL LETTER I WITH MACRON
+ u'\u0129' # 0xB5 -> LATIN SMALL LETTER I WITH TILDE
+ u'\u0137' # 0xB6 -> LATIN SMALL LETTER K WITH CEDILLA
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\u013c' # 0xB8 -> LATIN SMALL LETTER L WITH CEDILLA
+ u'\u0111' # 0xB9 -> LATIN SMALL LETTER D WITH STROKE
+ u'\u0161' # 0xBA -> LATIN SMALL LETTER S WITH CARON
+ u'\u0167' # 0xBB -> LATIN SMALL LETTER T WITH STROKE
+ u'\u017e' # 0xBC -> LATIN SMALL LETTER Z WITH CARON
+ u'\u2015' # 0xBD -> HORIZONTAL BAR
+ u'\u016b' # 0xBE -> LATIN SMALL LETTER U WITH MACRON
+ u'\u014b' # 0xBF -> LATIN SMALL LETTER ENG
+ u'\u0100' # 0xC0 -> LATIN CAPITAL LETTER A WITH MACRON
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\u012e' # 0xC7 -> LATIN CAPITAL LETTER I WITH OGONEK
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u0116' # 0xCC -> LATIN CAPITAL LETTER E WITH DOT ABOVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH (Icelandic)
+ u'\u0145' # 0xD1 -> LATIN CAPITAL LETTER N WITH CEDILLA
+ u'\u014c' # 0xD2 -> LATIN CAPITAL LETTER O WITH MACRON
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\u0168' # 0xD7 -> LATIN CAPITAL LETTER U WITH TILDE
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u0172' # 0xD9 -> LATIN CAPITAL LETTER U WITH OGONEK
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN (Icelandic)
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S (German)
+ u'\u0101' # 0xE0 -> LATIN SMALL LETTER A WITH MACRON
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\u012f' # 0xE7 -> LATIN SMALL LETTER I WITH OGONEK
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u0117' # 0xEC -> LATIN SMALL LETTER E WITH DOT ABOVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH (Icelandic)
+ u'\u0146' # 0xF1 -> LATIN SMALL LETTER N WITH CEDILLA
+ u'\u014d' # 0xF2 -> LATIN SMALL LETTER O WITH MACRON
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\u0169' # 0xF7 -> LATIN SMALL LETTER U WITH TILDE
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\u0173' # 0xF9 -> LATIN SMALL LETTER U WITH OGONEK
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN (Icelandic)
+ u'\u0138' # 0xFF -> LATIN SMALL LETTER KRA
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH (Icelandic)
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN (Icelandic)
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S (German)
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0xF0, # LATIN SMALL LETTER ETH (Icelandic)
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0xFE, # LATIN SMALL LETTER THORN (Icelandic)
- 0x0100: 0xC0, # LATIN CAPITAL LETTER A WITH MACRON
- 0x0101: 0xE0, # LATIN SMALL LETTER A WITH MACRON
- 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xB1, # LATIN SMALL LETTER A WITH OGONEK
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x0110: 0xA9, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xB9, # LATIN SMALL LETTER D WITH STROKE
- 0x0112: 0xA2, # LATIN CAPITAL LETTER E WITH MACRON
- 0x0113: 0xB2, # LATIN SMALL LETTER E WITH MACRON
- 0x0116: 0xCC, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x0117: 0xEC, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
- 0x0122: 0xA3, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0123: 0xB3, # LATIN SMALL LETTER G WITH CEDILLA
- 0x0128: 0xA5, # LATIN CAPITAL LETTER I WITH TILDE
- 0x0129: 0xB5, # LATIN SMALL LETTER I WITH TILDE
- 0x012A: 0xA4, # LATIN CAPITAL LETTER I WITH MACRON
- 0x012B: 0xB4, # LATIN SMALL LETTER I WITH MACRON
- 0x012E: 0xC7, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x012F: 0xE7, # LATIN SMALL LETTER I WITH OGONEK
- 0x0136: 0xA6, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x0137: 0xB6, # LATIN SMALL LETTER K WITH CEDILLA
- 0x0138: 0xFF, # LATIN SMALL LETTER KRA
- 0x013B: 0xA8, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x013C: 0xB8, # LATIN SMALL LETTER L WITH CEDILLA
- 0x0145: 0xD1, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x0146: 0xF1, # LATIN SMALL LETTER N WITH CEDILLA
- 0x014A: 0xAF, # LATIN CAPITAL LETTER ENG
- 0x014B: 0xBF, # LATIN SMALL LETTER ENG
- 0x014C: 0xD2, # LATIN CAPITAL LETTER O WITH MACRON
- 0x014D: 0xF2, # LATIN SMALL LETTER O WITH MACRON
- 0x0160: 0xAA, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xBA, # LATIN SMALL LETTER S WITH CARON
- 0x0166: 0xAB, # LATIN CAPITAL LETTER T WITH STROKE
- 0x0167: 0xBB, # LATIN SMALL LETTER T WITH STROKE
- 0x0168: 0xD7, # LATIN CAPITAL LETTER U WITH TILDE
- 0x0169: 0xF7, # LATIN SMALL LETTER U WITH TILDE
- 0x016A: 0xAE, # LATIN CAPITAL LETTER U WITH MACRON
- 0x016B: 0xBE, # LATIN SMALL LETTER U WITH MACRON
- 0x0172: 0xD9, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x0173: 0xF9, # LATIN SMALL LETTER U WITH OGONEK
- 0x017D: 0xAC, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xBC, # LATIN SMALL LETTER Z WITH CARON
- 0x2015: 0xBD, # HORIZONTAL BAR
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH (Icelandic)
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN (Icelandic)
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S (German)
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0xF0, # LATIN SMALL LETTER ETH (Icelandic)
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0xFE, # LATIN SMALL LETTER THORN (Icelandic)
+ 0x0100: 0xC0, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x0101: 0xE0, # LATIN SMALL LETTER A WITH MACRON
+ 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xB1, # LATIN SMALL LETTER A WITH OGONEK
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x0110: 0xA9, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xB9, # LATIN SMALL LETTER D WITH STROKE
+ 0x0112: 0xA2, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x0113: 0xB2, # LATIN SMALL LETTER E WITH MACRON
+ 0x0116: 0xCC, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x0117: 0xEC, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
+ 0x0122: 0xA3, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0123: 0xB3, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x0128: 0xA5, # LATIN CAPITAL LETTER I WITH TILDE
+ 0x0129: 0xB5, # LATIN SMALL LETTER I WITH TILDE
+ 0x012A: 0xA4, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x012B: 0xB4, # LATIN SMALL LETTER I WITH MACRON
+ 0x012E: 0xC7, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x012F: 0xE7, # LATIN SMALL LETTER I WITH OGONEK
+ 0x0136: 0xA6, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x0137: 0xB6, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x0138: 0xFF, # LATIN SMALL LETTER KRA
+ 0x013B: 0xA8, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x013C: 0xB8, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x0145: 0xD1, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x0146: 0xF1, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x014A: 0xAF, # LATIN CAPITAL LETTER ENG
+ 0x014B: 0xBF, # LATIN SMALL LETTER ENG
+ 0x014C: 0xD2, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x014D: 0xF2, # LATIN SMALL LETTER O WITH MACRON
+ 0x0160: 0xAA, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xBA, # LATIN SMALL LETTER S WITH CARON
+ 0x0166: 0xAB, # LATIN CAPITAL LETTER T WITH STROKE
+ 0x0167: 0xBB, # LATIN SMALL LETTER T WITH STROKE
+ 0x0168: 0xD7, # LATIN CAPITAL LETTER U WITH TILDE
+ 0x0169: 0xF7, # LATIN SMALL LETTER U WITH TILDE
+ 0x016A: 0xAE, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x016B: 0xBE, # LATIN SMALL LETTER U WITH MACRON
+ 0x0172: 0xD9, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x0173: 0xF9, # LATIN SMALL LETTER U WITH OGONEK
+ 0x017D: 0xAC, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xBC, # LATIN SMALL LETTER Z WITH CARON
+ 0x2015: 0xBD, # HORIZONTAL BAR
}
-
diff --git a/Lib/encodings/iso8859_11.py b/Lib/encodings/iso8859_11.py
index 69b3765..ef17167 100644
--- a/Lib/encodings/iso8859_11.py
+++ b/Lib/encodings/iso8859_11.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,258 +32,258 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0e01' # 0xA1 -> THAI CHARACTER KO KAI
- u'\u0e02' # 0xA2 -> THAI CHARACTER KHO KHAI
- u'\u0e03' # 0xA3 -> THAI CHARACTER KHO KHUAT
- u'\u0e04' # 0xA4 -> THAI CHARACTER KHO KHWAI
- u'\u0e05' # 0xA5 -> THAI CHARACTER KHO KHON
- u'\u0e06' # 0xA6 -> THAI CHARACTER KHO RAKHANG
- u'\u0e07' # 0xA7 -> THAI CHARACTER NGO NGU
- u'\u0e08' # 0xA8 -> THAI CHARACTER CHO CHAN
- u'\u0e09' # 0xA9 -> THAI CHARACTER CHO CHING
- u'\u0e0a' # 0xAA -> THAI CHARACTER CHO CHANG
- u'\u0e0b' # 0xAB -> THAI CHARACTER SO SO
- u'\u0e0c' # 0xAC -> THAI CHARACTER CHO CHOE
- u'\u0e0d' # 0xAD -> THAI CHARACTER YO YING
- u'\u0e0e' # 0xAE -> THAI CHARACTER DO CHADA
- u'\u0e0f' # 0xAF -> THAI CHARACTER TO PATAK
- u'\u0e10' # 0xB0 -> THAI CHARACTER THO THAN
- u'\u0e11' # 0xB1 -> THAI CHARACTER THO NANGMONTHO
- u'\u0e12' # 0xB2 -> THAI CHARACTER THO PHUTHAO
- u'\u0e13' # 0xB3 -> THAI CHARACTER NO NEN
- u'\u0e14' # 0xB4 -> THAI CHARACTER DO DEK
- u'\u0e15' # 0xB5 -> THAI CHARACTER TO TAO
- u'\u0e16' # 0xB6 -> THAI CHARACTER THO THUNG
- u'\u0e17' # 0xB7 -> THAI CHARACTER THO THAHAN
- u'\u0e18' # 0xB8 -> THAI CHARACTER THO THONG
- u'\u0e19' # 0xB9 -> THAI CHARACTER NO NU
- u'\u0e1a' # 0xBA -> THAI CHARACTER BO BAIMAI
- u'\u0e1b' # 0xBB -> THAI CHARACTER PO PLA
- u'\u0e1c' # 0xBC -> THAI CHARACTER PHO PHUNG
- u'\u0e1d' # 0xBD -> THAI CHARACTER FO FA
- u'\u0e1e' # 0xBE -> THAI CHARACTER PHO PHAN
- u'\u0e1f' # 0xBF -> THAI CHARACTER FO FAN
- u'\u0e20' # 0xC0 -> THAI CHARACTER PHO SAMPHAO
- u'\u0e21' # 0xC1 -> THAI CHARACTER MO MA
- u'\u0e22' # 0xC2 -> THAI CHARACTER YO YAK
- u'\u0e23' # 0xC3 -> THAI CHARACTER RO RUA
- u'\u0e24' # 0xC4 -> THAI CHARACTER RU
- u'\u0e25' # 0xC5 -> THAI CHARACTER LO LING
- u'\u0e26' # 0xC6 -> THAI CHARACTER LU
- u'\u0e27' # 0xC7 -> THAI CHARACTER WO WAEN
- u'\u0e28' # 0xC8 -> THAI CHARACTER SO SALA
- u'\u0e29' # 0xC9 -> THAI CHARACTER SO RUSI
- u'\u0e2a' # 0xCA -> THAI CHARACTER SO SUA
- u'\u0e2b' # 0xCB -> THAI CHARACTER HO HIP
- u'\u0e2c' # 0xCC -> THAI CHARACTER LO CHULA
- u'\u0e2d' # 0xCD -> THAI CHARACTER O ANG
- u'\u0e2e' # 0xCE -> THAI CHARACTER HO NOKHUK
- u'\u0e2f' # 0xCF -> THAI CHARACTER PAIYANNOI
- u'\u0e30' # 0xD0 -> THAI CHARACTER SARA A
- u'\u0e31' # 0xD1 -> THAI CHARACTER MAI HAN-AKAT
- u'\u0e32' # 0xD2 -> THAI CHARACTER SARA AA
- u'\u0e33' # 0xD3 -> THAI CHARACTER SARA AM
- u'\u0e34' # 0xD4 -> THAI CHARACTER SARA I
- u'\u0e35' # 0xD5 -> THAI CHARACTER SARA II
- u'\u0e36' # 0xD6 -> THAI CHARACTER SARA UE
- u'\u0e37' # 0xD7 -> THAI CHARACTER SARA UEE
- u'\u0e38' # 0xD8 -> THAI CHARACTER SARA U
- u'\u0e39' # 0xD9 -> THAI CHARACTER SARA UU
- u'\u0e3a' # 0xDA -> THAI CHARACTER PHINTHU
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0e01' # 0xA1 -> THAI CHARACTER KO KAI
+ u'\u0e02' # 0xA2 -> THAI CHARACTER KHO KHAI
+ u'\u0e03' # 0xA3 -> THAI CHARACTER KHO KHUAT
+ u'\u0e04' # 0xA4 -> THAI CHARACTER KHO KHWAI
+ u'\u0e05' # 0xA5 -> THAI CHARACTER KHO KHON
+ u'\u0e06' # 0xA6 -> THAI CHARACTER KHO RAKHANG
+ u'\u0e07' # 0xA7 -> THAI CHARACTER NGO NGU
+ u'\u0e08' # 0xA8 -> THAI CHARACTER CHO CHAN
+ u'\u0e09' # 0xA9 -> THAI CHARACTER CHO CHING
+ u'\u0e0a' # 0xAA -> THAI CHARACTER CHO CHANG
+ u'\u0e0b' # 0xAB -> THAI CHARACTER SO SO
+ u'\u0e0c' # 0xAC -> THAI CHARACTER CHO CHOE
+ u'\u0e0d' # 0xAD -> THAI CHARACTER YO YING
+ u'\u0e0e' # 0xAE -> THAI CHARACTER DO CHADA
+ u'\u0e0f' # 0xAF -> THAI CHARACTER TO PATAK
+ u'\u0e10' # 0xB0 -> THAI CHARACTER THO THAN
+ u'\u0e11' # 0xB1 -> THAI CHARACTER THO NANGMONTHO
+ u'\u0e12' # 0xB2 -> THAI CHARACTER THO PHUTHAO
+ u'\u0e13' # 0xB3 -> THAI CHARACTER NO NEN
+ u'\u0e14' # 0xB4 -> THAI CHARACTER DO DEK
+ u'\u0e15' # 0xB5 -> THAI CHARACTER TO TAO
+ u'\u0e16' # 0xB6 -> THAI CHARACTER THO THUNG
+ u'\u0e17' # 0xB7 -> THAI CHARACTER THO THAHAN
+ u'\u0e18' # 0xB8 -> THAI CHARACTER THO THONG
+ u'\u0e19' # 0xB9 -> THAI CHARACTER NO NU
+ u'\u0e1a' # 0xBA -> THAI CHARACTER BO BAIMAI
+ u'\u0e1b' # 0xBB -> THAI CHARACTER PO PLA
+ u'\u0e1c' # 0xBC -> THAI CHARACTER PHO PHUNG
+ u'\u0e1d' # 0xBD -> THAI CHARACTER FO FA
+ u'\u0e1e' # 0xBE -> THAI CHARACTER PHO PHAN
+ u'\u0e1f' # 0xBF -> THAI CHARACTER FO FAN
+ u'\u0e20' # 0xC0 -> THAI CHARACTER PHO SAMPHAO
+ u'\u0e21' # 0xC1 -> THAI CHARACTER MO MA
+ u'\u0e22' # 0xC2 -> THAI CHARACTER YO YAK
+ u'\u0e23' # 0xC3 -> THAI CHARACTER RO RUA
+ u'\u0e24' # 0xC4 -> THAI CHARACTER RU
+ u'\u0e25' # 0xC5 -> THAI CHARACTER LO LING
+ u'\u0e26' # 0xC6 -> THAI CHARACTER LU
+ u'\u0e27' # 0xC7 -> THAI CHARACTER WO WAEN
+ u'\u0e28' # 0xC8 -> THAI CHARACTER SO SALA
+ u'\u0e29' # 0xC9 -> THAI CHARACTER SO RUSI
+ u'\u0e2a' # 0xCA -> THAI CHARACTER SO SUA
+ u'\u0e2b' # 0xCB -> THAI CHARACTER HO HIP
+ u'\u0e2c' # 0xCC -> THAI CHARACTER LO CHULA
+ u'\u0e2d' # 0xCD -> THAI CHARACTER O ANG
+ u'\u0e2e' # 0xCE -> THAI CHARACTER HO NOKHUK
+ u'\u0e2f' # 0xCF -> THAI CHARACTER PAIYANNOI
+ u'\u0e30' # 0xD0 -> THAI CHARACTER SARA A
+ u'\u0e31' # 0xD1 -> THAI CHARACTER MAI HAN-AKAT
+ u'\u0e32' # 0xD2 -> THAI CHARACTER SARA AA
+ u'\u0e33' # 0xD3 -> THAI CHARACTER SARA AM
+ u'\u0e34' # 0xD4 -> THAI CHARACTER SARA I
+ u'\u0e35' # 0xD5 -> THAI CHARACTER SARA II
+ u'\u0e36' # 0xD6 -> THAI CHARACTER SARA UE
+ u'\u0e37' # 0xD7 -> THAI CHARACTER SARA UEE
+ u'\u0e38' # 0xD8 -> THAI CHARACTER SARA U
+ u'\u0e39' # 0xD9 -> THAI CHARACTER SARA UU
+ u'\u0e3a' # 0xDA -> THAI CHARACTER PHINTHU
u'\ufffe'
u'\ufffe'
u'\ufffe'
u'\ufffe'
- u'\u0e3f' # 0xDF -> THAI CURRENCY SYMBOL BAHT
- u'\u0e40' # 0xE0 -> THAI CHARACTER SARA E
- u'\u0e41' # 0xE1 -> THAI CHARACTER SARA AE
- u'\u0e42' # 0xE2 -> THAI CHARACTER SARA O
- u'\u0e43' # 0xE3 -> THAI CHARACTER SARA AI MAIMUAN
- u'\u0e44' # 0xE4 -> THAI CHARACTER SARA AI MAIMALAI
- u'\u0e45' # 0xE5 -> THAI CHARACTER LAKKHANGYAO
- u'\u0e46' # 0xE6 -> THAI CHARACTER MAIYAMOK
- u'\u0e47' # 0xE7 -> THAI CHARACTER MAITAIKHU
- u'\u0e48' # 0xE8 -> THAI CHARACTER MAI EK
- u'\u0e49' # 0xE9 -> THAI CHARACTER MAI THO
- u'\u0e4a' # 0xEA -> THAI CHARACTER MAI TRI
- u'\u0e4b' # 0xEB -> THAI CHARACTER MAI CHATTAWA
- u'\u0e4c' # 0xEC -> THAI CHARACTER THANTHAKHAT
- u'\u0e4d' # 0xED -> THAI CHARACTER NIKHAHIT
- u'\u0e4e' # 0xEE -> THAI CHARACTER YAMAKKAN
- u'\u0e4f' # 0xEF -> THAI CHARACTER FONGMAN
- u'\u0e50' # 0xF0 -> THAI DIGIT ZERO
- u'\u0e51' # 0xF1 -> THAI DIGIT ONE
- u'\u0e52' # 0xF2 -> THAI DIGIT TWO
- u'\u0e53' # 0xF3 -> THAI DIGIT THREE
- u'\u0e54' # 0xF4 -> THAI DIGIT FOUR
- u'\u0e55' # 0xF5 -> THAI DIGIT FIVE
- u'\u0e56' # 0xF6 -> THAI DIGIT SIX
- u'\u0e57' # 0xF7 -> THAI DIGIT SEVEN
- u'\u0e58' # 0xF8 -> THAI DIGIT EIGHT
- u'\u0e59' # 0xF9 -> THAI DIGIT NINE
- u'\u0e5a' # 0xFA -> THAI CHARACTER ANGKHANKHU
- u'\u0e5b' # 0xFB -> THAI CHARACTER KHOMUT
+ u'\u0e3f' # 0xDF -> THAI CURRENCY SYMBOL BAHT
+ u'\u0e40' # 0xE0 -> THAI CHARACTER SARA E
+ u'\u0e41' # 0xE1 -> THAI CHARACTER SARA AE
+ u'\u0e42' # 0xE2 -> THAI CHARACTER SARA O
+ u'\u0e43' # 0xE3 -> THAI CHARACTER SARA AI MAIMUAN
+ u'\u0e44' # 0xE4 -> THAI CHARACTER SARA AI MAIMALAI
+ u'\u0e45' # 0xE5 -> THAI CHARACTER LAKKHANGYAO
+ u'\u0e46' # 0xE6 -> THAI CHARACTER MAIYAMOK
+ u'\u0e47' # 0xE7 -> THAI CHARACTER MAITAIKHU
+ u'\u0e48' # 0xE8 -> THAI CHARACTER MAI EK
+ u'\u0e49' # 0xE9 -> THAI CHARACTER MAI THO
+ u'\u0e4a' # 0xEA -> THAI CHARACTER MAI TRI
+ u'\u0e4b' # 0xEB -> THAI CHARACTER MAI CHATTAWA
+ u'\u0e4c' # 0xEC -> THAI CHARACTER THANTHAKHAT
+ u'\u0e4d' # 0xED -> THAI CHARACTER NIKHAHIT
+ u'\u0e4e' # 0xEE -> THAI CHARACTER YAMAKKAN
+ u'\u0e4f' # 0xEF -> THAI CHARACTER FONGMAN
+ u'\u0e50' # 0xF0 -> THAI DIGIT ZERO
+ u'\u0e51' # 0xF1 -> THAI DIGIT ONE
+ u'\u0e52' # 0xF2 -> THAI DIGIT TWO
+ u'\u0e53' # 0xF3 -> THAI DIGIT THREE
+ u'\u0e54' # 0xF4 -> THAI DIGIT FOUR
+ u'\u0e55' # 0xF5 -> THAI DIGIT FIVE
+ u'\u0e56' # 0xF6 -> THAI DIGIT SIX
+ u'\u0e57' # 0xF7 -> THAI DIGIT SEVEN
+ u'\u0e58' # 0xF8 -> THAI DIGIT EIGHT
+ u'\u0e59' # 0xF9 -> THAI DIGIT NINE
+ u'\u0e5a' # 0xFA -> THAI CHARACTER ANGKHANKHU
+ u'\u0e5b' # 0xFB -> THAI CHARACTER KHOMUT
u'\ufffe'
u'\ufffe'
u'\ufffe'
@@ -293,253 +293,252 @@ decoding_table = (
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x0E01: 0xA1, # THAI CHARACTER KO KAI
- 0x0E02: 0xA2, # THAI CHARACTER KHO KHAI
- 0x0E03: 0xA3, # THAI CHARACTER KHO KHUAT
- 0x0E04: 0xA4, # THAI CHARACTER KHO KHWAI
- 0x0E05: 0xA5, # THAI CHARACTER KHO KHON
- 0x0E06: 0xA6, # THAI CHARACTER KHO RAKHANG
- 0x0E07: 0xA7, # THAI CHARACTER NGO NGU
- 0x0E08: 0xA8, # THAI CHARACTER CHO CHAN
- 0x0E09: 0xA9, # THAI CHARACTER CHO CHING
- 0x0E0A: 0xAA, # THAI CHARACTER CHO CHANG
- 0x0E0B: 0xAB, # THAI CHARACTER SO SO
- 0x0E0C: 0xAC, # THAI CHARACTER CHO CHOE
- 0x0E0D: 0xAD, # THAI CHARACTER YO YING
- 0x0E0E: 0xAE, # THAI CHARACTER DO CHADA
- 0x0E0F: 0xAF, # THAI CHARACTER TO PATAK
- 0x0E10: 0xB0, # THAI CHARACTER THO THAN
- 0x0E11: 0xB1, # THAI CHARACTER THO NANGMONTHO
- 0x0E12: 0xB2, # THAI CHARACTER THO PHUTHAO
- 0x0E13: 0xB3, # THAI CHARACTER NO NEN
- 0x0E14: 0xB4, # THAI CHARACTER DO DEK
- 0x0E15: 0xB5, # THAI CHARACTER TO TAO
- 0x0E16: 0xB6, # THAI CHARACTER THO THUNG
- 0x0E17: 0xB7, # THAI CHARACTER THO THAHAN
- 0x0E18: 0xB8, # THAI CHARACTER THO THONG
- 0x0E19: 0xB9, # THAI CHARACTER NO NU
- 0x0E1A: 0xBA, # THAI CHARACTER BO BAIMAI
- 0x0E1B: 0xBB, # THAI CHARACTER PO PLA
- 0x0E1C: 0xBC, # THAI CHARACTER PHO PHUNG
- 0x0E1D: 0xBD, # THAI CHARACTER FO FA
- 0x0E1E: 0xBE, # THAI CHARACTER PHO PHAN
- 0x0E1F: 0xBF, # THAI CHARACTER FO FAN
- 0x0E20: 0xC0, # THAI CHARACTER PHO SAMPHAO
- 0x0E21: 0xC1, # THAI CHARACTER MO MA
- 0x0E22: 0xC2, # THAI CHARACTER YO YAK
- 0x0E23: 0xC3, # THAI CHARACTER RO RUA
- 0x0E24: 0xC4, # THAI CHARACTER RU
- 0x0E25: 0xC5, # THAI CHARACTER LO LING
- 0x0E26: 0xC6, # THAI CHARACTER LU
- 0x0E27: 0xC7, # THAI CHARACTER WO WAEN
- 0x0E28: 0xC8, # THAI CHARACTER SO SALA
- 0x0E29: 0xC9, # THAI CHARACTER SO RUSI
- 0x0E2A: 0xCA, # THAI CHARACTER SO SUA
- 0x0E2B: 0xCB, # THAI CHARACTER HO HIP
- 0x0E2C: 0xCC, # THAI CHARACTER LO CHULA
- 0x0E2D: 0xCD, # THAI CHARACTER O ANG
- 0x0E2E: 0xCE, # THAI CHARACTER HO NOKHUK
- 0x0E2F: 0xCF, # THAI CHARACTER PAIYANNOI
- 0x0E30: 0xD0, # THAI CHARACTER SARA A
- 0x0E31: 0xD1, # THAI CHARACTER MAI HAN-AKAT
- 0x0E32: 0xD2, # THAI CHARACTER SARA AA
- 0x0E33: 0xD3, # THAI CHARACTER SARA AM
- 0x0E34: 0xD4, # THAI CHARACTER SARA I
- 0x0E35: 0xD5, # THAI CHARACTER SARA II
- 0x0E36: 0xD6, # THAI CHARACTER SARA UE
- 0x0E37: 0xD7, # THAI CHARACTER SARA UEE
- 0x0E38: 0xD8, # THAI CHARACTER SARA U
- 0x0E39: 0xD9, # THAI CHARACTER SARA UU
- 0x0E3A: 0xDA, # THAI CHARACTER PHINTHU
- 0x0E3F: 0xDF, # THAI CURRENCY SYMBOL BAHT
- 0x0E40: 0xE0, # THAI CHARACTER SARA E
- 0x0E41: 0xE1, # THAI CHARACTER SARA AE
- 0x0E42: 0xE2, # THAI CHARACTER SARA O
- 0x0E43: 0xE3, # THAI CHARACTER SARA AI MAIMUAN
- 0x0E44: 0xE4, # THAI CHARACTER SARA AI MAIMALAI
- 0x0E45: 0xE5, # THAI CHARACTER LAKKHANGYAO
- 0x0E46: 0xE6, # THAI CHARACTER MAIYAMOK
- 0x0E47: 0xE7, # THAI CHARACTER MAITAIKHU
- 0x0E48: 0xE8, # THAI CHARACTER MAI EK
- 0x0E49: 0xE9, # THAI CHARACTER MAI THO
- 0x0E4A: 0xEA, # THAI CHARACTER MAI TRI
- 0x0E4B: 0xEB, # THAI CHARACTER MAI CHATTAWA
- 0x0E4C: 0xEC, # THAI CHARACTER THANTHAKHAT
- 0x0E4D: 0xED, # THAI CHARACTER NIKHAHIT
- 0x0E4E: 0xEE, # THAI CHARACTER YAMAKKAN
- 0x0E4F: 0xEF, # THAI CHARACTER FONGMAN
- 0x0E50: 0xF0, # THAI DIGIT ZERO
- 0x0E51: 0xF1, # THAI DIGIT ONE
- 0x0E52: 0xF2, # THAI DIGIT TWO
- 0x0E53: 0xF3, # THAI DIGIT THREE
- 0x0E54: 0xF4, # THAI DIGIT FOUR
- 0x0E55: 0xF5, # THAI DIGIT FIVE
- 0x0E56: 0xF6, # THAI DIGIT SIX
- 0x0E57: 0xF7, # THAI DIGIT SEVEN
- 0x0E58: 0xF8, # THAI DIGIT EIGHT
- 0x0E59: 0xF9, # THAI DIGIT NINE
- 0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
- 0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x0E01: 0xA1, # THAI CHARACTER KO KAI
+ 0x0E02: 0xA2, # THAI CHARACTER KHO KHAI
+ 0x0E03: 0xA3, # THAI CHARACTER KHO KHUAT
+ 0x0E04: 0xA4, # THAI CHARACTER KHO KHWAI
+ 0x0E05: 0xA5, # THAI CHARACTER KHO KHON
+ 0x0E06: 0xA6, # THAI CHARACTER KHO RAKHANG
+ 0x0E07: 0xA7, # THAI CHARACTER NGO NGU
+ 0x0E08: 0xA8, # THAI CHARACTER CHO CHAN
+ 0x0E09: 0xA9, # THAI CHARACTER CHO CHING
+ 0x0E0A: 0xAA, # THAI CHARACTER CHO CHANG
+ 0x0E0B: 0xAB, # THAI CHARACTER SO SO
+ 0x0E0C: 0xAC, # THAI CHARACTER CHO CHOE
+ 0x0E0D: 0xAD, # THAI CHARACTER YO YING
+ 0x0E0E: 0xAE, # THAI CHARACTER DO CHADA
+ 0x0E0F: 0xAF, # THAI CHARACTER TO PATAK
+ 0x0E10: 0xB0, # THAI CHARACTER THO THAN
+ 0x0E11: 0xB1, # THAI CHARACTER THO NANGMONTHO
+ 0x0E12: 0xB2, # THAI CHARACTER THO PHUTHAO
+ 0x0E13: 0xB3, # THAI CHARACTER NO NEN
+ 0x0E14: 0xB4, # THAI CHARACTER DO DEK
+ 0x0E15: 0xB5, # THAI CHARACTER TO TAO
+ 0x0E16: 0xB6, # THAI CHARACTER THO THUNG
+ 0x0E17: 0xB7, # THAI CHARACTER THO THAHAN
+ 0x0E18: 0xB8, # THAI CHARACTER THO THONG
+ 0x0E19: 0xB9, # THAI CHARACTER NO NU
+ 0x0E1A: 0xBA, # THAI CHARACTER BO BAIMAI
+ 0x0E1B: 0xBB, # THAI CHARACTER PO PLA
+ 0x0E1C: 0xBC, # THAI CHARACTER PHO PHUNG
+ 0x0E1D: 0xBD, # THAI CHARACTER FO FA
+ 0x0E1E: 0xBE, # THAI CHARACTER PHO PHAN
+ 0x0E1F: 0xBF, # THAI CHARACTER FO FAN
+ 0x0E20: 0xC0, # THAI CHARACTER PHO SAMPHAO
+ 0x0E21: 0xC1, # THAI CHARACTER MO MA
+ 0x0E22: 0xC2, # THAI CHARACTER YO YAK
+ 0x0E23: 0xC3, # THAI CHARACTER RO RUA
+ 0x0E24: 0xC4, # THAI CHARACTER RU
+ 0x0E25: 0xC5, # THAI CHARACTER LO LING
+ 0x0E26: 0xC6, # THAI CHARACTER LU
+ 0x0E27: 0xC7, # THAI CHARACTER WO WAEN
+ 0x0E28: 0xC8, # THAI CHARACTER SO SALA
+ 0x0E29: 0xC9, # THAI CHARACTER SO RUSI
+ 0x0E2A: 0xCA, # THAI CHARACTER SO SUA
+ 0x0E2B: 0xCB, # THAI CHARACTER HO HIP
+ 0x0E2C: 0xCC, # THAI CHARACTER LO CHULA
+ 0x0E2D: 0xCD, # THAI CHARACTER O ANG
+ 0x0E2E: 0xCE, # THAI CHARACTER HO NOKHUK
+ 0x0E2F: 0xCF, # THAI CHARACTER PAIYANNOI
+ 0x0E30: 0xD0, # THAI CHARACTER SARA A
+ 0x0E31: 0xD1, # THAI CHARACTER MAI HAN-AKAT
+ 0x0E32: 0xD2, # THAI CHARACTER SARA AA
+ 0x0E33: 0xD3, # THAI CHARACTER SARA AM
+ 0x0E34: 0xD4, # THAI CHARACTER SARA I
+ 0x0E35: 0xD5, # THAI CHARACTER SARA II
+ 0x0E36: 0xD6, # THAI CHARACTER SARA UE
+ 0x0E37: 0xD7, # THAI CHARACTER SARA UEE
+ 0x0E38: 0xD8, # THAI CHARACTER SARA U
+ 0x0E39: 0xD9, # THAI CHARACTER SARA UU
+ 0x0E3A: 0xDA, # THAI CHARACTER PHINTHU
+ 0x0E3F: 0xDF, # THAI CURRENCY SYMBOL BAHT
+ 0x0E40: 0xE0, # THAI CHARACTER SARA E
+ 0x0E41: 0xE1, # THAI CHARACTER SARA AE
+ 0x0E42: 0xE2, # THAI CHARACTER SARA O
+ 0x0E43: 0xE3, # THAI CHARACTER SARA AI MAIMUAN
+ 0x0E44: 0xE4, # THAI CHARACTER SARA AI MAIMALAI
+ 0x0E45: 0xE5, # THAI CHARACTER LAKKHANGYAO
+ 0x0E46: 0xE6, # THAI CHARACTER MAIYAMOK
+ 0x0E47: 0xE7, # THAI CHARACTER MAITAIKHU
+ 0x0E48: 0xE8, # THAI CHARACTER MAI EK
+ 0x0E49: 0xE9, # THAI CHARACTER MAI THO
+ 0x0E4A: 0xEA, # THAI CHARACTER MAI TRI
+ 0x0E4B: 0xEB, # THAI CHARACTER MAI CHATTAWA
+ 0x0E4C: 0xEC, # THAI CHARACTER THANTHAKHAT
+ 0x0E4D: 0xED, # THAI CHARACTER NIKHAHIT
+ 0x0E4E: 0xEE, # THAI CHARACTER YAMAKKAN
+ 0x0E4F: 0xEF, # THAI CHARACTER FONGMAN
+ 0x0E50: 0xF0, # THAI DIGIT ZERO
+ 0x0E51: 0xF1, # THAI DIGIT ONE
+ 0x0E52: 0xF2, # THAI DIGIT TWO
+ 0x0E53: 0xF3, # THAI DIGIT THREE
+ 0x0E54: 0xF4, # THAI DIGIT FOUR
+ 0x0E55: 0xF5, # THAI DIGIT FIVE
+ 0x0E56: 0xF6, # THAI DIGIT SIX
+ 0x0E57: 0xF7, # THAI DIGIT SEVEN
+ 0x0E58: 0xF8, # THAI DIGIT EIGHT
+ 0x0E59: 0xF9, # THAI DIGIT NINE
+ 0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
+ 0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
}
-
diff --git a/Lib/encodings/iso8859_13.py b/Lib/encodings/iso8859_13.py
index 099c9b8..0e10c7d 100644
--- a/Lib/encodings/iso8859_13.py
+++ b/Lib/encodings/iso8859_13.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u201d' # 0xA1 -> RIGHT DOUBLE QUOTATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\u201e' # 0xA5 -> DOUBLE LOW-9 QUOTATION MARK
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xd8' # 0xA8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u0156' # 0xAA -> LATIN CAPITAL LETTER R WITH CEDILLA
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xc6' # 0xAF -> LATIN CAPITAL LETTER AE
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\u201c' # 0xB4 -> LEFT DOUBLE QUOTATION MARK
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xf8' # 0xB8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\u0157' # 0xBA -> LATIN SMALL LETTER R WITH CEDILLA
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xe6' # 0xBF -> LATIN SMALL LETTER AE
- u'\u0104' # 0xC0 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u012e' # 0xC1 -> LATIN CAPITAL LETTER I WITH OGONEK
- u'\u0100' # 0xC2 -> LATIN CAPITAL LETTER A WITH MACRON
- u'\u0106' # 0xC3 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\u0118' # 0xC6 -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\u0112' # 0xC7 -> LATIN CAPITAL LETTER E WITH MACRON
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0179' # 0xCA -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\u0116' # 0xCB -> LATIN CAPITAL LETTER E WITH DOT ABOVE
- u'\u0122' # 0xCC -> LATIN CAPITAL LETTER G WITH CEDILLA
- u'\u0136' # 0xCD -> LATIN CAPITAL LETTER K WITH CEDILLA
- u'\u012a' # 0xCE -> LATIN CAPITAL LETTER I WITH MACRON
- u'\u013b' # 0xCF -> LATIN CAPITAL LETTER L WITH CEDILLA
- u'\u0160' # 0xD0 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\u0145' # 0xD2 -> LATIN CAPITAL LETTER N WITH CEDILLA
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\u014c' # 0xD4 -> LATIN CAPITAL LETTER O WITH MACRON
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\u0172' # 0xD8 -> LATIN CAPITAL LETTER U WITH OGONEK
- u'\u0141' # 0xD9 -> LATIN CAPITAL LETTER L WITH STROKE
- u'\u015a' # 0xDA -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u016a' # 0xDB -> LATIN CAPITAL LETTER U WITH MACRON
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u017b' # 0xDD -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\u017d' # 0xDE -> LATIN CAPITAL LETTER Z WITH CARON
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S (German)
- u'\u0105' # 0xE0 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u012f' # 0xE1 -> LATIN SMALL LETTER I WITH OGONEK
- u'\u0101' # 0xE2 -> LATIN SMALL LETTER A WITH MACRON
- u'\u0107' # 0xE3 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\u0119' # 0xE6 -> LATIN SMALL LETTER E WITH OGONEK
- u'\u0113' # 0xE7 -> LATIN SMALL LETTER E WITH MACRON
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u017a' # 0xEA -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u0117' # 0xEB -> LATIN SMALL LETTER E WITH DOT ABOVE
- u'\u0123' # 0xEC -> LATIN SMALL LETTER G WITH CEDILLA
- u'\u0137' # 0xED -> LATIN SMALL LETTER K WITH CEDILLA
- u'\u012b' # 0xEE -> LATIN SMALL LETTER I WITH MACRON
- u'\u013c' # 0xEF -> LATIN SMALL LETTER L WITH CEDILLA
- u'\u0161' # 0xF0 -> LATIN SMALL LETTER S WITH CARON
- u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0146' # 0xF2 -> LATIN SMALL LETTER N WITH CEDILLA
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\u014d' # 0xF4 -> LATIN SMALL LETTER O WITH MACRON
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\u0173' # 0xF8 -> LATIN SMALL LETTER U WITH OGONEK
- u'\u0142' # 0xF9 -> LATIN SMALL LETTER L WITH STROKE
- u'\u015b' # 0xFA -> LATIN SMALL LETTER S WITH ACUTE
- u'\u016b' # 0xFB -> LATIN SMALL LETTER U WITH MACRON
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u017c' # 0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u017e' # 0xFE -> LATIN SMALL LETTER Z WITH CARON
- u'\u2019' # 0xFF -> RIGHT SINGLE QUOTATION MARK
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u201d' # 0xA1 -> RIGHT DOUBLE QUOTATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\u201e' # 0xA5 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xd8' # 0xA8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u0156' # 0xAA -> LATIN CAPITAL LETTER R WITH CEDILLA
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xc6' # 0xAF -> LATIN CAPITAL LETTER AE
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\u201c' # 0xB4 -> LEFT DOUBLE QUOTATION MARK
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xf8' # 0xB8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\u0157' # 0xBA -> LATIN SMALL LETTER R WITH CEDILLA
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xe6' # 0xBF -> LATIN SMALL LETTER AE
+ u'\u0104' # 0xC0 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u012e' # 0xC1 -> LATIN CAPITAL LETTER I WITH OGONEK
+ u'\u0100' # 0xC2 -> LATIN CAPITAL LETTER A WITH MACRON
+ u'\u0106' # 0xC3 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\u0118' # 0xC6 -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\u0112' # 0xC7 -> LATIN CAPITAL LETTER E WITH MACRON
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0179' # 0xCA -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\u0116' # 0xCB -> LATIN CAPITAL LETTER E WITH DOT ABOVE
+ u'\u0122' # 0xCC -> LATIN CAPITAL LETTER G WITH CEDILLA
+ u'\u0136' # 0xCD -> LATIN CAPITAL LETTER K WITH CEDILLA
+ u'\u012a' # 0xCE -> LATIN CAPITAL LETTER I WITH MACRON
+ u'\u013b' # 0xCF -> LATIN CAPITAL LETTER L WITH CEDILLA
+ u'\u0160' # 0xD0 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\u0145' # 0xD2 -> LATIN CAPITAL LETTER N WITH CEDILLA
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\u014c' # 0xD4 -> LATIN CAPITAL LETTER O WITH MACRON
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\u0172' # 0xD8 -> LATIN CAPITAL LETTER U WITH OGONEK
+ u'\u0141' # 0xD9 -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\u015a' # 0xDA -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u016a' # 0xDB -> LATIN CAPITAL LETTER U WITH MACRON
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u017b' # 0xDD -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\u017d' # 0xDE -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S (German)
+ u'\u0105' # 0xE0 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u012f' # 0xE1 -> LATIN SMALL LETTER I WITH OGONEK
+ u'\u0101' # 0xE2 -> LATIN SMALL LETTER A WITH MACRON
+ u'\u0107' # 0xE3 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\u0119' # 0xE6 -> LATIN SMALL LETTER E WITH OGONEK
+ u'\u0113' # 0xE7 -> LATIN SMALL LETTER E WITH MACRON
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u017a' # 0xEA -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u0117' # 0xEB -> LATIN SMALL LETTER E WITH DOT ABOVE
+ u'\u0123' # 0xEC -> LATIN SMALL LETTER G WITH CEDILLA
+ u'\u0137' # 0xED -> LATIN SMALL LETTER K WITH CEDILLA
+ u'\u012b' # 0xEE -> LATIN SMALL LETTER I WITH MACRON
+ u'\u013c' # 0xEF -> LATIN SMALL LETTER L WITH CEDILLA
+ u'\u0161' # 0xF0 -> LATIN SMALL LETTER S WITH CARON
+ u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0146' # 0xF2 -> LATIN SMALL LETTER N WITH CEDILLA
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\u014d' # 0xF4 -> LATIN SMALL LETTER O WITH MACRON
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\u0173' # 0xF8 -> LATIN SMALL LETTER U WITH OGONEK
+ u'\u0142' # 0xF9 -> LATIN SMALL LETTER L WITH STROKE
+ u'\u015b' # 0xFA -> LATIN SMALL LETTER S WITH ACUTE
+ u'\u016b' # 0xFB -> LATIN SMALL LETTER U WITH MACRON
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u017c' # 0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u017e' # 0xFE -> LATIN SMALL LETTER Z WITH CARON
+ u'\u2019' # 0xFF -> RIGHT SINGLE QUOTATION MARK
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xAF, # LATIN CAPITAL LETTER AE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xA8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S (German)
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xBF, # LATIN SMALL LETTER AE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xB8, # LATIN SMALL LETTER O WITH STROKE
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0100: 0xC2, # LATIN CAPITAL LETTER A WITH MACRON
- 0x0101: 0xE2, # LATIN SMALL LETTER A WITH MACRON
- 0x0104: 0xC0, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xE0, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0xC3, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0xE3, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x0112: 0xC7, # LATIN CAPITAL LETTER E WITH MACRON
- 0x0113: 0xE7, # LATIN SMALL LETTER E WITH MACRON
- 0x0116: 0xCB, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x0117: 0xEB, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x0118: 0xC6, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xE6, # LATIN SMALL LETTER E WITH OGONEK
- 0x0122: 0xCC, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0123: 0xEC, # LATIN SMALL LETTER G WITH CEDILLA
- 0x012A: 0xCE, # LATIN CAPITAL LETTER I WITH MACRON
- 0x012B: 0xEE, # LATIN SMALL LETTER I WITH MACRON
- 0x012E: 0xC1, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x012F: 0xE1, # LATIN SMALL LETTER I WITH OGONEK
- 0x0136: 0xCD, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x0137: 0xED, # LATIN SMALL LETTER K WITH CEDILLA
- 0x013B: 0xCF, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x013C: 0xEF, # LATIN SMALL LETTER L WITH CEDILLA
- 0x0141: 0xD9, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0xF9, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
- 0x0145: 0xD2, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x0146: 0xF2, # LATIN SMALL LETTER N WITH CEDILLA
- 0x014C: 0xD4, # LATIN CAPITAL LETTER O WITH MACRON
- 0x014D: 0xF4, # LATIN SMALL LETTER O WITH MACRON
- 0x0156: 0xAA, # LATIN CAPITAL LETTER R WITH CEDILLA
- 0x0157: 0xBA, # LATIN SMALL LETTER R WITH CEDILLA
- 0x015A: 0xDA, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015B: 0xFA, # LATIN SMALL LETTER S WITH ACUTE
- 0x0160: 0xD0, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xF0, # LATIN SMALL LETTER S WITH CARON
- 0x016A: 0xDB, # LATIN CAPITAL LETTER U WITH MACRON
- 0x016B: 0xFB, # LATIN SMALL LETTER U WITH MACRON
- 0x0172: 0xD8, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x0173: 0xF8, # LATIN SMALL LETTER U WITH OGONEK
- 0x0179: 0xCA, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017A: 0xEA, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017B: 0xDD, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xFD, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017D: 0xDE, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xFE, # LATIN SMALL LETTER Z WITH CARON
- 0x2019: 0xFF, # RIGHT SINGLE QUOTATION MARK
- 0x201C: 0xB4, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xA1, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xAF, # LATIN CAPITAL LETTER AE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xA8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S (German)
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xBF, # LATIN SMALL LETTER AE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xB8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0100: 0xC2, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x0101: 0xE2, # LATIN SMALL LETTER A WITH MACRON
+ 0x0104: 0xC0, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xE0, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0xC3, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0xE3, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x0112: 0xC7, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x0113: 0xE7, # LATIN SMALL LETTER E WITH MACRON
+ 0x0116: 0xCB, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x0117: 0xEB, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x0118: 0xC6, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xE6, # LATIN SMALL LETTER E WITH OGONEK
+ 0x0122: 0xCC, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0123: 0xEC, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x012A: 0xCE, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x012B: 0xEE, # LATIN SMALL LETTER I WITH MACRON
+ 0x012E: 0xC1, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x012F: 0xE1, # LATIN SMALL LETTER I WITH OGONEK
+ 0x0136: 0xCD, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x0137: 0xED, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x013B: 0xCF, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x013C: 0xEF, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x0141: 0xD9, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0xF9, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0145: 0xD2, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x0146: 0xF2, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x014C: 0xD4, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x014D: 0xF4, # LATIN SMALL LETTER O WITH MACRON
+ 0x0156: 0xAA, # LATIN CAPITAL LETTER R WITH CEDILLA
+ 0x0157: 0xBA, # LATIN SMALL LETTER R WITH CEDILLA
+ 0x015A: 0xDA, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015B: 0xFA, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0160: 0xD0, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xF0, # LATIN SMALL LETTER S WITH CARON
+ 0x016A: 0xDB, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x016B: 0xFB, # LATIN SMALL LETTER U WITH MACRON
+ 0x0172: 0xD8, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x0173: 0xF8, # LATIN SMALL LETTER U WITH OGONEK
+ 0x0179: 0xCA, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017A: 0xEA, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017B: 0xDD, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xFD, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017D: 0xDE, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xFE, # LATIN SMALL LETTER Z WITH CARON
+ 0x2019: 0xFF, # RIGHT SINGLE QUOTATION MARK
+ 0x201C: 0xB4, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xA1, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
}
-
diff --git a/Lib/encodings/iso8859_14.py b/Lib/encodings/iso8859_14.py
index 6cc6636..b981031 100644
--- a/Lib/encodings/iso8859_14.py
+++ b/Lib/encodings/iso8859_14.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u1e02' # 0xA1 -> LATIN CAPITAL LETTER B WITH DOT ABOVE
- u'\u1e03' # 0xA2 -> LATIN SMALL LETTER B WITH DOT ABOVE
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\u010a' # 0xA4 -> LATIN CAPITAL LETTER C WITH DOT ABOVE
- u'\u010b' # 0xA5 -> LATIN SMALL LETTER C WITH DOT ABOVE
- u'\u1e0a' # 0xA6 -> LATIN CAPITAL LETTER D WITH DOT ABOVE
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\u1e80' # 0xA8 -> LATIN CAPITAL LETTER W WITH GRAVE
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u1e82' # 0xAA -> LATIN CAPITAL LETTER W WITH ACUTE
- u'\u1e0b' # 0xAB -> LATIN SMALL LETTER D WITH DOT ABOVE
- u'\u1ef2' # 0xAC -> LATIN CAPITAL LETTER Y WITH GRAVE
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\u0178' # 0xAF -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\u1e1e' # 0xB0 -> LATIN CAPITAL LETTER F WITH DOT ABOVE
- u'\u1e1f' # 0xB1 -> LATIN SMALL LETTER F WITH DOT ABOVE
- u'\u0120' # 0xB2 -> LATIN CAPITAL LETTER G WITH DOT ABOVE
- u'\u0121' # 0xB3 -> LATIN SMALL LETTER G WITH DOT ABOVE
- u'\u1e40' # 0xB4 -> LATIN CAPITAL LETTER M WITH DOT ABOVE
- u'\u1e41' # 0xB5 -> LATIN SMALL LETTER M WITH DOT ABOVE
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\u1e56' # 0xB7 -> LATIN CAPITAL LETTER P WITH DOT ABOVE
- u'\u1e81' # 0xB8 -> LATIN SMALL LETTER W WITH GRAVE
- u'\u1e57' # 0xB9 -> LATIN SMALL LETTER P WITH DOT ABOVE
- u'\u1e83' # 0xBA -> LATIN SMALL LETTER W WITH ACUTE
- u'\u1e60' # 0xBB -> LATIN CAPITAL LETTER S WITH DOT ABOVE
- u'\u1ef3' # 0xBC -> LATIN SMALL LETTER Y WITH GRAVE
- u'\u1e84' # 0xBD -> LATIN CAPITAL LETTER W WITH DIAERESIS
- u'\u1e85' # 0xBE -> LATIN SMALL LETTER W WITH DIAERESIS
- u'\u1e61' # 0xBF -> LATIN SMALL LETTER S WITH DOT ABOVE
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u0174' # 0xD0 -> LATIN CAPITAL LETTER W WITH CIRCUMFLEX
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\u1e6a' # 0xD7 -> LATIN CAPITAL LETTER T WITH DOT ABOVE
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\u0176' # 0xDE -> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u0175' # 0xF0 -> LATIN SMALL LETTER W WITH CIRCUMFLEX
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\u1e6b' # 0xF7 -> LATIN SMALL LETTER T WITH DOT ABOVE
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\u0177' # 0xFE -> LATIN SMALL LETTER Y WITH CIRCUMFLEX
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u1e02' # 0xA1 -> LATIN CAPITAL LETTER B WITH DOT ABOVE
+ u'\u1e03' # 0xA2 -> LATIN SMALL LETTER B WITH DOT ABOVE
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\u010a' # 0xA4 -> LATIN CAPITAL LETTER C WITH DOT ABOVE
+ u'\u010b' # 0xA5 -> LATIN SMALL LETTER C WITH DOT ABOVE
+ u'\u1e0a' # 0xA6 -> LATIN CAPITAL LETTER D WITH DOT ABOVE
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\u1e80' # 0xA8 -> LATIN CAPITAL LETTER W WITH GRAVE
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u1e82' # 0xAA -> LATIN CAPITAL LETTER W WITH ACUTE
+ u'\u1e0b' # 0xAB -> LATIN SMALL LETTER D WITH DOT ABOVE
+ u'\u1ef2' # 0xAC -> LATIN CAPITAL LETTER Y WITH GRAVE
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\u0178' # 0xAF -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\u1e1e' # 0xB0 -> LATIN CAPITAL LETTER F WITH DOT ABOVE
+ u'\u1e1f' # 0xB1 -> LATIN SMALL LETTER F WITH DOT ABOVE
+ u'\u0120' # 0xB2 -> LATIN CAPITAL LETTER G WITH DOT ABOVE
+ u'\u0121' # 0xB3 -> LATIN SMALL LETTER G WITH DOT ABOVE
+ u'\u1e40' # 0xB4 -> LATIN CAPITAL LETTER M WITH DOT ABOVE
+ u'\u1e41' # 0xB5 -> LATIN SMALL LETTER M WITH DOT ABOVE
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\u1e56' # 0xB7 -> LATIN CAPITAL LETTER P WITH DOT ABOVE
+ u'\u1e81' # 0xB8 -> LATIN SMALL LETTER W WITH GRAVE
+ u'\u1e57' # 0xB9 -> LATIN SMALL LETTER P WITH DOT ABOVE
+ u'\u1e83' # 0xBA -> LATIN SMALL LETTER W WITH ACUTE
+ u'\u1e60' # 0xBB -> LATIN CAPITAL LETTER S WITH DOT ABOVE
+ u'\u1ef3' # 0xBC -> LATIN SMALL LETTER Y WITH GRAVE
+ u'\u1e84' # 0xBD -> LATIN CAPITAL LETTER W WITH DIAERESIS
+ u'\u1e85' # 0xBE -> LATIN SMALL LETTER W WITH DIAERESIS
+ u'\u1e61' # 0xBF -> LATIN SMALL LETTER S WITH DOT ABOVE
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u0174' # 0xD0 -> LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\u1e6a' # 0xD7 -> LATIN CAPITAL LETTER T WITH DOT ABOVE
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\u0176' # 0xDE -> LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u0175' # 0xF0 -> LATIN SMALL LETTER W WITH CIRCUMFLEX
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\u1e6b' # 0xF7 -> LATIN SMALL LETTER T WITH DOT ABOVE
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\u0177' # 0xFE -> LATIN SMALL LETTER Y WITH CIRCUMFLEX
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x010A: 0xA4, # LATIN CAPITAL LETTER C WITH DOT ABOVE
- 0x010B: 0xA5, # LATIN SMALL LETTER C WITH DOT ABOVE
- 0x0120: 0xB2, # LATIN CAPITAL LETTER G WITH DOT ABOVE
- 0x0121: 0xB3, # LATIN SMALL LETTER G WITH DOT ABOVE
- 0x0174: 0xD0, # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
- 0x0175: 0xF0, # LATIN SMALL LETTER W WITH CIRCUMFLEX
- 0x0176: 0xDE, # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
- 0x0177: 0xFE, # LATIN SMALL LETTER Y WITH CIRCUMFLEX
- 0x0178: 0xAF, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x1E02: 0xA1, # LATIN CAPITAL LETTER B WITH DOT ABOVE
- 0x1E03: 0xA2, # LATIN SMALL LETTER B WITH DOT ABOVE
- 0x1E0A: 0xA6, # LATIN CAPITAL LETTER D WITH DOT ABOVE
- 0x1E0B: 0xAB, # LATIN SMALL LETTER D WITH DOT ABOVE
- 0x1E1E: 0xB0, # LATIN CAPITAL LETTER F WITH DOT ABOVE
- 0x1E1F: 0xB1, # LATIN SMALL LETTER F WITH DOT ABOVE
- 0x1E40: 0xB4, # LATIN CAPITAL LETTER M WITH DOT ABOVE
- 0x1E41: 0xB5, # LATIN SMALL LETTER M WITH DOT ABOVE
- 0x1E56: 0xB7, # LATIN CAPITAL LETTER P WITH DOT ABOVE
- 0x1E57: 0xB9, # LATIN SMALL LETTER P WITH DOT ABOVE
- 0x1E60: 0xBB, # LATIN CAPITAL LETTER S WITH DOT ABOVE
- 0x1E61: 0xBF, # LATIN SMALL LETTER S WITH DOT ABOVE
- 0x1E6A: 0xD7, # LATIN CAPITAL LETTER T WITH DOT ABOVE
- 0x1E6B: 0xF7, # LATIN SMALL LETTER T WITH DOT ABOVE
- 0x1E80: 0xA8, # LATIN CAPITAL LETTER W WITH GRAVE
- 0x1E81: 0xB8, # LATIN SMALL LETTER W WITH GRAVE
- 0x1E82: 0xAA, # LATIN CAPITAL LETTER W WITH ACUTE
- 0x1E83: 0xBA, # LATIN SMALL LETTER W WITH ACUTE
- 0x1E84: 0xBD, # LATIN CAPITAL LETTER W WITH DIAERESIS
- 0x1E85: 0xBE, # LATIN SMALL LETTER W WITH DIAERESIS
- 0x1EF2: 0xAC, # LATIN CAPITAL LETTER Y WITH GRAVE
- 0x1EF3: 0xBC, # LATIN SMALL LETTER Y WITH GRAVE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x010A: 0xA4, # LATIN CAPITAL LETTER C WITH DOT ABOVE
+ 0x010B: 0xA5, # LATIN SMALL LETTER C WITH DOT ABOVE
+ 0x0120: 0xB2, # LATIN CAPITAL LETTER G WITH DOT ABOVE
+ 0x0121: 0xB3, # LATIN SMALL LETTER G WITH DOT ABOVE
+ 0x0174: 0xD0, # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+ 0x0175: 0xF0, # LATIN SMALL LETTER W WITH CIRCUMFLEX
+ 0x0176: 0xDE, # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+ 0x0177: 0xFE, # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+ 0x0178: 0xAF, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x1E02: 0xA1, # LATIN CAPITAL LETTER B WITH DOT ABOVE
+ 0x1E03: 0xA2, # LATIN SMALL LETTER B WITH DOT ABOVE
+ 0x1E0A: 0xA6, # LATIN CAPITAL LETTER D WITH DOT ABOVE
+ 0x1E0B: 0xAB, # LATIN SMALL LETTER D WITH DOT ABOVE
+ 0x1E1E: 0xB0, # LATIN CAPITAL LETTER F WITH DOT ABOVE
+ 0x1E1F: 0xB1, # LATIN SMALL LETTER F WITH DOT ABOVE
+ 0x1E40: 0xB4, # LATIN CAPITAL LETTER M WITH DOT ABOVE
+ 0x1E41: 0xB5, # LATIN SMALL LETTER M WITH DOT ABOVE
+ 0x1E56: 0xB7, # LATIN CAPITAL LETTER P WITH DOT ABOVE
+ 0x1E57: 0xB9, # LATIN SMALL LETTER P WITH DOT ABOVE
+ 0x1E60: 0xBB, # LATIN CAPITAL LETTER S WITH DOT ABOVE
+ 0x1E61: 0xBF, # LATIN SMALL LETTER S WITH DOT ABOVE
+ 0x1E6A: 0xD7, # LATIN CAPITAL LETTER T WITH DOT ABOVE
+ 0x1E6B: 0xF7, # LATIN SMALL LETTER T WITH DOT ABOVE
+ 0x1E80: 0xA8, # LATIN CAPITAL LETTER W WITH GRAVE
+ 0x1E81: 0xB8, # LATIN SMALL LETTER W WITH GRAVE
+ 0x1E82: 0xAA, # LATIN CAPITAL LETTER W WITH ACUTE
+ 0x1E83: 0xBA, # LATIN SMALL LETTER W WITH ACUTE
+ 0x1E84: 0xBD, # LATIN CAPITAL LETTER W WITH DIAERESIS
+ 0x1E85: 0xBE, # LATIN SMALL LETTER W WITH DIAERESIS
+ 0x1EF2: 0xAC, # LATIN CAPITAL LETTER Y WITH GRAVE
+ 0x1EF3: 0xBC, # LATIN SMALL LETTER Y WITH GRAVE
}
-
diff --git a/Lib/encodings/iso8859_15.py b/Lib/encodings/iso8859_15.py
index 204954b..f50a904 100644
--- a/Lib/encodings/iso8859_15.py
+++ b/Lib/encodings/iso8859_15.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\u20ac' # 0xA4 -> EURO SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\u0160' # 0xA6 -> LATIN CAPITAL LETTER S WITH CARON
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\u0161' # 0xA8 -> LATIN SMALL LETTER S WITH CARON
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\u017d' # 0xB4 -> LATIN CAPITAL LETTER Z WITH CARON
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\u017e' # 0xB8 -> LATIN SMALL LETTER Z WITH CARON
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u0152' # 0xBC -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xBD -> LATIN SMALL LIGATURE OE
- u'\u0178' # 0xBE -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\u20ac' # 0xA4 -> EURO SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\u0160' # 0xA6 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\u0161' # 0xA8 -> LATIN SMALL LETTER S WITH CARON
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\u017d' # 0xB4 -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\u017e' # 0xB8 -> LATIN SMALL LETTER Z WITH CARON
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u0152' # 0xBC -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xBD -> LATIN SMALL LIGATURE OE
+ u'\u0178' # 0xBE -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xd0' # 0xD0 -> LATIN CAPITAL LETTER ETH
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf0' # 0xF0 -> LATIN SMALL LETTER ETH
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xfe' # 0xFE -> LATIN SMALL LETTER THORN
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0xF0, # LATIN SMALL LETTER ETH
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0xFE, # LATIN SMALL LETTER THORN
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0152: 0xBC, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xBD, # LATIN SMALL LIGATURE OE
- 0x0160: 0xA6, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xA8, # LATIN SMALL LETTER S WITH CARON
- 0x0178: 0xBE, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x017D: 0xB4, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xB8, # LATIN SMALL LETTER Z WITH CARON
- 0x20AC: 0xA4, # EURO SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xD0, # LATIN CAPITAL LETTER ETH
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0xF0, # LATIN SMALL LETTER ETH
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0xFE, # LATIN SMALL LETTER THORN
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0152: 0xBC, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xBD, # LATIN SMALL LIGATURE OE
+ 0x0160: 0xA6, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xA8, # LATIN SMALL LETTER S WITH CARON
+ 0x0178: 0xBE, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x017D: 0xB4, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xB8, # LATIN SMALL LETTER Z WITH CARON
+ 0x20AC: 0xA4, # EURO SIGN
}
-
diff --git a/Lib/encodings/iso8859_16.py b/Lib/encodings/iso8859_16.py
index 756665b..ce8bc5b 100644
--- a/Lib/encodings/iso8859_16.py
+++ b/Lib/encodings/iso8859_16.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u0105' # 0xA2 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u0141' # 0xA3 -> LATIN CAPITAL LETTER L WITH STROKE
- u'\u20ac' # 0xA4 -> EURO SIGN
- u'\u201e' # 0xA5 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u0160' # 0xA6 -> LATIN CAPITAL LETTER S WITH CARON
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\u0161' # 0xA8 -> LATIN SMALL LETTER S WITH CARON
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u0218' # 0xAA -> LATIN CAPITAL LETTER S WITH COMMA BELOW
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u0179' # 0xAC -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\u017a' # 0xAE -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u010c' # 0xB2 -> LATIN CAPITAL LETTER C WITH CARON
- u'\u0142' # 0xB3 -> LATIN SMALL LETTER L WITH STROKE
- u'\u017d' # 0xB4 -> LATIN CAPITAL LETTER Z WITH CARON
- u'\u201d' # 0xB5 -> RIGHT DOUBLE QUOTATION MARK
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\u017e' # 0xB8 -> LATIN SMALL LETTER Z WITH CARON
- u'\u010d' # 0xB9 -> LATIN SMALL LETTER C WITH CARON
- u'\u0219' # 0xBA -> LATIN SMALL LETTER S WITH COMMA BELOW
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u0152' # 0xBC -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xBD -> LATIN SMALL LIGATURE OE
- u'\u0178' # 0xBE -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\u0106' # 0xC5 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u0150' # 0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\u015a' # 0xD7 -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u0170' # 0xD8 -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u0118' # 0xDD -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\u021a' # 0xDE -> LATIN CAPITAL LETTER T WITH COMMA BELOW
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u0107' # 0xE5 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
- u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\u0151' # 0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\u015b' # 0xF7 -> LATIN SMALL LETTER S WITH ACUTE
- u'\u0171' # 0xF8 -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u0119' # 0xFD -> LATIN SMALL LETTER E WITH OGONEK
- u'\u021b' # 0xFE -> LATIN SMALL LETTER T WITH COMMA BELOW
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u0105' # 0xA2 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u0141' # 0xA3 -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\u20ac' # 0xA4 -> EURO SIGN
+ u'\u201e' # 0xA5 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u0160' # 0xA6 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\u0161' # 0xA8 -> LATIN SMALL LETTER S WITH CARON
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u0218' # 0xAA -> LATIN CAPITAL LETTER S WITH COMMA BELOW
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u0179' # 0xAC -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u017a' # 0xAE -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u010c' # 0xB2 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\u0142' # 0xB3 -> LATIN SMALL LETTER L WITH STROKE
+ u'\u017d' # 0xB4 -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\u201d' # 0xB5 -> RIGHT DOUBLE QUOTATION MARK
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\u017e' # 0xB8 -> LATIN SMALL LETTER Z WITH CARON
+ u'\u010d' # 0xB9 -> LATIN SMALL LETTER C WITH CARON
+ u'\u0219' # 0xBA -> LATIN SMALL LETTER S WITH COMMA BELOW
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u0152' # 0xBC -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xBD -> LATIN SMALL LIGATURE OE
+ u'\u0178' # 0xBE -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\u0106' # 0xC5 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u0150' # 0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\u015a' # 0xD7 -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u0170' # 0xD8 -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u0118' # 0xDD -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\u021a' # 0xDE -> LATIN CAPITAL LETTER T WITH COMMA BELOW
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u0107' # 0xE5 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\u0151' # 0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\u015b' # 0xF7 -> LATIN SMALL LETTER S WITH ACUTE
+ u'\u0171' # 0xF8 -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u0119' # 0xFD -> LATIN SMALL LETTER E WITH OGONEK
+ u'\u021b' # 0xFE -> LATIN SMALL LETTER T WITH COMMA BELOW
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
- 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
- 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xA2, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0xC5, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0xE5, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0xB2, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xB9, # LATIN SMALL LETTER C WITH CARON
- 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
- 0x0118: 0xDD, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xFD, # LATIN SMALL LETTER E WITH OGONEK
- 0x0141: 0xA3, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0xB3, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
- 0x0150: 0xD5, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- 0x0151: 0xF5, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
- 0x0152: 0xBC, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xBD, # LATIN SMALL LIGATURE OE
- 0x015A: 0xD7, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015B: 0xF7, # LATIN SMALL LETTER S WITH ACUTE
- 0x0160: 0xA6, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xA8, # LATIN SMALL LETTER S WITH CARON
- 0x0170: 0xD8, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- 0x0171: 0xF8, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
- 0x0178: 0xBE, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0179: 0xAC, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017A: 0xAE, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017D: 0xB4, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xB8, # LATIN SMALL LETTER Z WITH CARON
- 0x0218: 0xAA, # LATIN CAPITAL LETTER S WITH COMMA BELOW
- 0x0219: 0xBA, # LATIN SMALL LETTER S WITH COMMA BELOW
- 0x021A: 0xDE, # LATIN CAPITAL LETTER T WITH COMMA BELOW
- 0x021B: 0xFE, # LATIN SMALL LETTER T WITH COMMA BELOW
- 0x201D: 0xB5, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
- 0x20AC: 0xA4, # EURO SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
+ 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xA2, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0xC5, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0xE5, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0xB2, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xB9, # LATIN SMALL LETTER C WITH CARON
+ 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0118: 0xDD, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xFD, # LATIN SMALL LETTER E WITH OGONEK
+ 0x0141: 0xA3, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0xB3, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0150: 0xD5, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ 0x0151: 0xF5, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ 0x0152: 0xBC, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xBD, # LATIN SMALL LIGATURE OE
+ 0x015A: 0xD7, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015B: 0xF7, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0160: 0xA6, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xA8, # LATIN SMALL LETTER S WITH CARON
+ 0x0170: 0xD8, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ 0x0171: 0xF8, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ 0x0178: 0xBE, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0179: 0xAC, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017A: 0xAE, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017D: 0xB4, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xB8, # LATIN SMALL LETTER Z WITH CARON
+ 0x0218: 0xAA, # LATIN CAPITAL LETTER S WITH COMMA BELOW
+ 0x0219: 0xBA, # LATIN SMALL LETTER S WITH COMMA BELOW
+ 0x021A: 0xDE, # LATIN CAPITAL LETTER T WITH COMMA BELOW
+ 0x021B: 0xFE, # LATIN SMALL LETTER T WITH COMMA BELOW
+ 0x201D: 0xB5, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
+ 0x20AC: 0xA4, # EURO SIGN
}
-
diff --git a/Lib/encodings/iso8859_2.py b/Lib/encodings/iso8859_2.py
index f4eef98..417b451 100644
--- a/Lib/encodings/iso8859_2.py
+++ b/Lib/encodings/iso8859_2.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u02d8' # 0xA2 -> BREVE
- u'\u0141' # 0xA3 -> LATIN CAPITAL LETTER L WITH STROKE
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\u013d' # 0xA5 -> LATIN CAPITAL LETTER L WITH CARON
- u'\u015a' # 0xA6 -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\u0160' # 0xA9 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u015e' # 0xAA -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\u0164' # 0xAB -> LATIN CAPITAL LETTER T WITH CARON
- u'\u0179' # 0xAC -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\u017d' # 0xAE -> LATIN CAPITAL LETTER Z WITH CARON
- u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\u0105' # 0xB1 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u02db' # 0xB2 -> OGONEK
- u'\u0142' # 0xB3 -> LATIN SMALL LETTER L WITH STROKE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\u013e' # 0xB5 -> LATIN SMALL LETTER L WITH CARON
- u'\u015b' # 0xB6 -> LATIN SMALL LETTER S WITH ACUTE
- u'\u02c7' # 0xB7 -> CARON
- u'\xb8' # 0xB8 -> CEDILLA
- u'\u0161' # 0xB9 -> LATIN SMALL LETTER S WITH CARON
- u'\u015f' # 0xBA -> LATIN SMALL LETTER S WITH CEDILLA
- u'\u0165' # 0xBB -> LATIN SMALL LETTER T WITH CARON
- u'\u017a' # 0xBC -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u02dd' # 0xBD -> DOUBLE ACUTE ACCENT
- u'\u017e' # 0xBE -> LATIN SMALL LETTER Z WITH CARON
- u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u0154' # 0xC0 -> LATIN CAPITAL LETTER R WITH ACUTE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\u0139' # 0xC5 -> LATIN CAPITAL LETTER L WITH ACUTE
- u'\u0106' # 0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u011a' # 0xCC -> LATIN CAPITAL LETTER E WITH CARON
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\u010e' # 0xCF -> LATIN CAPITAL LETTER D WITH CARON
- u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\u0147' # 0xD2 -> LATIN CAPITAL LETTER N WITH CARON
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u0150' # 0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\u0158' # 0xD8 -> LATIN CAPITAL LETTER R WITH CARON
- u'\u016e' # 0xD9 -> LATIN CAPITAL LETTER U WITH RING ABOVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\u0170' # 0xDB -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\u0162' # 0xDE -> LATIN CAPITAL LETTER T WITH CEDILLA
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\u0155' # 0xE0 -> LATIN SMALL LETTER R WITH ACUTE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u013a' # 0xE5 -> LATIN SMALL LETTER L WITH ACUTE
- u'\u0107' # 0xE6 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u011b' # 0xEC -> LATIN SMALL LETTER E WITH CARON
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\u010f' # 0xEF -> LATIN SMALL LETTER D WITH CARON
- u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
- u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0148' # 0xF2 -> LATIN SMALL LETTER N WITH CARON
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\u0151' # 0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\u0159' # 0xF8 -> LATIN SMALL LETTER R WITH CARON
- u'\u016f' # 0xF9 -> LATIN SMALL LETTER U WITH RING ABOVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\u0171' # 0xFB -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
- u'\u0163' # 0xFE -> LATIN SMALL LETTER T WITH CEDILLA
- u'\u02d9' # 0xFF -> DOT ABOVE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u02d8' # 0xA2 -> BREVE
+ u'\u0141' # 0xA3 -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\u013d' # 0xA5 -> LATIN CAPITAL LETTER L WITH CARON
+ u'\u015a' # 0xA6 -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\u0160' # 0xA9 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u015e' # 0xAA -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\u0164' # 0xAB -> LATIN CAPITAL LETTER T WITH CARON
+ u'\u0179' # 0xAC -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u017d' # 0xAE -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\u0105' # 0xB1 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u02db' # 0xB2 -> OGONEK
+ u'\u0142' # 0xB3 -> LATIN SMALL LETTER L WITH STROKE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\u013e' # 0xB5 -> LATIN SMALL LETTER L WITH CARON
+ u'\u015b' # 0xB6 -> LATIN SMALL LETTER S WITH ACUTE
+ u'\u02c7' # 0xB7 -> CARON
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\u0161' # 0xB9 -> LATIN SMALL LETTER S WITH CARON
+ u'\u015f' # 0xBA -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\u0165' # 0xBB -> LATIN SMALL LETTER T WITH CARON
+ u'\u017a' # 0xBC -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u02dd' # 0xBD -> DOUBLE ACUTE ACCENT
+ u'\u017e' # 0xBE -> LATIN SMALL LETTER Z WITH CARON
+ u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u0154' # 0xC0 -> LATIN CAPITAL LETTER R WITH ACUTE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u0102' # 0xC3 -> LATIN CAPITAL LETTER A WITH BREVE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\u0139' # 0xC5 -> LATIN CAPITAL LETTER L WITH ACUTE
+ u'\u0106' # 0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u011a' # 0xCC -> LATIN CAPITAL LETTER E WITH CARON
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\u010e' # 0xCF -> LATIN CAPITAL LETTER D WITH CARON
+ u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u0143' # 0xD1 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\u0147' # 0xD2 -> LATIN CAPITAL LETTER N WITH CARON
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u0150' # 0xD5 -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\u0158' # 0xD8 -> LATIN CAPITAL LETTER R WITH CARON
+ u'\u016e' # 0xD9 -> LATIN CAPITAL LETTER U WITH RING ABOVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\u0170' # 0xDB -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xDD -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\u0162' # 0xDE -> LATIN CAPITAL LETTER T WITH CEDILLA
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\u0155' # 0xE0 -> LATIN SMALL LETTER R WITH ACUTE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\u0103' # 0xE3 -> LATIN SMALL LETTER A WITH BREVE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u013a' # 0xE5 -> LATIN SMALL LETTER L WITH ACUTE
+ u'\u0107' # 0xE6 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u011b' # 0xEC -> LATIN SMALL LETTER E WITH CARON
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\u010f' # 0xEF -> LATIN SMALL LETTER D WITH CARON
+ u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\u0144' # 0xF1 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0148' # 0xF2 -> LATIN SMALL LETTER N WITH CARON
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\u0151' # 0xF5 -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\u0159' # 0xF8 -> LATIN SMALL LETTER R WITH CARON
+ u'\u016f' # 0xF9 -> LATIN SMALL LETTER U WITH RING ABOVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\u0171' # 0xFB -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xfd' # 0xFD -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\u0163' # 0xFE -> LATIN SMALL LETTER T WITH CEDILLA
+ u'\u02d9' # 0xFF -> DOT ABOVE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B8: 0xB8, # CEDILLA
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
- 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
- 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
- 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xB1, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0xC6, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0xE6, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x010E: 0xCF, # LATIN CAPITAL LETTER D WITH CARON
- 0x010F: 0xEF, # LATIN SMALL LETTER D WITH CARON
- 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
- 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
- 0x011A: 0xCC, # LATIN CAPITAL LETTER E WITH CARON
- 0x011B: 0xEC, # LATIN SMALL LETTER E WITH CARON
- 0x0139: 0xC5, # LATIN CAPITAL LETTER L WITH ACUTE
- 0x013A: 0xE5, # LATIN SMALL LETTER L WITH ACUTE
- 0x013D: 0xA5, # LATIN CAPITAL LETTER L WITH CARON
- 0x013E: 0xB5, # LATIN SMALL LETTER L WITH CARON
- 0x0141: 0xA3, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0xB3, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
- 0x0147: 0xD2, # LATIN CAPITAL LETTER N WITH CARON
- 0x0148: 0xF2, # LATIN SMALL LETTER N WITH CARON
- 0x0150: 0xD5, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- 0x0151: 0xF5, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
- 0x0154: 0xC0, # LATIN CAPITAL LETTER R WITH ACUTE
- 0x0155: 0xE0, # LATIN SMALL LETTER R WITH ACUTE
- 0x0158: 0xD8, # LATIN CAPITAL LETTER R WITH CARON
- 0x0159: 0xF8, # LATIN SMALL LETTER R WITH CARON
- 0x015A: 0xA6, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015B: 0xB6, # LATIN SMALL LETTER S WITH ACUTE
- 0x015E: 0xAA, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0xBA, # LATIN SMALL LETTER S WITH CEDILLA
- 0x0160: 0xA9, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xB9, # LATIN SMALL LETTER S WITH CARON
- 0x0162: 0xDE, # LATIN CAPITAL LETTER T WITH CEDILLA
- 0x0163: 0xFE, # LATIN SMALL LETTER T WITH CEDILLA
- 0x0164: 0xAB, # LATIN CAPITAL LETTER T WITH CARON
- 0x0165: 0xBB, # LATIN SMALL LETTER T WITH CARON
- 0x016E: 0xD9, # LATIN CAPITAL LETTER U WITH RING ABOVE
- 0x016F: 0xF9, # LATIN SMALL LETTER U WITH RING ABOVE
- 0x0170: 0xDB, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- 0x0171: 0xFB, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
- 0x0179: 0xAC, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017A: 0xBC, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017D: 0xAE, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xBE, # LATIN SMALL LETTER Z WITH CARON
- 0x02C7: 0xB7, # CARON
- 0x02D8: 0xA2, # BREVE
- 0x02D9: 0xFF, # DOT ABOVE
- 0x02DB: 0xB2, # OGONEK
- 0x02DD: 0xBD, # DOUBLE ACUTE ACCENT
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xDD, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xFD, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x0102: 0xC3, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x0103: 0xE3, # LATIN SMALL LETTER A WITH BREVE
+ 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xB1, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0xC6, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0xE6, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x010E: 0xCF, # LATIN CAPITAL LETTER D WITH CARON
+ 0x010F: 0xEF, # LATIN SMALL LETTER D WITH CARON
+ 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
+ 0x011A: 0xCC, # LATIN CAPITAL LETTER E WITH CARON
+ 0x011B: 0xEC, # LATIN SMALL LETTER E WITH CARON
+ 0x0139: 0xC5, # LATIN CAPITAL LETTER L WITH ACUTE
+ 0x013A: 0xE5, # LATIN SMALL LETTER L WITH ACUTE
+ 0x013D: 0xA5, # LATIN CAPITAL LETTER L WITH CARON
+ 0x013E: 0xB5, # LATIN SMALL LETTER L WITH CARON
+ 0x0141: 0xA3, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0xB3, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0xD1, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0xF1, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0147: 0xD2, # LATIN CAPITAL LETTER N WITH CARON
+ 0x0148: 0xF2, # LATIN SMALL LETTER N WITH CARON
+ 0x0150: 0xD5, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ 0x0151: 0xF5, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ 0x0154: 0xC0, # LATIN CAPITAL LETTER R WITH ACUTE
+ 0x0155: 0xE0, # LATIN SMALL LETTER R WITH ACUTE
+ 0x0158: 0xD8, # LATIN CAPITAL LETTER R WITH CARON
+ 0x0159: 0xF8, # LATIN SMALL LETTER R WITH CARON
+ 0x015A: 0xA6, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015B: 0xB6, # LATIN SMALL LETTER S WITH ACUTE
+ 0x015E: 0xAA, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0xBA, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0160: 0xA9, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xB9, # LATIN SMALL LETTER S WITH CARON
+ 0x0162: 0xDE, # LATIN CAPITAL LETTER T WITH CEDILLA
+ 0x0163: 0xFE, # LATIN SMALL LETTER T WITH CEDILLA
+ 0x0164: 0xAB, # LATIN CAPITAL LETTER T WITH CARON
+ 0x0165: 0xBB, # LATIN SMALL LETTER T WITH CARON
+ 0x016E: 0xD9, # LATIN CAPITAL LETTER U WITH RING ABOVE
+ 0x016F: 0xF9, # LATIN SMALL LETTER U WITH RING ABOVE
+ 0x0170: 0xDB, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ 0x0171: 0xFB, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ 0x0179: 0xAC, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017A: 0xBC, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017D: 0xAE, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xBE, # LATIN SMALL LETTER Z WITH CARON
+ 0x02C7: 0xB7, # CARON
+ 0x02D8: 0xA2, # BREVE
+ 0x02D9: 0xFF, # DOT ABOVE
+ 0x02DB: 0xB2, # OGONEK
+ 0x02DD: 0xBD, # DOUBLE ACUTE ACCENT
}
-
diff --git a/Lib/encodings/iso8859_3.py b/Lib/encodings/iso8859_3.py
index 167b76a..c3ad3a9 100644
--- a/Lib/encodings/iso8859_3.py
+++ b/Lib/encodings/iso8859_3.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,515 +32,514 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0126' # 0xA1 -> LATIN CAPITAL LETTER H WITH STROKE
- u'\u02d8' # 0xA2 -> BREVE
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0126' # 0xA1 -> LATIN CAPITAL LETTER H WITH STROKE
+ u'\u02d8' # 0xA2 -> BREVE
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
u'\ufffe'
- u'\u0124' # 0xA6 -> LATIN CAPITAL LETTER H WITH CIRCUMFLEX
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\u0130' # 0xA9 -> LATIN CAPITAL LETTER I WITH DOT ABOVE
- u'\u015e' # 0xAA -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\u011e' # 0xAB -> LATIN CAPITAL LETTER G WITH BREVE
- u'\u0134' # 0xAC -> LATIN CAPITAL LETTER J WITH CIRCUMFLEX
- u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u0124' # 0xA6 -> LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\u0130' # 0xA9 -> LATIN CAPITAL LETTER I WITH DOT ABOVE
+ u'\u015e' # 0xAA -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\u011e' # 0xAB -> LATIN CAPITAL LETTER G WITH BREVE
+ u'\u0134' # 0xAC -> LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+ u'\xad' # 0xAD -> SOFT HYPHEN
u'\ufffe'
- u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\u0127' # 0xB1 -> LATIN SMALL LETTER H WITH STROKE
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u0125' # 0xB6 -> LATIN SMALL LETTER H WITH CIRCUMFLEX
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\u0131' # 0xB9 -> LATIN SMALL LETTER DOTLESS I
- u'\u015f' # 0xBA -> LATIN SMALL LETTER S WITH CEDILLA
- u'\u011f' # 0xBB -> LATIN SMALL LETTER G WITH BREVE
- u'\u0135' # 0xBC -> LATIN SMALL LETTER J WITH CIRCUMFLEX
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\u017b' # 0xAF -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\u0127' # 0xB1 -> LATIN SMALL LETTER H WITH STROKE
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u0125' # 0xB6 -> LATIN SMALL LETTER H WITH CIRCUMFLEX
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\u0131' # 0xB9 -> LATIN SMALL LETTER DOTLESS I
+ u'\u015f' # 0xBA -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\u011f' # 0xBB -> LATIN SMALL LETTER G WITH BREVE
+ u'\u0135' # 0xBC -> LATIN SMALL LETTER J WITH CIRCUMFLEX
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
u'\ufffe'
- u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u017c' # 0xBF -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
u'\ufffe'
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\u010a' # 0xC5 -> LATIN CAPITAL LETTER C WITH DOT ABOVE
- u'\u0108' # 0xC6 -> LATIN CAPITAL LETTER C WITH CIRCUMFLEX
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\u010a' # 0xC5 -> LATIN CAPITAL LETTER C WITH DOT ABOVE
+ u'\u0108' # 0xC6 -> LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
u'\ufffe'
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u0120' # 0xD5 -> LATIN CAPITAL LETTER G WITH DOT ABOVE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\u011c' # 0xD8 -> LATIN CAPITAL LETTER G WITH CIRCUMFLEX
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u016c' # 0xDD -> LATIN CAPITAL LETTER U WITH BREVE
- u'\u015c' # 0xDE -> LATIN CAPITAL LETTER S WITH CIRCUMFLEX
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u0120' # 0xD5 -> LATIN CAPITAL LETTER G WITH DOT ABOVE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\u011c' # 0xD8 -> LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u016c' # 0xDD -> LATIN CAPITAL LETTER U WITH BREVE
+ u'\u015c' # 0xDE -> LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
u'\ufffe'
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u010b' # 0xE5 -> LATIN SMALL LETTER C WITH DOT ABOVE
- u'\u0109' # 0xE6 -> LATIN SMALL LETTER C WITH CIRCUMFLEX
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u010b' # 0xE5 -> LATIN SMALL LETTER C WITH DOT ABOVE
+ u'\u0109' # 0xE6 -> LATIN SMALL LETTER C WITH CIRCUMFLEX
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
u'\ufffe'
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\u0121' # 0xF5 -> LATIN SMALL LETTER G WITH DOT ABOVE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\u011d' # 0xF8 -> LATIN SMALL LETTER G WITH CIRCUMFLEX
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u016d' # 0xFD -> LATIN SMALL LETTER U WITH BREVE
- u'\u015d' # 0xFE -> LATIN SMALL LETTER S WITH CIRCUMFLEX
- u'\u02d9' # 0xFF -> DOT ABOVE
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\u0121' # 0xF5 -> LATIN SMALL LETTER G WITH DOT ABOVE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\u011d' # 0xF8 -> LATIN SMALL LETTER G WITH CIRCUMFLEX
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u016d' # 0xFD -> LATIN SMALL LETTER U WITH BREVE
+ u'\u015d' # 0xFE -> LATIN SMALL LETTER S WITH CIRCUMFLEX
+ u'\u02d9' # 0xFF -> DOT ABOVE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0108: 0xC6, # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
- 0x0109: 0xE6, # LATIN SMALL LETTER C WITH CIRCUMFLEX
- 0x010A: 0xC5, # LATIN CAPITAL LETTER C WITH DOT ABOVE
- 0x010B: 0xE5, # LATIN SMALL LETTER C WITH DOT ABOVE
- 0x011C: 0xD8, # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
- 0x011D: 0xF8, # LATIN SMALL LETTER G WITH CIRCUMFLEX
- 0x011E: 0xAB, # LATIN CAPITAL LETTER G WITH BREVE
- 0x011F: 0xBB, # LATIN SMALL LETTER G WITH BREVE
- 0x0120: 0xD5, # LATIN CAPITAL LETTER G WITH DOT ABOVE
- 0x0121: 0xF5, # LATIN SMALL LETTER G WITH DOT ABOVE
- 0x0124: 0xA6, # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
- 0x0125: 0xB6, # LATIN SMALL LETTER H WITH CIRCUMFLEX
- 0x0126: 0xA1, # LATIN CAPITAL LETTER H WITH STROKE
- 0x0127: 0xB1, # LATIN SMALL LETTER H WITH STROKE
- 0x0130: 0xA9, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0131: 0xB9, # LATIN SMALL LETTER DOTLESS I
- 0x0134: 0xAC, # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
- 0x0135: 0xBC, # LATIN SMALL LETTER J WITH CIRCUMFLEX
- 0x015C: 0xDE, # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
- 0x015D: 0xFE, # LATIN SMALL LETTER S WITH CIRCUMFLEX
- 0x015E: 0xAA, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0xBA, # LATIN SMALL LETTER S WITH CEDILLA
- 0x016C: 0xDD, # LATIN CAPITAL LETTER U WITH BREVE
- 0x016D: 0xFD, # LATIN SMALL LETTER U WITH BREVE
- 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x02D8: 0xA2, # BREVE
- 0x02D9: 0xFF, # DOT ABOVE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0108: 0xC6, # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+ 0x0109: 0xE6, # LATIN SMALL LETTER C WITH CIRCUMFLEX
+ 0x010A: 0xC5, # LATIN CAPITAL LETTER C WITH DOT ABOVE
+ 0x010B: 0xE5, # LATIN SMALL LETTER C WITH DOT ABOVE
+ 0x011C: 0xD8, # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+ 0x011D: 0xF8, # LATIN SMALL LETTER G WITH CIRCUMFLEX
+ 0x011E: 0xAB, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x011F: 0xBB, # LATIN SMALL LETTER G WITH BREVE
+ 0x0120: 0xD5, # LATIN CAPITAL LETTER G WITH DOT ABOVE
+ 0x0121: 0xF5, # LATIN SMALL LETTER G WITH DOT ABOVE
+ 0x0124: 0xA6, # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+ 0x0125: 0xB6, # LATIN SMALL LETTER H WITH CIRCUMFLEX
+ 0x0126: 0xA1, # LATIN CAPITAL LETTER H WITH STROKE
+ 0x0127: 0xB1, # LATIN SMALL LETTER H WITH STROKE
+ 0x0130: 0xA9, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0131: 0xB9, # LATIN SMALL LETTER DOTLESS I
+ 0x0134: 0xAC, # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+ 0x0135: 0xBC, # LATIN SMALL LETTER J WITH CIRCUMFLEX
+ 0x015C: 0xDE, # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+ 0x015D: 0xFE, # LATIN SMALL LETTER S WITH CIRCUMFLEX
+ 0x015E: 0xAA, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0xBA, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x016C: 0xDD, # LATIN CAPITAL LETTER U WITH BREVE
+ 0x016D: 0xFD, # LATIN SMALL LETTER U WITH BREVE
+ 0x017B: 0xAF, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xBF, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x02D8: 0xA2, # BREVE
+ 0x02D9: 0xFF, # DOT ABOVE
}
-
diff --git a/Lib/encodings/iso8859_4.py b/Lib/encodings/iso8859_4.py
index 96b7d9c..b65685a 100644
--- a/Lib/encodings/iso8859_4.py
+++ b/Lib/encodings/iso8859_4.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\u0138' # 0xA2 -> LATIN SMALL LETTER KRA
- u'\u0156' # 0xA3 -> LATIN CAPITAL LETTER R WITH CEDILLA
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\u0128' # 0xA5 -> LATIN CAPITAL LETTER I WITH TILDE
- u'\u013b' # 0xA6 -> LATIN CAPITAL LETTER L WITH CEDILLA
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\u0160' # 0xA9 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u0112' # 0xAA -> LATIN CAPITAL LETTER E WITH MACRON
- u'\u0122' # 0xAB -> LATIN CAPITAL LETTER G WITH CEDILLA
- u'\u0166' # 0xAC -> LATIN CAPITAL LETTER T WITH STROKE
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\u017d' # 0xAE -> LATIN CAPITAL LETTER Z WITH CARON
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\u0105' # 0xB1 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u02db' # 0xB2 -> OGONEK
- u'\u0157' # 0xB3 -> LATIN SMALL LETTER R WITH CEDILLA
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\u0129' # 0xB5 -> LATIN SMALL LETTER I WITH TILDE
- u'\u013c' # 0xB6 -> LATIN SMALL LETTER L WITH CEDILLA
- u'\u02c7' # 0xB7 -> CARON
- u'\xb8' # 0xB8 -> CEDILLA
- u'\u0161' # 0xB9 -> LATIN SMALL LETTER S WITH CARON
- u'\u0113' # 0xBA -> LATIN SMALL LETTER E WITH MACRON
- u'\u0123' # 0xBB -> LATIN SMALL LETTER G WITH CEDILLA
- u'\u0167' # 0xBC -> LATIN SMALL LETTER T WITH STROKE
- u'\u014a' # 0xBD -> LATIN CAPITAL LETTER ENG
- u'\u017e' # 0xBE -> LATIN SMALL LETTER Z WITH CARON
- u'\u014b' # 0xBF -> LATIN SMALL LETTER ENG
- u'\u0100' # 0xC0 -> LATIN CAPITAL LETTER A WITH MACRON
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\u012e' # 0xC7 -> LATIN CAPITAL LETTER I WITH OGONEK
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u0116' # 0xCC -> LATIN CAPITAL LETTER E WITH DOT ABOVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\u012a' # 0xCF -> LATIN CAPITAL LETTER I WITH MACRON
- u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u0145' # 0xD1 -> LATIN CAPITAL LETTER N WITH CEDILLA
- u'\u014c' # 0xD2 -> LATIN CAPITAL LETTER O WITH MACRON
- u'\u0136' # 0xD3 -> LATIN CAPITAL LETTER K WITH CEDILLA
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u0172' # 0xD9 -> LATIN CAPITAL LETTER U WITH OGONEK
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u0168' # 0xDD -> LATIN CAPITAL LETTER U WITH TILDE
- u'\u016a' # 0xDE -> LATIN CAPITAL LETTER U WITH MACRON
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\u0101' # 0xE0 -> LATIN SMALL LETTER A WITH MACRON
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\u012f' # 0xE7 -> LATIN SMALL LETTER I WITH OGONEK
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\u0117' # 0xEC -> LATIN SMALL LETTER E WITH DOT ABOVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\u012b' # 0xEF -> LATIN SMALL LETTER I WITH MACRON
- u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
- u'\u0146' # 0xF1 -> LATIN SMALL LETTER N WITH CEDILLA
- u'\u014d' # 0xF2 -> LATIN SMALL LETTER O WITH MACRON
- u'\u0137' # 0xF3 -> LATIN SMALL LETTER K WITH CEDILLA
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\u0173' # 0xF9 -> LATIN SMALL LETTER U WITH OGONEK
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u0169' # 0xFD -> LATIN SMALL LETTER U WITH TILDE
- u'\u016b' # 0xFE -> LATIN SMALL LETTER U WITH MACRON
- u'\u02d9' # 0xFF -> DOT ABOVE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0104' # 0xA1 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\u0138' # 0xA2 -> LATIN SMALL LETTER KRA
+ u'\u0156' # 0xA3 -> LATIN CAPITAL LETTER R WITH CEDILLA
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\u0128' # 0xA5 -> LATIN CAPITAL LETTER I WITH TILDE
+ u'\u013b' # 0xA6 -> LATIN CAPITAL LETTER L WITH CEDILLA
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\u0160' # 0xA9 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u0112' # 0xAA -> LATIN CAPITAL LETTER E WITH MACRON
+ u'\u0122' # 0xAB -> LATIN CAPITAL LETTER G WITH CEDILLA
+ u'\u0166' # 0xAC -> LATIN CAPITAL LETTER T WITH STROKE
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u017d' # 0xAE -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\u0105' # 0xB1 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u02db' # 0xB2 -> OGONEK
+ u'\u0157' # 0xB3 -> LATIN SMALL LETTER R WITH CEDILLA
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\u0129' # 0xB5 -> LATIN SMALL LETTER I WITH TILDE
+ u'\u013c' # 0xB6 -> LATIN SMALL LETTER L WITH CEDILLA
+ u'\u02c7' # 0xB7 -> CARON
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\u0161' # 0xB9 -> LATIN SMALL LETTER S WITH CARON
+ u'\u0113' # 0xBA -> LATIN SMALL LETTER E WITH MACRON
+ u'\u0123' # 0xBB -> LATIN SMALL LETTER G WITH CEDILLA
+ u'\u0167' # 0xBC -> LATIN SMALL LETTER T WITH STROKE
+ u'\u014a' # 0xBD -> LATIN CAPITAL LETTER ENG
+ u'\u017e' # 0xBE -> LATIN SMALL LETTER Z WITH CARON
+ u'\u014b' # 0xBF -> LATIN SMALL LETTER ENG
+ u'\u0100' # 0xC0 -> LATIN CAPITAL LETTER A WITH MACRON
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\u012e' # 0xC7 -> LATIN CAPITAL LETTER I WITH OGONEK
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0118' # 0xCA -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u0116' # 0xCC -> LATIN CAPITAL LETTER E WITH DOT ABOVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\u012a' # 0xCF -> LATIN CAPITAL LETTER I WITH MACRON
+ u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u0145' # 0xD1 -> LATIN CAPITAL LETTER N WITH CEDILLA
+ u'\u014c' # 0xD2 -> LATIN CAPITAL LETTER O WITH MACRON
+ u'\u0136' # 0xD3 -> LATIN CAPITAL LETTER K WITH CEDILLA
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u0172' # 0xD9 -> LATIN CAPITAL LETTER U WITH OGONEK
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u0168' # 0xDD -> LATIN CAPITAL LETTER U WITH TILDE
+ u'\u016a' # 0xDE -> LATIN CAPITAL LETTER U WITH MACRON
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\u0101' # 0xE0 -> LATIN SMALL LETTER A WITH MACRON
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\u012f' # 0xE7 -> LATIN SMALL LETTER I WITH OGONEK
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u0119' # 0xEA -> LATIN SMALL LETTER E WITH OGONEK
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\u0117' # 0xEC -> LATIN SMALL LETTER E WITH DOT ABOVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\u012b' # 0xEF -> LATIN SMALL LETTER I WITH MACRON
+ u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\u0146' # 0xF1 -> LATIN SMALL LETTER N WITH CEDILLA
+ u'\u014d' # 0xF2 -> LATIN SMALL LETTER O WITH MACRON
+ u'\u0137' # 0xF3 -> LATIN SMALL LETTER K WITH CEDILLA
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\u0173' # 0xF9 -> LATIN SMALL LETTER U WITH OGONEK
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u0169' # 0xFD -> LATIN SMALL LETTER U WITH TILDE
+ u'\u016b' # 0xFE -> LATIN SMALL LETTER U WITH MACRON
+ u'\u02d9' # 0xFF -> DOT ABOVE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B8: 0xB8, # CEDILLA
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0100: 0xC0, # LATIN CAPITAL LETTER A WITH MACRON
- 0x0101: 0xE0, # LATIN SMALL LETTER A WITH MACRON
- 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0xB1, # LATIN SMALL LETTER A WITH OGONEK
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
- 0x0112: 0xAA, # LATIN CAPITAL LETTER E WITH MACRON
- 0x0113: 0xBA, # LATIN SMALL LETTER E WITH MACRON
- 0x0116: 0xCC, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x0117: 0xEC, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
- 0x0122: 0xAB, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0123: 0xBB, # LATIN SMALL LETTER G WITH CEDILLA
- 0x0128: 0xA5, # LATIN CAPITAL LETTER I WITH TILDE
- 0x0129: 0xB5, # LATIN SMALL LETTER I WITH TILDE
- 0x012A: 0xCF, # LATIN CAPITAL LETTER I WITH MACRON
- 0x012B: 0xEF, # LATIN SMALL LETTER I WITH MACRON
- 0x012E: 0xC7, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x012F: 0xE7, # LATIN SMALL LETTER I WITH OGONEK
- 0x0136: 0xD3, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x0137: 0xF3, # LATIN SMALL LETTER K WITH CEDILLA
- 0x0138: 0xA2, # LATIN SMALL LETTER KRA
- 0x013B: 0xA6, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x013C: 0xB6, # LATIN SMALL LETTER L WITH CEDILLA
- 0x0145: 0xD1, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x0146: 0xF1, # LATIN SMALL LETTER N WITH CEDILLA
- 0x014A: 0xBD, # LATIN CAPITAL LETTER ENG
- 0x014B: 0xBF, # LATIN SMALL LETTER ENG
- 0x014C: 0xD2, # LATIN CAPITAL LETTER O WITH MACRON
- 0x014D: 0xF2, # LATIN SMALL LETTER O WITH MACRON
- 0x0156: 0xA3, # LATIN CAPITAL LETTER R WITH CEDILLA
- 0x0157: 0xB3, # LATIN SMALL LETTER R WITH CEDILLA
- 0x0160: 0xA9, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xB9, # LATIN SMALL LETTER S WITH CARON
- 0x0166: 0xAC, # LATIN CAPITAL LETTER T WITH STROKE
- 0x0167: 0xBC, # LATIN SMALL LETTER T WITH STROKE
- 0x0168: 0xDD, # LATIN CAPITAL LETTER U WITH TILDE
- 0x0169: 0xFD, # LATIN SMALL LETTER U WITH TILDE
- 0x016A: 0xDE, # LATIN CAPITAL LETTER U WITH MACRON
- 0x016B: 0xFE, # LATIN SMALL LETTER U WITH MACRON
- 0x0172: 0xD9, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x0173: 0xF9, # LATIN SMALL LETTER U WITH OGONEK
- 0x017D: 0xAE, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xBE, # LATIN SMALL LETTER Z WITH CARON
- 0x02C7: 0xB7, # CARON
- 0x02D9: 0xFF, # DOT ABOVE
- 0x02DB: 0xB2, # OGONEK
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0100: 0xC0, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x0101: 0xE0, # LATIN SMALL LETTER A WITH MACRON
+ 0x0104: 0xA1, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0xB1, # LATIN SMALL LETTER A WITH OGONEK
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0112: 0xAA, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x0113: 0xBA, # LATIN SMALL LETTER E WITH MACRON
+ 0x0116: 0xCC, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x0117: 0xEC, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x0118: 0xCA, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xEA, # LATIN SMALL LETTER E WITH OGONEK
+ 0x0122: 0xAB, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0123: 0xBB, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x0128: 0xA5, # LATIN CAPITAL LETTER I WITH TILDE
+ 0x0129: 0xB5, # LATIN SMALL LETTER I WITH TILDE
+ 0x012A: 0xCF, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x012B: 0xEF, # LATIN SMALL LETTER I WITH MACRON
+ 0x012E: 0xC7, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x012F: 0xE7, # LATIN SMALL LETTER I WITH OGONEK
+ 0x0136: 0xD3, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x0137: 0xF3, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x0138: 0xA2, # LATIN SMALL LETTER KRA
+ 0x013B: 0xA6, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x013C: 0xB6, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x0145: 0xD1, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x0146: 0xF1, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x014A: 0xBD, # LATIN CAPITAL LETTER ENG
+ 0x014B: 0xBF, # LATIN SMALL LETTER ENG
+ 0x014C: 0xD2, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x014D: 0xF2, # LATIN SMALL LETTER O WITH MACRON
+ 0x0156: 0xA3, # LATIN CAPITAL LETTER R WITH CEDILLA
+ 0x0157: 0xB3, # LATIN SMALL LETTER R WITH CEDILLA
+ 0x0160: 0xA9, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xB9, # LATIN SMALL LETTER S WITH CARON
+ 0x0166: 0xAC, # LATIN CAPITAL LETTER T WITH STROKE
+ 0x0167: 0xBC, # LATIN SMALL LETTER T WITH STROKE
+ 0x0168: 0xDD, # LATIN CAPITAL LETTER U WITH TILDE
+ 0x0169: 0xFD, # LATIN SMALL LETTER U WITH TILDE
+ 0x016A: 0xDE, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x016B: 0xFE, # LATIN SMALL LETTER U WITH MACRON
+ 0x0172: 0xD9, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x0173: 0xF9, # LATIN SMALL LETTER U WITH OGONEK
+ 0x017D: 0xAE, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xBE, # LATIN SMALL LETTER Z WITH CARON
+ 0x02C7: 0xB7, # CARON
+ 0x02D9: 0xFF, # DOT ABOVE
+ 0x02DB: 0xB2, # OGONEK
}
-
diff --git a/Lib/encodings/iso8859_5.py b/Lib/encodings/iso8859_5.py
index 8db4314..59fe372 100644
--- a/Lib/encodings/iso8859_5.py
+++ b/Lib/encodings/iso8859_5.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u0401' # 0xA1 -> CYRILLIC CAPITAL LETTER IO
- u'\u0402' # 0xA2 -> CYRILLIC CAPITAL LETTER DJE
- u'\u0403' # 0xA3 -> CYRILLIC CAPITAL LETTER GJE
- u'\u0404' # 0xA4 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
- u'\u0405' # 0xA5 -> CYRILLIC CAPITAL LETTER DZE
- u'\u0406' # 0xA6 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0407' # 0xA7 -> CYRILLIC CAPITAL LETTER YI
- u'\u0408' # 0xA8 -> CYRILLIC CAPITAL LETTER JE
- u'\u0409' # 0xA9 -> CYRILLIC CAPITAL LETTER LJE
- u'\u040a' # 0xAA -> CYRILLIC CAPITAL LETTER NJE
- u'\u040b' # 0xAB -> CYRILLIC CAPITAL LETTER TSHE
- u'\u040c' # 0xAC -> CYRILLIC CAPITAL LETTER KJE
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\u040e' # 0xAE -> CYRILLIC CAPITAL LETTER SHORT U
- u'\u040f' # 0xAF -> CYRILLIC CAPITAL LETTER DZHE
- u'\u0410' # 0xB0 -> CYRILLIC CAPITAL LETTER A
- u'\u0411' # 0xB1 -> CYRILLIC CAPITAL LETTER BE
- u'\u0412' # 0xB2 -> CYRILLIC CAPITAL LETTER VE
- u'\u0413' # 0xB3 -> CYRILLIC CAPITAL LETTER GHE
- u'\u0414' # 0xB4 -> CYRILLIC CAPITAL LETTER DE
- u'\u0415' # 0xB5 -> CYRILLIC CAPITAL LETTER IE
- u'\u0416' # 0xB6 -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0417' # 0xB7 -> CYRILLIC CAPITAL LETTER ZE
- u'\u0418' # 0xB8 -> CYRILLIC CAPITAL LETTER I
- u'\u0419' # 0xB9 -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u041a' # 0xBA -> CYRILLIC CAPITAL LETTER KA
- u'\u041b' # 0xBB -> CYRILLIC CAPITAL LETTER EL
- u'\u041c' # 0xBC -> CYRILLIC CAPITAL LETTER EM
- u'\u041d' # 0xBD -> CYRILLIC CAPITAL LETTER EN
- u'\u041e' # 0xBE -> CYRILLIC CAPITAL LETTER O
- u'\u041f' # 0xBF -> CYRILLIC CAPITAL LETTER PE
- u'\u0420' # 0xC0 -> CYRILLIC CAPITAL LETTER ER
- u'\u0421' # 0xC1 -> CYRILLIC CAPITAL LETTER ES
- u'\u0422' # 0xC2 -> CYRILLIC CAPITAL LETTER TE
- u'\u0423' # 0xC3 -> CYRILLIC CAPITAL LETTER U
- u'\u0424' # 0xC4 -> CYRILLIC CAPITAL LETTER EF
- u'\u0425' # 0xC5 -> CYRILLIC CAPITAL LETTER HA
- u'\u0426' # 0xC6 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0427' # 0xC7 -> CYRILLIC CAPITAL LETTER CHE
- u'\u0428' # 0xC8 -> CYRILLIC CAPITAL LETTER SHA
- u'\u0429' # 0xC9 -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u042a' # 0xCA -> CYRILLIC CAPITAL LETTER HARD SIGN
- u'\u042b' # 0xCB -> CYRILLIC CAPITAL LETTER YERU
- u'\u042c' # 0xCC -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u042d' # 0xCD -> CYRILLIC CAPITAL LETTER E
- u'\u042e' # 0xCE -> CYRILLIC CAPITAL LETTER YU
- u'\u042f' # 0xCF -> CYRILLIC CAPITAL LETTER YA
- u'\u0430' # 0xD0 -> CYRILLIC SMALL LETTER A
- u'\u0431' # 0xD1 -> CYRILLIC SMALL LETTER BE
- u'\u0432' # 0xD2 -> CYRILLIC SMALL LETTER VE
- u'\u0433' # 0xD3 -> CYRILLIC SMALL LETTER GHE
- u'\u0434' # 0xD4 -> CYRILLIC SMALL LETTER DE
- u'\u0435' # 0xD5 -> CYRILLIC SMALL LETTER IE
- u'\u0436' # 0xD6 -> CYRILLIC SMALL LETTER ZHE
- u'\u0437' # 0xD7 -> CYRILLIC SMALL LETTER ZE
- u'\u0438' # 0xD8 -> CYRILLIC SMALL LETTER I
- u'\u0439' # 0xD9 -> CYRILLIC SMALL LETTER SHORT I
- u'\u043a' # 0xDA -> CYRILLIC SMALL LETTER KA
- u'\u043b' # 0xDB -> CYRILLIC SMALL LETTER EL
- u'\u043c' # 0xDC -> CYRILLIC SMALL LETTER EM
- u'\u043d' # 0xDD -> CYRILLIC SMALL LETTER EN
- u'\u043e' # 0xDE -> CYRILLIC SMALL LETTER O
- u'\u043f' # 0xDF -> CYRILLIC SMALL LETTER PE
- u'\u0440' # 0xE0 -> CYRILLIC SMALL LETTER ER
- u'\u0441' # 0xE1 -> CYRILLIC SMALL LETTER ES
- u'\u0442' # 0xE2 -> CYRILLIC SMALL LETTER TE
- u'\u0443' # 0xE3 -> CYRILLIC SMALL LETTER U
- u'\u0444' # 0xE4 -> CYRILLIC SMALL LETTER EF
- u'\u0445' # 0xE5 -> CYRILLIC SMALL LETTER HA
- u'\u0446' # 0xE6 -> CYRILLIC SMALL LETTER TSE
- u'\u0447' # 0xE7 -> CYRILLIC SMALL LETTER CHE
- u'\u0448' # 0xE8 -> CYRILLIC SMALL LETTER SHA
- u'\u0449' # 0xE9 -> CYRILLIC SMALL LETTER SHCHA
- u'\u044a' # 0xEA -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u044b' # 0xEB -> CYRILLIC SMALL LETTER YERU
- u'\u044c' # 0xEC -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u044d' # 0xED -> CYRILLIC SMALL LETTER E
- u'\u044e' # 0xEE -> CYRILLIC SMALL LETTER YU
- u'\u044f' # 0xEF -> CYRILLIC SMALL LETTER YA
- u'\u2116' # 0xF0 -> NUMERO SIGN
- u'\u0451' # 0xF1 -> CYRILLIC SMALL LETTER IO
- u'\u0452' # 0xF2 -> CYRILLIC SMALL LETTER DJE
- u'\u0453' # 0xF3 -> CYRILLIC SMALL LETTER GJE
- u'\u0454' # 0xF4 -> CYRILLIC SMALL LETTER UKRAINIAN IE
- u'\u0455' # 0xF5 -> CYRILLIC SMALL LETTER DZE
- u'\u0456' # 0xF6 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0457' # 0xF7 -> CYRILLIC SMALL LETTER YI
- u'\u0458' # 0xF8 -> CYRILLIC SMALL LETTER JE
- u'\u0459' # 0xF9 -> CYRILLIC SMALL LETTER LJE
- u'\u045a' # 0xFA -> CYRILLIC SMALL LETTER NJE
- u'\u045b' # 0xFB -> CYRILLIC SMALL LETTER TSHE
- u'\u045c' # 0xFC -> CYRILLIC SMALL LETTER KJE
- u'\xa7' # 0xFD -> SECTION SIGN
- u'\u045e' # 0xFE -> CYRILLIC SMALL LETTER SHORT U
- u'\u045f' # 0xFF -> CYRILLIC SMALL LETTER DZHE
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u0401' # 0xA1 -> CYRILLIC CAPITAL LETTER IO
+ u'\u0402' # 0xA2 -> CYRILLIC CAPITAL LETTER DJE
+ u'\u0403' # 0xA3 -> CYRILLIC CAPITAL LETTER GJE
+ u'\u0404' # 0xA4 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ u'\u0405' # 0xA5 -> CYRILLIC CAPITAL LETTER DZE
+ u'\u0406' # 0xA6 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0407' # 0xA7 -> CYRILLIC CAPITAL LETTER YI
+ u'\u0408' # 0xA8 -> CYRILLIC CAPITAL LETTER JE
+ u'\u0409' # 0xA9 -> CYRILLIC CAPITAL LETTER LJE
+ u'\u040a' # 0xAA -> CYRILLIC CAPITAL LETTER NJE
+ u'\u040b' # 0xAB -> CYRILLIC CAPITAL LETTER TSHE
+ u'\u040c' # 0xAC -> CYRILLIC CAPITAL LETTER KJE
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\u040e' # 0xAE -> CYRILLIC CAPITAL LETTER SHORT U
+ u'\u040f' # 0xAF -> CYRILLIC CAPITAL LETTER DZHE
+ u'\u0410' # 0xB0 -> CYRILLIC CAPITAL LETTER A
+ u'\u0411' # 0xB1 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0412' # 0xB2 -> CYRILLIC CAPITAL LETTER VE
+ u'\u0413' # 0xB3 -> CYRILLIC CAPITAL LETTER GHE
+ u'\u0414' # 0xB4 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0415' # 0xB5 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0416' # 0xB6 -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0417' # 0xB7 -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0418' # 0xB8 -> CYRILLIC CAPITAL LETTER I
+ u'\u0419' # 0xB9 -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u041a' # 0xBA -> CYRILLIC CAPITAL LETTER KA
+ u'\u041b' # 0xBB -> CYRILLIC CAPITAL LETTER EL
+ u'\u041c' # 0xBC -> CYRILLIC CAPITAL LETTER EM
+ u'\u041d' # 0xBD -> CYRILLIC CAPITAL LETTER EN
+ u'\u041e' # 0xBE -> CYRILLIC CAPITAL LETTER O
+ u'\u041f' # 0xBF -> CYRILLIC CAPITAL LETTER PE
+ u'\u0420' # 0xC0 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0421' # 0xC1 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0422' # 0xC2 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0423' # 0xC3 -> CYRILLIC CAPITAL LETTER U
+ u'\u0424' # 0xC4 -> CYRILLIC CAPITAL LETTER EF
+ u'\u0425' # 0xC5 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0426' # 0xC6 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0427' # 0xC7 -> CYRILLIC CAPITAL LETTER CHE
+ u'\u0428' # 0xC8 -> CYRILLIC CAPITAL LETTER SHA
+ u'\u0429' # 0xC9 -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u042a' # 0xCA -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\u042b' # 0xCB -> CYRILLIC CAPITAL LETTER YERU
+ u'\u042c' # 0xCC -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u042d' # 0xCD -> CYRILLIC CAPITAL LETTER E
+ u'\u042e' # 0xCE -> CYRILLIC CAPITAL LETTER YU
+ u'\u042f' # 0xCF -> CYRILLIC CAPITAL LETTER YA
+ u'\u0430' # 0xD0 -> CYRILLIC SMALL LETTER A
+ u'\u0431' # 0xD1 -> CYRILLIC SMALL LETTER BE
+ u'\u0432' # 0xD2 -> CYRILLIC SMALL LETTER VE
+ u'\u0433' # 0xD3 -> CYRILLIC SMALL LETTER GHE
+ u'\u0434' # 0xD4 -> CYRILLIC SMALL LETTER DE
+ u'\u0435' # 0xD5 -> CYRILLIC SMALL LETTER IE
+ u'\u0436' # 0xD6 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0437' # 0xD7 -> CYRILLIC SMALL LETTER ZE
+ u'\u0438' # 0xD8 -> CYRILLIC SMALL LETTER I
+ u'\u0439' # 0xD9 -> CYRILLIC SMALL LETTER SHORT I
+ u'\u043a' # 0xDA -> CYRILLIC SMALL LETTER KA
+ u'\u043b' # 0xDB -> CYRILLIC SMALL LETTER EL
+ u'\u043c' # 0xDC -> CYRILLIC SMALL LETTER EM
+ u'\u043d' # 0xDD -> CYRILLIC SMALL LETTER EN
+ u'\u043e' # 0xDE -> CYRILLIC SMALL LETTER O
+ u'\u043f' # 0xDF -> CYRILLIC SMALL LETTER PE
+ u'\u0440' # 0xE0 -> CYRILLIC SMALL LETTER ER
+ u'\u0441' # 0xE1 -> CYRILLIC SMALL LETTER ES
+ u'\u0442' # 0xE2 -> CYRILLIC SMALL LETTER TE
+ u'\u0443' # 0xE3 -> CYRILLIC SMALL LETTER U
+ u'\u0444' # 0xE4 -> CYRILLIC SMALL LETTER EF
+ u'\u0445' # 0xE5 -> CYRILLIC SMALL LETTER HA
+ u'\u0446' # 0xE6 -> CYRILLIC SMALL LETTER TSE
+ u'\u0447' # 0xE7 -> CYRILLIC SMALL LETTER CHE
+ u'\u0448' # 0xE8 -> CYRILLIC SMALL LETTER SHA
+ u'\u0449' # 0xE9 -> CYRILLIC SMALL LETTER SHCHA
+ u'\u044a' # 0xEA -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u044b' # 0xEB -> CYRILLIC SMALL LETTER YERU
+ u'\u044c' # 0xEC -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u044d' # 0xED -> CYRILLIC SMALL LETTER E
+ u'\u044e' # 0xEE -> CYRILLIC SMALL LETTER YU
+ u'\u044f' # 0xEF -> CYRILLIC SMALL LETTER YA
+ u'\u2116' # 0xF0 -> NUMERO SIGN
+ u'\u0451' # 0xF1 -> CYRILLIC SMALL LETTER IO
+ u'\u0452' # 0xF2 -> CYRILLIC SMALL LETTER DJE
+ u'\u0453' # 0xF3 -> CYRILLIC SMALL LETTER GJE
+ u'\u0454' # 0xF4 -> CYRILLIC SMALL LETTER UKRAINIAN IE
+ u'\u0455' # 0xF5 -> CYRILLIC SMALL LETTER DZE
+ u'\u0456' # 0xF6 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0457' # 0xF7 -> CYRILLIC SMALL LETTER YI
+ u'\u0458' # 0xF8 -> CYRILLIC SMALL LETTER JE
+ u'\u0459' # 0xF9 -> CYRILLIC SMALL LETTER LJE
+ u'\u045a' # 0xFA -> CYRILLIC SMALL LETTER NJE
+ u'\u045b' # 0xFB -> CYRILLIC SMALL LETTER TSHE
+ u'\u045c' # 0xFC -> CYRILLIC SMALL LETTER KJE
+ u'\xa7' # 0xFD -> SECTION SIGN
+ u'\u045e' # 0xFE -> CYRILLIC SMALL LETTER SHORT U
+ u'\u045f' # 0xFF -> CYRILLIC SMALL LETTER DZHE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A7: 0xFD, # SECTION SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x0401: 0xA1, # CYRILLIC CAPITAL LETTER IO
- 0x0402: 0xA2, # CYRILLIC CAPITAL LETTER DJE
- 0x0403: 0xA3, # CYRILLIC CAPITAL LETTER GJE
- 0x0404: 0xA4, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0405: 0xA5, # CYRILLIC CAPITAL LETTER DZE
- 0x0406: 0xA6, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0407: 0xA7, # CYRILLIC CAPITAL LETTER YI
- 0x0408: 0xA8, # CYRILLIC CAPITAL LETTER JE
- 0x0409: 0xA9, # CYRILLIC CAPITAL LETTER LJE
- 0x040A: 0xAA, # CYRILLIC CAPITAL LETTER NJE
- 0x040B: 0xAB, # CYRILLIC CAPITAL LETTER TSHE
- 0x040C: 0xAC, # CYRILLIC CAPITAL LETTER KJE
- 0x040E: 0xAE, # CYRILLIC CAPITAL LETTER SHORT U
- 0x040F: 0xAF, # CYRILLIC CAPITAL LETTER DZHE
- 0x0410: 0xB0, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0xB1, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0xB2, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0xB3, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0xB4, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0xB5, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0xB6, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0xB7, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0xB8, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0xB9, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041A: 0xBA, # CYRILLIC CAPITAL LETTER KA
- 0x041B: 0xBB, # CYRILLIC CAPITAL LETTER EL
- 0x041C: 0xBC, # CYRILLIC CAPITAL LETTER EM
- 0x041D: 0xBD, # CYRILLIC CAPITAL LETTER EN
- 0x041E: 0xBE, # CYRILLIC CAPITAL LETTER O
- 0x041F: 0xBF, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0xC0, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0xC1, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0xC2, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0xC3, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0xC4, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0xC5, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0xC6, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0xC7, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0xC8, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0xC9, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042A: 0xCA, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042B: 0xCB, # CYRILLIC CAPITAL LETTER YERU
- 0x042C: 0xCC, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042D: 0xCD, # CYRILLIC CAPITAL LETTER E
- 0x042E: 0xCE, # CYRILLIC CAPITAL LETTER YU
- 0x042F: 0xCF, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0xD0, # CYRILLIC SMALL LETTER A
- 0x0431: 0xD1, # CYRILLIC SMALL LETTER BE
- 0x0432: 0xD2, # CYRILLIC SMALL LETTER VE
- 0x0433: 0xD3, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0xD4, # CYRILLIC SMALL LETTER DE
- 0x0435: 0xD5, # CYRILLIC SMALL LETTER IE
- 0x0436: 0xD6, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0xD7, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0xD8, # CYRILLIC SMALL LETTER I
- 0x0439: 0xD9, # CYRILLIC SMALL LETTER SHORT I
- 0x043A: 0xDA, # CYRILLIC SMALL LETTER KA
- 0x043B: 0xDB, # CYRILLIC SMALL LETTER EL
- 0x043C: 0xDC, # CYRILLIC SMALL LETTER EM
- 0x043D: 0xDD, # CYRILLIC SMALL LETTER EN
- 0x043E: 0xDE, # CYRILLIC SMALL LETTER O
- 0x043F: 0xDF, # CYRILLIC SMALL LETTER PE
- 0x0440: 0xE0, # CYRILLIC SMALL LETTER ER
- 0x0441: 0xE1, # CYRILLIC SMALL LETTER ES
- 0x0442: 0xE2, # CYRILLIC SMALL LETTER TE
- 0x0443: 0xE3, # CYRILLIC SMALL LETTER U
- 0x0444: 0xE4, # CYRILLIC SMALL LETTER EF
- 0x0445: 0xE5, # CYRILLIC SMALL LETTER HA
- 0x0446: 0xE6, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0xE7, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0xE8, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0xE9, # CYRILLIC SMALL LETTER SHCHA
- 0x044A: 0xEA, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044B: 0xEB, # CYRILLIC SMALL LETTER YERU
- 0x044C: 0xEC, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044D: 0xED, # CYRILLIC SMALL LETTER E
- 0x044E: 0xEE, # CYRILLIC SMALL LETTER YU
- 0x044F: 0xEF, # CYRILLIC SMALL LETTER YA
- 0x0451: 0xF1, # CYRILLIC SMALL LETTER IO
- 0x0452: 0xF2, # CYRILLIC SMALL LETTER DJE
- 0x0453: 0xF3, # CYRILLIC SMALL LETTER GJE
- 0x0454: 0xF4, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0455: 0xF5, # CYRILLIC SMALL LETTER DZE
- 0x0456: 0xF6, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0457: 0xF7, # CYRILLIC SMALL LETTER YI
- 0x0458: 0xF8, # CYRILLIC SMALL LETTER JE
- 0x0459: 0xF9, # CYRILLIC SMALL LETTER LJE
- 0x045A: 0xFA, # CYRILLIC SMALL LETTER NJE
- 0x045B: 0xFB, # CYRILLIC SMALL LETTER TSHE
- 0x045C: 0xFC, # CYRILLIC SMALL LETTER KJE
- 0x045E: 0xFE, # CYRILLIC SMALL LETTER SHORT U
- 0x045F: 0xFF, # CYRILLIC SMALL LETTER DZHE
- 0x2116: 0xF0, # NUMERO SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A7: 0xFD, # SECTION SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x0401: 0xA1, # CYRILLIC CAPITAL LETTER IO
+ 0x0402: 0xA2, # CYRILLIC CAPITAL LETTER DJE
+ 0x0403: 0xA3, # CYRILLIC CAPITAL LETTER GJE
+ 0x0404: 0xA4, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0405: 0xA5, # CYRILLIC CAPITAL LETTER DZE
+ 0x0406: 0xA6, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0407: 0xA7, # CYRILLIC CAPITAL LETTER YI
+ 0x0408: 0xA8, # CYRILLIC CAPITAL LETTER JE
+ 0x0409: 0xA9, # CYRILLIC CAPITAL LETTER LJE
+ 0x040A: 0xAA, # CYRILLIC CAPITAL LETTER NJE
+ 0x040B: 0xAB, # CYRILLIC CAPITAL LETTER TSHE
+ 0x040C: 0xAC, # CYRILLIC CAPITAL LETTER KJE
+ 0x040E: 0xAE, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x040F: 0xAF, # CYRILLIC CAPITAL LETTER DZHE
+ 0x0410: 0xB0, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0xB1, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0xB2, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0xB3, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0xB4, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0xB5, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0xB6, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0xB7, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0xB8, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0xB9, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041A: 0xBA, # CYRILLIC CAPITAL LETTER KA
+ 0x041B: 0xBB, # CYRILLIC CAPITAL LETTER EL
+ 0x041C: 0xBC, # CYRILLIC CAPITAL LETTER EM
+ 0x041D: 0xBD, # CYRILLIC CAPITAL LETTER EN
+ 0x041E: 0xBE, # CYRILLIC CAPITAL LETTER O
+ 0x041F: 0xBF, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0xC0, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0xC1, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0xC2, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0xC3, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0xC4, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0xC5, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0xC6, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0xC7, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0xC8, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0xC9, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042A: 0xCA, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042B: 0xCB, # CYRILLIC CAPITAL LETTER YERU
+ 0x042C: 0xCC, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042D: 0xCD, # CYRILLIC CAPITAL LETTER E
+ 0x042E: 0xCE, # CYRILLIC CAPITAL LETTER YU
+ 0x042F: 0xCF, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0xD0, # CYRILLIC SMALL LETTER A
+ 0x0431: 0xD1, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0xD2, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0xD3, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0xD4, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0xD5, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0xD6, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0xD7, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0xD8, # CYRILLIC SMALL LETTER I
+ 0x0439: 0xD9, # CYRILLIC SMALL LETTER SHORT I
+ 0x043A: 0xDA, # CYRILLIC SMALL LETTER KA
+ 0x043B: 0xDB, # CYRILLIC SMALL LETTER EL
+ 0x043C: 0xDC, # CYRILLIC SMALL LETTER EM
+ 0x043D: 0xDD, # CYRILLIC SMALL LETTER EN
+ 0x043E: 0xDE, # CYRILLIC SMALL LETTER O
+ 0x043F: 0xDF, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0xE0, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0xE1, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0xE2, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0xE3, # CYRILLIC SMALL LETTER U
+ 0x0444: 0xE4, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0xE5, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0xE6, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0xE7, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0xE8, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0xE9, # CYRILLIC SMALL LETTER SHCHA
+ 0x044A: 0xEA, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044B: 0xEB, # CYRILLIC SMALL LETTER YERU
+ 0x044C: 0xEC, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044D: 0xED, # CYRILLIC SMALL LETTER E
+ 0x044E: 0xEE, # CYRILLIC SMALL LETTER YU
+ 0x044F: 0xEF, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0xF1, # CYRILLIC SMALL LETTER IO
+ 0x0452: 0xF2, # CYRILLIC SMALL LETTER DJE
+ 0x0453: 0xF3, # CYRILLIC SMALL LETTER GJE
+ 0x0454: 0xF4, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0455: 0xF5, # CYRILLIC SMALL LETTER DZE
+ 0x0456: 0xF6, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0457: 0xF7, # CYRILLIC SMALL LETTER YI
+ 0x0458: 0xF8, # CYRILLIC SMALL LETTER JE
+ 0x0459: 0xF9, # CYRILLIC SMALL LETTER LJE
+ 0x045A: 0xFA, # CYRILLIC SMALL LETTER NJE
+ 0x045B: 0xFB, # CYRILLIC SMALL LETTER TSHE
+ 0x045C: 0xFC, # CYRILLIC SMALL LETTER KJE
+ 0x045E: 0xFE, # CYRILLIC SMALL LETTER SHORT U
+ 0x045F: 0xFF, # CYRILLIC SMALL LETTER DZHE
+ 0x2116: 0xF0, # NUMERO SIGN
}
-
diff --git a/Lib/encodings/iso8859_6.py b/Lib/encodings/iso8859_6.py
index feb69c8..b07661d9 100644
--- a/Lib/encodings/iso8859_6.py
+++ b/Lib/encodings/iso8859_6.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,180 +32,180 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\u060c' # 0xAC -> ARABIC COMMA
- u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\u060c' # 0xAC -> ARABIC COMMA
+ u'\xad' # 0xAD -> SOFT HYPHEN
u'\ufffe'
u'\ufffe'
u'\ufffe'
@@ -219,62 +219,62 @@ decoding_table = (
u'\ufffe'
u'\ufffe'
u'\ufffe'
- u'\u061b' # 0xBB -> ARABIC SEMICOLON
+ u'\u061b' # 0xBB -> ARABIC SEMICOLON
u'\ufffe'
u'\ufffe'
u'\ufffe'
- u'\u061f' # 0xBF -> ARABIC QUESTION MARK
+ u'\u061f' # 0xBF -> ARABIC QUESTION MARK
u'\ufffe'
- u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
- u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
- u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
- u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
- u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
- u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
- u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
- u'\u0628' # 0xC8 -> ARABIC LETTER BEH
- u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
- u'\u062a' # 0xCA -> ARABIC LETTER TEH
- u'\u062b' # 0xCB -> ARABIC LETTER THEH
- u'\u062c' # 0xCC -> ARABIC LETTER JEEM
- u'\u062d' # 0xCD -> ARABIC LETTER HAH
- u'\u062e' # 0xCE -> ARABIC LETTER KHAH
- u'\u062f' # 0xCF -> ARABIC LETTER DAL
- u'\u0630' # 0xD0 -> ARABIC LETTER THAL
- u'\u0631' # 0xD1 -> ARABIC LETTER REH
- u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
- u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
- u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
- u'\u0635' # 0xD5 -> ARABIC LETTER SAD
- u'\u0636' # 0xD6 -> ARABIC LETTER DAD
- u'\u0637' # 0xD7 -> ARABIC LETTER TAH
- u'\u0638' # 0xD8 -> ARABIC LETTER ZAH
- u'\u0639' # 0xD9 -> ARABIC LETTER AIN
- u'\u063a' # 0xDA -> ARABIC LETTER GHAIN
+ u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
+ u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
+ u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
+ u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
+ u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
+ u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
+ u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
+ u'\u0628' # 0xC8 -> ARABIC LETTER BEH
+ u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
+ u'\u062a' # 0xCA -> ARABIC LETTER TEH
+ u'\u062b' # 0xCB -> ARABIC LETTER THEH
+ u'\u062c' # 0xCC -> ARABIC LETTER JEEM
+ u'\u062d' # 0xCD -> ARABIC LETTER HAH
+ u'\u062e' # 0xCE -> ARABIC LETTER KHAH
+ u'\u062f' # 0xCF -> ARABIC LETTER DAL
+ u'\u0630' # 0xD0 -> ARABIC LETTER THAL
+ u'\u0631' # 0xD1 -> ARABIC LETTER REH
+ u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
+ u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
+ u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
+ u'\u0635' # 0xD5 -> ARABIC LETTER SAD
+ u'\u0636' # 0xD6 -> ARABIC LETTER DAD
+ u'\u0637' # 0xD7 -> ARABIC LETTER TAH
+ u'\u0638' # 0xD8 -> ARABIC LETTER ZAH
+ u'\u0639' # 0xD9 -> ARABIC LETTER AIN
+ u'\u063a' # 0xDA -> ARABIC LETTER GHAIN
u'\ufffe'
u'\ufffe'
u'\ufffe'
u'\ufffe'
u'\ufffe'
- u'\u0640' # 0xE0 -> ARABIC TATWEEL
- u'\u0641' # 0xE1 -> ARABIC LETTER FEH
- u'\u0642' # 0xE2 -> ARABIC LETTER QAF
- u'\u0643' # 0xE3 -> ARABIC LETTER KAF
- u'\u0644' # 0xE4 -> ARABIC LETTER LAM
- u'\u0645' # 0xE5 -> ARABIC LETTER MEEM
- u'\u0646' # 0xE6 -> ARABIC LETTER NOON
- u'\u0647' # 0xE7 -> ARABIC LETTER HEH
- u'\u0648' # 0xE8 -> ARABIC LETTER WAW
- u'\u0649' # 0xE9 -> ARABIC LETTER ALEF MAKSURA
- u'\u064a' # 0xEA -> ARABIC LETTER YEH
- u'\u064b' # 0xEB -> ARABIC FATHATAN
- u'\u064c' # 0xEC -> ARABIC DAMMATAN
- u'\u064d' # 0xED -> ARABIC KASRATAN
- u'\u064e' # 0xEE -> ARABIC FATHA
- u'\u064f' # 0xEF -> ARABIC DAMMA
- u'\u0650' # 0xF0 -> ARABIC KASRA
- u'\u0651' # 0xF1 -> ARABIC SHADDA
- u'\u0652' # 0xF2 -> ARABIC SUKUN
+ u'\u0640' # 0xE0 -> ARABIC TATWEEL
+ u'\u0641' # 0xE1 -> ARABIC LETTER FEH
+ u'\u0642' # 0xE2 -> ARABIC LETTER QAF
+ u'\u0643' # 0xE3 -> ARABIC LETTER KAF
+ u'\u0644' # 0xE4 -> ARABIC LETTER LAM
+ u'\u0645' # 0xE5 -> ARABIC LETTER MEEM
+ u'\u0646' # 0xE6 -> ARABIC LETTER NOON
+ u'\u0647' # 0xE7 -> ARABIC LETTER HEH
+ u'\u0648' # 0xE8 -> ARABIC LETTER WAW
+ u'\u0649' # 0xE9 -> ARABIC LETTER ALEF MAKSURA
+ u'\u064a' # 0xEA -> ARABIC LETTER YEH
+ u'\u064b' # 0xEB -> ARABIC FATHATAN
+ u'\u064c' # 0xEC -> ARABIC DAMMATAN
+ u'\u064d' # 0xED -> ARABIC KASRATAN
+ u'\u064e' # 0xEE -> ARABIC FATHA
+ u'\u064f' # 0xEF -> ARABIC DAMMA
+ u'\u0650' # 0xF0 -> ARABIC KASRA
+ u'\u0651' # 0xF1 -> ARABIC SHADDA
+ u'\u0652' # 0xF2 -> ARABIC SUKUN
u'\ufffe'
u'\ufffe'
u'\ufffe'
@@ -293,216 +293,215 @@ decoding_table = (
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x060C: 0xAC, # ARABIC COMMA
- 0x061B: 0xBB, # ARABIC SEMICOLON
- 0x061F: 0xBF, # ARABIC QUESTION MARK
- 0x0621: 0xC1, # ARABIC LETTER HAMZA
- 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
- 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
- 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
- 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
- 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
- 0x0627: 0xC7, # ARABIC LETTER ALEF
- 0x0628: 0xC8, # ARABIC LETTER BEH
- 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
- 0x062A: 0xCA, # ARABIC LETTER TEH
- 0x062B: 0xCB, # ARABIC LETTER THEH
- 0x062C: 0xCC, # ARABIC LETTER JEEM
- 0x062D: 0xCD, # ARABIC LETTER HAH
- 0x062E: 0xCE, # ARABIC LETTER KHAH
- 0x062F: 0xCF, # ARABIC LETTER DAL
- 0x0630: 0xD0, # ARABIC LETTER THAL
- 0x0631: 0xD1, # ARABIC LETTER REH
- 0x0632: 0xD2, # ARABIC LETTER ZAIN
- 0x0633: 0xD3, # ARABIC LETTER SEEN
- 0x0634: 0xD4, # ARABIC LETTER SHEEN
- 0x0635: 0xD5, # ARABIC LETTER SAD
- 0x0636: 0xD6, # ARABIC LETTER DAD
- 0x0637: 0xD7, # ARABIC LETTER TAH
- 0x0638: 0xD8, # ARABIC LETTER ZAH
- 0x0639: 0xD9, # ARABIC LETTER AIN
- 0x063A: 0xDA, # ARABIC LETTER GHAIN
- 0x0640: 0xE0, # ARABIC TATWEEL
- 0x0641: 0xE1, # ARABIC LETTER FEH
- 0x0642: 0xE2, # ARABIC LETTER QAF
- 0x0643: 0xE3, # ARABIC LETTER KAF
- 0x0644: 0xE4, # ARABIC LETTER LAM
- 0x0645: 0xE5, # ARABIC LETTER MEEM
- 0x0646: 0xE6, # ARABIC LETTER NOON
- 0x0647: 0xE7, # ARABIC LETTER HEH
- 0x0648: 0xE8, # ARABIC LETTER WAW
- 0x0649: 0xE9, # ARABIC LETTER ALEF MAKSURA
- 0x064A: 0xEA, # ARABIC LETTER YEH
- 0x064B: 0xEB, # ARABIC FATHATAN
- 0x064C: 0xEC, # ARABIC DAMMATAN
- 0x064D: 0xED, # ARABIC KASRATAN
- 0x064E: 0xEE, # ARABIC FATHA
- 0x064F: 0xEF, # ARABIC DAMMA
- 0x0650: 0xF0, # ARABIC KASRA
- 0x0651: 0xF1, # ARABIC SHADDA
- 0x0652: 0xF2, # ARABIC SUKUN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x060C: 0xAC, # ARABIC COMMA
+ 0x061B: 0xBB, # ARABIC SEMICOLON
+ 0x061F: 0xBF, # ARABIC QUESTION MARK
+ 0x0621: 0xC1, # ARABIC LETTER HAMZA
+ 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
+ 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
+ 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
+ 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
+ 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
+ 0x0627: 0xC7, # ARABIC LETTER ALEF
+ 0x0628: 0xC8, # ARABIC LETTER BEH
+ 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
+ 0x062A: 0xCA, # ARABIC LETTER TEH
+ 0x062B: 0xCB, # ARABIC LETTER THEH
+ 0x062C: 0xCC, # ARABIC LETTER JEEM
+ 0x062D: 0xCD, # ARABIC LETTER HAH
+ 0x062E: 0xCE, # ARABIC LETTER KHAH
+ 0x062F: 0xCF, # ARABIC LETTER DAL
+ 0x0630: 0xD0, # ARABIC LETTER THAL
+ 0x0631: 0xD1, # ARABIC LETTER REH
+ 0x0632: 0xD2, # ARABIC LETTER ZAIN
+ 0x0633: 0xD3, # ARABIC LETTER SEEN
+ 0x0634: 0xD4, # ARABIC LETTER SHEEN
+ 0x0635: 0xD5, # ARABIC LETTER SAD
+ 0x0636: 0xD6, # ARABIC LETTER DAD
+ 0x0637: 0xD7, # ARABIC LETTER TAH
+ 0x0638: 0xD8, # ARABIC LETTER ZAH
+ 0x0639: 0xD9, # ARABIC LETTER AIN
+ 0x063A: 0xDA, # ARABIC LETTER GHAIN
+ 0x0640: 0xE0, # ARABIC TATWEEL
+ 0x0641: 0xE1, # ARABIC LETTER FEH
+ 0x0642: 0xE2, # ARABIC LETTER QAF
+ 0x0643: 0xE3, # ARABIC LETTER KAF
+ 0x0644: 0xE4, # ARABIC LETTER LAM
+ 0x0645: 0xE5, # ARABIC LETTER MEEM
+ 0x0646: 0xE6, # ARABIC LETTER NOON
+ 0x0647: 0xE7, # ARABIC LETTER HEH
+ 0x0648: 0xE8, # ARABIC LETTER WAW
+ 0x0649: 0xE9, # ARABIC LETTER ALEF MAKSURA
+ 0x064A: 0xEA, # ARABIC LETTER YEH
+ 0x064B: 0xEB, # ARABIC FATHATAN
+ 0x064C: 0xEC, # ARABIC DAMMATAN
+ 0x064D: 0xED, # ARABIC KASRATAN
+ 0x064E: 0xEE, # ARABIC FATHA
+ 0x064F: 0xEF, # ARABIC DAMMA
+ 0x0650: 0xF0, # ARABIC KASRA
+ 0x0651: 0xF1, # ARABIC SHADDA
+ 0x0652: 0xF2, # ARABIC SUKUN
}
-
diff --git a/Lib/encodings/iso8859_7.py b/Lib/encodings/iso8859_7.py
index c43af8c..54d0997 100644
--- a/Lib/encodings/iso8859_7.py
+++ b/Lib/encodings/iso8859_7.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,519 +32,518 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\u2018' # 0xA1 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xA2 -> RIGHT SINGLE QUOTATION MARK
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\u20ac' # 0xA4 -> EURO SIGN
- u'\u20af' # 0xA5 -> DRACHMA SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u037a' # 0xAA -> GREEK YPOGEGRAMMENI
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\u2018' # 0xA1 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xA2 -> RIGHT SINGLE QUOTATION MARK
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\u20ac' # 0xA4 -> EURO SIGN
+ u'\u20af' # 0xA5 -> DRACHMA SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u037a' # 0xAA -> GREEK YPOGEGRAMMENI
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
u'\ufffe'
- u'\u2015' # 0xAF -> HORIZONTAL BAR
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\u0384' # 0xB4 -> GREEK TONOS
- u'\u0385' # 0xB5 -> GREEK DIALYTIKA TONOS
- u'\u0386' # 0xB6 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\u0388' # 0xB8 -> GREEK CAPITAL LETTER EPSILON WITH TONOS
- u'\u0389' # 0xB9 -> GREEK CAPITAL LETTER ETA WITH TONOS
- u'\u038a' # 0xBA -> GREEK CAPITAL LETTER IOTA WITH TONOS
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u038c' # 0xBC -> GREEK CAPITAL LETTER OMICRON WITH TONOS
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\u038e' # 0xBE -> GREEK CAPITAL LETTER UPSILON WITH TONOS
- u'\u038f' # 0xBF -> GREEK CAPITAL LETTER OMEGA WITH TONOS
- u'\u0390' # 0xC0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- u'\u0391' # 0xC1 -> GREEK CAPITAL LETTER ALPHA
- u'\u0392' # 0xC2 -> GREEK CAPITAL LETTER BETA
- u'\u0393' # 0xC3 -> GREEK CAPITAL LETTER GAMMA
- u'\u0394' # 0xC4 -> GREEK CAPITAL LETTER DELTA
- u'\u0395' # 0xC5 -> GREEK CAPITAL LETTER EPSILON
- u'\u0396' # 0xC6 -> GREEK CAPITAL LETTER ZETA
- u'\u0397' # 0xC7 -> GREEK CAPITAL LETTER ETA
- u'\u0398' # 0xC8 -> GREEK CAPITAL LETTER THETA
- u'\u0399' # 0xC9 -> GREEK CAPITAL LETTER IOTA
- u'\u039a' # 0xCA -> GREEK CAPITAL LETTER KAPPA
- u'\u039b' # 0xCB -> GREEK CAPITAL LETTER LAMDA
- u'\u039c' # 0xCC -> GREEK CAPITAL LETTER MU
- u'\u039d' # 0xCD -> GREEK CAPITAL LETTER NU
- u'\u039e' # 0xCE -> GREEK CAPITAL LETTER XI
- u'\u039f' # 0xCF -> GREEK CAPITAL LETTER OMICRON
- u'\u03a0' # 0xD0 -> GREEK CAPITAL LETTER PI
- u'\u03a1' # 0xD1 -> GREEK CAPITAL LETTER RHO
+ u'\u2015' # 0xAF -> HORIZONTAL BAR
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\u0384' # 0xB4 -> GREEK TONOS
+ u'\u0385' # 0xB5 -> GREEK DIALYTIKA TONOS
+ u'\u0386' # 0xB6 -> GREEK CAPITAL LETTER ALPHA WITH TONOS
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\u0388' # 0xB8 -> GREEK CAPITAL LETTER EPSILON WITH TONOS
+ u'\u0389' # 0xB9 -> GREEK CAPITAL LETTER ETA WITH TONOS
+ u'\u038a' # 0xBA -> GREEK CAPITAL LETTER IOTA WITH TONOS
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u038c' # 0xBC -> GREEK CAPITAL LETTER OMICRON WITH TONOS
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\u038e' # 0xBE -> GREEK CAPITAL LETTER UPSILON WITH TONOS
+ u'\u038f' # 0xBF -> GREEK CAPITAL LETTER OMEGA WITH TONOS
+ u'\u0390' # 0xC0 -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ u'\u0391' # 0xC1 -> GREEK CAPITAL LETTER ALPHA
+ u'\u0392' # 0xC2 -> GREEK CAPITAL LETTER BETA
+ u'\u0393' # 0xC3 -> GREEK CAPITAL LETTER GAMMA
+ u'\u0394' # 0xC4 -> GREEK CAPITAL LETTER DELTA
+ u'\u0395' # 0xC5 -> GREEK CAPITAL LETTER EPSILON
+ u'\u0396' # 0xC6 -> GREEK CAPITAL LETTER ZETA
+ u'\u0397' # 0xC7 -> GREEK CAPITAL LETTER ETA
+ u'\u0398' # 0xC8 -> GREEK CAPITAL LETTER THETA
+ u'\u0399' # 0xC9 -> GREEK CAPITAL LETTER IOTA
+ u'\u039a' # 0xCA -> GREEK CAPITAL LETTER KAPPA
+ u'\u039b' # 0xCB -> GREEK CAPITAL LETTER LAMDA
+ u'\u039c' # 0xCC -> GREEK CAPITAL LETTER MU
+ u'\u039d' # 0xCD -> GREEK CAPITAL LETTER NU
+ u'\u039e' # 0xCE -> GREEK CAPITAL LETTER XI
+ u'\u039f' # 0xCF -> GREEK CAPITAL LETTER OMICRON
+ u'\u03a0' # 0xD0 -> GREEK CAPITAL LETTER PI
+ u'\u03a1' # 0xD1 -> GREEK CAPITAL LETTER RHO
u'\ufffe'
- u'\u03a3' # 0xD3 -> GREEK CAPITAL LETTER SIGMA
- u'\u03a4' # 0xD4 -> GREEK CAPITAL LETTER TAU
- u'\u03a5' # 0xD5 -> GREEK CAPITAL LETTER UPSILON
- u'\u03a6' # 0xD6 -> GREEK CAPITAL LETTER PHI
- u'\u03a7' # 0xD7 -> GREEK CAPITAL LETTER CHI
- u'\u03a8' # 0xD8 -> GREEK CAPITAL LETTER PSI
- u'\u03a9' # 0xD9 -> GREEK CAPITAL LETTER OMEGA
- u'\u03aa' # 0xDA -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- u'\u03ab' # 0xDB -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- u'\u03ac' # 0xDC -> GREEK SMALL LETTER ALPHA WITH TONOS
- u'\u03ad' # 0xDD -> GREEK SMALL LETTER EPSILON WITH TONOS
- u'\u03ae' # 0xDE -> GREEK SMALL LETTER ETA WITH TONOS
- u'\u03af' # 0xDF -> GREEK SMALL LETTER IOTA WITH TONOS
- u'\u03b0' # 0xE0 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- u'\u03b1' # 0xE1 -> GREEK SMALL LETTER ALPHA
- u'\u03b2' # 0xE2 -> GREEK SMALL LETTER BETA
- u'\u03b3' # 0xE3 -> GREEK SMALL LETTER GAMMA
- u'\u03b4' # 0xE4 -> GREEK SMALL LETTER DELTA
- u'\u03b5' # 0xE5 -> GREEK SMALL LETTER EPSILON
- u'\u03b6' # 0xE6 -> GREEK SMALL LETTER ZETA
- u'\u03b7' # 0xE7 -> GREEK SMALL LETTER ETA
- u'\u03b8' # 0xE8 -> GREEK SMALL LETTER THETA
- u'\u03b9' # 0xE9 -> GREEK SMALL LETTER IOTA
- u'\u03ba' # 0xEA -> GREEK SMALL LETTER KAPPA
- u'\u03bb' # 0xEB -> GREEK SMALL LETTER LAMDA
- u'\u03bc' # 0xEC -> GREEK SMALL LETTER MU
- u'\u03bd' # 0xED -> GREEK SMALL LETTER NU
- u'\u03be' # 0xEE -> GREEK SMALL LETTER XI
- u'\u03bf' # 0xEF -> GREEK SMALL LETTER OMICRON
- u'\u03c0' # 0xF0 -> GREEK SMALL LETTER PI
- u'\u03c1' # 0xF1 -> GREEK SMALL LETTER RHO
- u'\u03c2' # 0xF2 -> GREEK SMALL LETTER FINAL SIGMA
- u'\u03c3' # 0xF3 -> GREEK SMALL LETTER SIGMA
- u'\u03c4' # 0xF4 -> GREEK SMALL LETTER TAU
- u'\u03c5' # 0xF5 -> GREEK SMALL LETTER UPSILON
- u'\u03c6' # 0xF6 -> GREEK SMALL LETTER PHI
- u'\u03c7' # 0xF7 -> GREEK SMALL LETTER CHI
- u'\u03c8' # 0xF8 -> GREEK SMALL LETTER PSI
- u'\u03c9' # 0xF9 -> GREEK SMALL LETTER OMEGA
- u'\u03ca' # 0xFA -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
- u'\u03cb' # 0xFB -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- u'\u03cc' # 0xFC -> GREEK SMALL LETTER OMICRON WITH TONOS
- u'\u03cd' # 0xFD -> GREEK SMALL LETTER UPSILON WITH TONOS
- u'\u03ce' # 0xFE -> GREEK SMALL LETTER OMEGA WITH TONOS
+ u'\u03a3' # 0xD3 -> GREEK CAPITAL LETTER SIGMA
+ u'\u03a4' # 0xD4 -> GREEK CAPITAL LETTER TAU
+ u'\u03a5' # 0xD5 -> GREEK CAPITAL LETTER UPSILON
+ u'\u03a6' # 0xD6 -> GREEK CAPITAL LETTER PHI
+ u'\u03a7' # 0xD7 -> GREEK CAPITAL LETTER CHI
+ u'\u03a8' # 0xD8 -> GREEK CAPITAL LETTER PSI
+ u'\u03a9' # 0xD9 -> GREEK CAPITAL LETTER OMEGA
+ u'\u03aa' # 0xDA -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ u'\u03ab' # 0xDB -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ u'\u03ac' # 0xDC -> GREEK SMALL LETTER ALPHA WITH TONOS
+ u'\u03ad' # 0xDD -> GREEK SMALL LETTER EPSILON WITH TONOS
+ u'\u03ae' # 0xDE -> GREEK SMALL LETTER ETA WITH TONOS
+ u'\u03af' # 0xDF -> GREEK SMALL LETTER IOTA WITH TONOS
+ u'\u03b0' # 0xE0 -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ u'\u03b1' # 0xE1 -> GREEK SMALL LETTER ALPHA
+ u'\u03b2' # 0xE2 -> GREEK SMALL LETTER BETA
+ u'\u03b3' # 0xE3 -> GREEK SMALL LETTER GAMMA
+ u'\u03b4' # 0xE4 -> GREEK SMALL LETTER DELTA
+ u'\u03b5' # 0xE5 -> GREEK SMALL LETTER EPSILON
+ u'\u03b6' # 0xE6 -> GREEK SMALL LETTER ZETA
+ u'\u03b7' # 0xE7 -> GREEK SMALL LETTER ETA
+ u'\u03b8' # 0xE8 -> GREEK SMALL LETTER THETA
+ u'\u03b9' # 0xE9 -> GREEK SMALL LETTER IOTA
+ u'\u03ba' # 0xEA -> GREEK SMALL LETTER KAPPA
+ u'\u03bb' # 0xEB -> GREEK SMALL LETTER LAMDA
+ u'\u03bc' # 0xEC -> GREEK SMALL LETTER MU
+ u'\u03bd' # 0xED -> GREEK SMALL LETTER NU
+ u'\u03be' # 0xEE -> GREEK SMALL LETTER XI
+ u'\u03bf' # 0xEF -> GREEK SMALL LETTER OMICRON
+ u'\u03c0' # 0xF0 -> GREEK SMALL LETTER PI
+ u'\u03c1' # 0xF1 -> GREEK SMALL LETTER RHO
+ u'\u03c2' # 0xF2 -> GREEK SMALL LETTER FINAL SIGMA
+ u'\u03c3' # 0xF3 -> GREEK SMALL LETTER SIGMA
+ u'\u03c4' # 0xF4 -> GREEK SMALL LETTER TAU
+ u'\u03c5' # 0xF5 -> GREEK SMALL LETTER UPSILON
+ u'\u03c6' # 0xF6 -> GREEK SMALL LETTER PHI
+ u'\u03c7' # 0xF7 -> GREEK SMALL LETTER CHI
+ u'\u03c8' # 0xF8 -> GREEK SMALL LETTER PSI
+ u'\u03c9' # 0xF9 -> GREEK SMALL LETTER OMEGA
+ u'\u03ca' # 0xFA -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ u'\u03cb' # 0xFB -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ u'\u03cc' # 0xFC -> GREEK SMALL LETTER OMICRON WITH TONOS
+ u'\u03cd' # 0xFD -> GREEK SMALL LETTER UPSILON WITH TONOS
+ u'\u03ce' # 0xFE -> GREEK SMALL LETTER OMEGA WITH TONOS
u'\ufffe'
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x037A: 0xAA, # GREEK YPOGEGRAMMENI
- 0x0384: 0xB4, # GREEK TONOS
- 0x0385: 0xB5, # GREEK DIALYTIKA TONOS
- 0x0386: 0xB6, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0388: 0xB8, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x0389: 0xB9, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x038A: 0xBA, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x038C: 0xBC, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x038E: 0xBE, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x038F: 0xBF, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0390: 0xC0, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x0391: 0xC1, # GREEK CAPITAL LETTER ALPHA
- 0x0392: 0xC2, # GREEK CAPITAL LETTER BETA
- 0x0393: 0xC3, # GREEK CAPITAL LETTER GAMMA
- 0x0394: 0xC4, # GREEK CAPITAL LETTER DELTA
- 0x0395: 0xC5, # GREEK CAPITAL LETTER EPSILON
- 0x0396: 0xC6, # GREEK CAPITAL LETTER ZETA
- 0x0397: 0xC7, # GREEK CAPITAL LETTER ETA
- 0x0398: 0xC8, # GREEK CAPITAL LETTER THETA
- 0x0399: 0xC9, # GREEK CAPITAL LETTER IOTA
- 0x039A: 0xCA, # GREEK CAPITAL LETTER KAPPA
- 0x039B: 0xCB, # GREEK CAPITAL LETTER LAMDA
- 0x039C: 0xCC, # GREEK CAPITAL LETTER MU
- 0x039D: 0xCD, # GREEK CAPITAL LETTER NU
- 0x039E: 0xCE, # GREEK CAPITAL LETTER XI
- 0x039F: 0xCF, # GREEK CAPITAL LETTER OMICRON
- 0x03A0: 0xD0, # GREEK CAPITAL LETTER PI
- 0x03A1: 0xD1, # GREEK CAPITAL LETTER RHO
- 0x03A3: 0xD3, # GREEK CAPITAL LETTER SIGMA
- 0x03A4: 0xD4, # GREEK CAPITAL LETTER TAU
- 0x03A5: 0xD5, # GREEK CAPITAL LETTER UPSILON
- 0x03A6: 0xD6, # GREEK CAPITAL LETTER PHI
- 0x03A7: 0xD7, # GREEK CAPITAL LETTER CHI
- 0x03A8: 0xD8, # GREEK CAPITAL LETTER PSI
- 0x03A9: 0xD9, # GREEK CAPITAL LETTER OMEGA
- 0x03AA: 0xDA, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x03AB: 0xDB, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x03AC: 0xDC, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x03AD: 0xDD, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x03AE: 0xDE, # GREEK SMALL LETTER ETA WITH TONOS
- 0x03AF: 0xDF, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x03B0: 0xE0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- 0x03B1: 0xE1, # GREEK SMALL LETTER ALPHA
- 0x03B2: 0xE2, # GREEK SMALL LETTER BETA
- 0x03B3: 0xE3, # GREEK SMALL LETTER GAMMA
- 0x03B4: 0xE4, # GREEK SMALL LETTER DELTA
- 0x03B5: 0xE5, # GREEK SMALL LETTER EPSILON
- 0x03B6: 0xE6, # GREEK SMALL LETTER ZETA
- 0x03B7: 0xE7, # GREEK SMALL LETTER ETA
- 0x03B8: 0xE8, # GREEK SMALL LETTER THETA
- 0x03B9: 0xE9, # GREEK SMALL LETTER IOTA
- 0x03BA: 0xEA, # GREEK SMALL LETTER KAPPA
- 0x03BB: 0xEB, # GREEK SMALL LETTER LAMDA
- 0x03BC: 0xEC, # GREEK SMALL LETTER MU
- 0x03BD: 0xED, # GREEK SMALL LETTER NU
- 0x03BE: 0xEE, # GREEK SMALL LETTER XI
- 0x03BF: 0xEF, # GREEK SMALL LETTER OMICRON
- 0x03C0: 0xF0, # GREEK SMALL LETTER PI
- 0x03C1: 0xF1, # GREEK SMALL LETTER RHO
- 0x03C2: 0xF2, # GREEK SMALL LETTER FINAL SIGMA
- 0x03C3: 0xF3, # GREEK SMALL LETTER SIGMA
- 0x03C4: 0xF4, # GREEK SMALL LETTER TAU
- 0x03C5: 0xF5, # GREEK SMALL LETTER UPSILON
- 0x03C6: 0xF6, # GREEK SMALL LETTER PHI
- 0x03C7: 0xF7, # GREEK SMALL LETTER CHI
- 0x03C8: 0xF8, # GREEK SMALL LETTER PSI
- 0x03C9: 0xF9, # GREEK SMALL LETTER OMEGA
- 0x03CA: 0xFA, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x03CB: 0xFB, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x03CC: 0xFC, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x03CD: 0xFD, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x03CE: 0xFE, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x2015: 0xAF, # HORIZONTAL BAR
- 0x2018: 0xA1, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xA2, # RIGHT SINGLE QUOTATION MARK
- 0x20AC: 0xA4, # EURO SIGN
- 0x20AF: 0xA5, # DRACHMA SIGN
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x037A: 0xAA, # GREEK YPOGEGRAMMENI
+ 0x0384: 0xB4, # GREEK TONOS
+ 0x0385: 0xB5, # GREEK DIALYTIKA TONOS
+ 0x0386: 0xB6, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0388: 0xB8, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x0389: 0xB9, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x038A: 0xBA, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x038C: 0xBC, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x038E: 0xBE, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x038F: 0xBF, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0390: 0xC0, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ 0x0391: 0xC1, # GREEK CAPITAL LETTER ALPHA
+ 0x0392: 0xC2, # GREEK CAPITAL LETTER BETA
+ 0x0393: 0xC3, # GREEK CAPITAL LETTER GAMMA
+ 0x0394: 0xC4, # GREEK CAPITAL LETTER DELTA
+ 0x0395: 0xC5, # GREEK CAPITAL LETTER EPSILON
+ 0x0396: 0xC6, # GREEK CAPITAL LETTER ZETA
+ 0x0397: 0xC7, # GREEK CAPITAL LETTER ETA
+ 0x0398: 0xC8, # GREEK CAPITAL LETTER THETA
+ 0x0399: 0xC9, # GREEK CAPITAL LETTER IOTA
+ 0x039A: 0xCA, # GREEK CAPITAL LETTER KAPPA
+ 0x039B: 0xCB, # GREEK CAPITAL LETTER LAMDA
+ 0x039C: 0xCC, # GREEK CAPITAL LETTER MU
+ 0x039D: 0xCD, # GREEK CAPITAL LETTER NU
+ 0x039E: 0xCE, # GREEK CAPITAL LETTER XI
+ 0x039F: 0xCF, # GREEK CAPITAL LETTER OMICRON
+ 0x03A0: 0xD0, # GREEK CAPITAL LETTER PI
+ 0x03A1: 0xD1, # GREEK CAPITAL LETTER RHO
+ 0x03A3: 0xD3, # GREEK CAPITAL LETTER SIGMA
+ 0x03A4: 0xD4, # GREEK CAPITAL LETTER TAU
+ 0x03A5: 0xD5, # GREEK CAPITAL LETTER UPSILON
+ 0x03A6: 0xD6, # GREEK CAPITAL LETTER PHI
+ 0x03A7: 0xD7, # GREEK CAPITAL LETTER CHI
+ 0x03A8: 0xD8, # GREEK CAPITAL LETTER PSI
+ 0x03A9: 0xD9, # GREEK CAPITAL LETTER OMEGA
+ 0x03AA: 0xDA, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x03AB: 0xDB, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x03AC: 0xDC, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x03AD: 0xDD, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x03AE: 0xDE, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x03AF: 0xDF, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x03B0: 0xE0, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x03B1: 0xE1, # GREEK SMALL LETTER ALPHA
+ 0x03B2: 0xE2, # GREEK SMALL LETTER BETA
+ 0x03B3: 0xE3, # GREEK SMALL LETTER GAMMA
+ 0x03B4: 0xE4, # GREEK SMALL LETTER DELTA
+ 0x03B5: 0xE5, # GREEK SMALL LETTER EPSILON
+ 0x03B6: 0xE6, # GREEK SMALL LETTER ZETA
+ 0x03B7: 0xE7, # GREEK SMALL LETTER ETA
+ 0x03B8: 0xE8, # GREEK SMALL LETTER THETA
+ 0x03B9: 0xE9, # GREEK SMALL LETTER IOTA
+ 0x03BA: 0xEA, # GREEK SMALL LETTER KAPPA
+ 0x03BB: 0xEB, # GREEK SMALL LETTER LAMDA
+ 0x03BC: 0xEC, # GREEK SMALL LETTER MU
+ 0x03BD: 0xED, # GREEK SMALL LETTER NU
+ 0x03BE: 0xEE, # GREEK SMALL LETTER XI
+ 0x03BF: 0xEF, # GREEK SMALL LETTER OMICRON
+ 0x03C0: 0xF0, # GREEK SMALL LETTER PI
+ 0x03C1: 0xF1, # GREEK SMALL LETTER RHO
+ 0x03C2: 0xF2, # GREEK SMALL LETTER FINAL SIGMA
+ 0x03C3: 0xF3, # GREEK SMALL LETTER SIGMA
+ 0x03C4: 0xF4, # GREEK SMALL LETTER TAU
+ 0x03C5: 0xF5, # GREEK SMALL LETTER UPSILON
+ 0x03C6: 0xF6, # GREEK SMALL LETTER PHI
+ 0x03C7: 0xF7, # GREEK SMALL LETTER CHI
+ 0x03C8: 0xF8, # GREEK SMALL LETTER PSI
+ 0x03C9: 0xF9, # GREEK SMALL LETTER OMEGA
+ 0x03CA: 0xFA, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x03CB: 0xFB, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x03CC: 0xFC, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x03CD: 0xFD, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x03CE: 0xFE, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x2015: 0xAF, # HORIZONTAL BAR
+ 0x2018: 0xA1, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xA2, # RIGHT SINGLE QUOTATION MARK
+ 0x20AC: 0xA4, # EURO SIGN
+ 0x20AF: 0xA5, # DRACHMA SIGN
}
-
diff --git a/Lib/encodings/iso8859_8.py b/Lib/encodings/iso8859_8.py
index 259daea..24ba1bb 100644
--- a/Lib/encodings/iso8859_8.py
+++ b/Lib/encodings/iso8859_8.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,215 +32,215 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\ufffe'
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xd7' # 0xAA -> MULTIPLICATION SIGN
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xf7' # 0xBA -> DIVISION SIGN
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
- u'\ufffe'
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\ufffe'
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xd7' # 0xAA -> MULTIPLICATION SIGN
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xf7' # 0xBA -> DIVISION SIGN
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
+ u'\ufffe'
u'\ufffe'
u'\ufffe'
u'\ufffe'
@@ -255,263 +255,262 @@ decoding_table = (
u'\ufffe'
u'\ufffe'
u'\ufffe'
- u'\u2017' # 0xDF -> DOUBLE LOW LINE
- u'\u05d0' # 0xE0 -> HEBREW LETTER ALEF
- u'\u05d1' # 0xE1 -> HEBREW LETTER BET
- u'\u05d2' # 0xE2 -> HEBREW LETTER GIMEL
- u'\u05d3' # 0xE3 -> HEBREW LETTER DALET
- u'\u05d4' # 0xE4 -> HEBREW LETTER HE
- u'\u05d5' # 0xE5 -> HEBREW LETTER VAV
- u'\u05d6' # 0xE6 -> HEBREW LETTER ZAYIN
- u'\u05d7' # 0xE7 -> HEBREW LETTER HET
- u'\u05d8' # 0xE8 -> HEBREW LETTER TET
- u'\u05d9' # 0xE9 -> HEBREW LETTER YOD
- u'\u05da' # 0xEA -> HEBREW LETTER FINAL KAF
- u'\u05db' # 0xEB -> HEBREW LETTER KAF
- u'\u05dc' # 0xEC -> HEBREW LETTER LAMED
- u'\u05dd' # 0xED -> HEBREW LETTER FINAL MEM
- u'\u05de' # 0xEE -> HEBREW LETTER MEM
- u'\u05df' # 0xEF -> HEBREW LETTER FINAL NUN
- u'\u05e0' # 0xF0 -> HEBREW LETTER NUN
- u'\u05e1' # 0xF1 -> HEBREW LETTER SAMEKH
- u'\u05e2' # 0xF2 -> HEBREW LETTER AYIN
- u'\u05e3' # 0xF3 -> HEBREW LETTER FINAL PE
- u'\u05e4' # 0xF4 -> HEBREW LETTER PE
- u'\u05e5' # 0xF5 -> HEBREW LETTER FINAL TSADI
- u'\u05e6' # 0xF6 -> HEBREW LETTER TSADI
- u'\u05e7' # 0xF7 -> HEBREW LETTER QOF
- u'\u05e8' # 0xF8 -> HEBREW LETTER RESH
- u'\u05e9' # 0xF9 -> HEBREW LETTER SHIN
- u'\u05ea' # 0xFA -> HEBREW LETTER TAV
+ u'\u2017' # 0xDF -> DOUBLE LOW LINE
+ u'\u05d0' # 0xE0 -> HEBREW LETTER ALEF
+ u'\u05d1' # 0xE1 -> HEBREW LETTER BET
+ u'\u05d2' # 0xE2 -> HEBREW LETTER GIMEL
+ u'\u05d3' # 0xE3 -> HEBREW LETTER DALET
+ u'\u05d4' # 0xE4 -> HEBREW LETTER HE
+ u'\u05d5' # 0xE5 -> HEBREW LETTER VAV
+ u'\u05d6' # 0xE6 -> HEBREW LETTER ZAYIN
+ u'\u05d7' # 0xE7 -> HEBREW LETTER HET
+ u'\u05d8' # 0xE8 -> HEBREW LETTER TET
+ u'\u05d9' # 0xE9 -> HEBREW LETTER YOD
+ u'\u05da' # 0xEA -> HEBREW LETTER FINAL KAF
+ u'\u05db' # 0xEB -> HEBREW LETTER KAF
+ u'\u05dc' # 0xEC -> HEBREW LETTER LAMED
+ u'\u05dd' # 0xED -> HEBREW LETTER FINAL MEM
+ u'\u05de' # 0xEE -> HEBREW LETTER MEM
+ u'\u05df' # 0xEF -> HEBREW LETTER FINAL NUN
+ u'\u05e0' # 0xF0 -> HEBREW LETTER NUN
+ u'\u05e1' # 0xF1 -> HEBREW LETTER SAMEKH
+ u'\u05e2' # 0xF2 -> HEBREW LETTER AYIN
+ u'\u05e3' # 0xF3 -> HEBREW LETTER FINAL PE
+ u'\u05e4' # 0xF4 -> HEBREW LETTER PE
+ u'\u05e5' # 0xF5 -> HEBREW LETTER FINAL TSADI
+ u'\u05e6' # 0xF6 -> HEBREW LETTER TSADI
+ u'\u05e7' # 0xF7 -> HEBREW LETTER QOF
+ u'\u05e8' # 0xF8 -> HEBREW LETTER RESH
+ u'\u05e9' # 0xF9 -> HEBREW LETTER SHIN
+ u'\u05ea' # 0xFA -> HEBREW LETTER TAV
u'\ufffe'
u'\ufffe'
- u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK
- u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK
+ u'\u200e' # 0xFD -> LEFT-TO-RIGHT MARK
+ u'\u200f' # 0xFE -> RIGHT-TO-LEFT MARK
u'\ufffe'
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00D7: 0xAA, # MULTIPLICATION SIGN
- 0x00F7: 0xBA, # DIVISION SIGN
- 0x05D0: 0xE0, # HEBREW LETTER ALEF
- 0x05D1: 0xE1, # HEBREW LETTER BET
- 0x05D2: 0xE2, # HEBREW LETTER GIMEL
- 0x05D3: 0xE3, # HEBREW LETTER DALET
- 0x05D4: 0xE4, # HEBREW LETTER HE
- 0x05D5: 0xE5, # HEBREW LETTER VAV
- 0x05D6: 0xE6, # HEBREW LETTER ZAYIN
- 0x05D7: 0xE7, # HEBREW LETTER HET
- 0x05D8: 0xE8, # HEBREW LETTER TET
- 0x05D9: 0xE9, # HEBREW LETTER YOD
- 0x05DA: 0xEA, # HEBREW LETTER FINAL KAF
- 0x05DB: 0xEB, # HEBREW LETTER KAF
- 0x05DC: 0xEC, # HEBREW LETTER LAMED
- 0x05DD: 0xED, # HEBREW LETTER FINAL MEM
- 0x05DE: 0xEE, # HEBREW LETTER MEM
- 0x05DF: 0xEF, # HEBREW LETTER FINAL NUN
- 0x05E0: 0xF0, # HEBREW LETTER NUN
- 0x05E1: 0xF1, # HEBREW LETTER SAMEKH
- 0x05E2: 0xF2, # HEBREW LETTER AYIN
- 0x05E3: 0xF3, # HEBREW LETTER FINAL PE
- 0x05E4: 0xF4, # HEBREW LETTER PE
- 0x05E5: 0xF5, # HEBREW LETTER FINAL TSADI
- 0x05E6: 0xF6, # HEBREW LETTER TSADI
- 0x05E7: 0xF7, # HEBREW LETTER QOF
- 0x05E8: 0xF8, # HEBREW LETTER RESH
- 0x05E9: 0xF9, # HEBREW LETTER SHIN
- 0x05EA: 0xFA, # HEBREW LETTER TAV
- 0x200E: 0xFD, # LEFT-TO-RIGHT MARK
- 0x200F: 0xFE, # RIGHT-TO-LEFT MARK
- 0x2017: 0xDF, # DOUBLE LOW LINE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00D7: 0xAA, # MULTIPLICATION SIGN
+ 0x00F7: 0xBA, # DIVISION SIGN
+ 0x05D0: 0xE0, # HEBREW LETTER ALEF
+ 0x05D1: 0xE1, # HEBREW LETTER BET
+ 0x05D2: 0xE2, # HEBREW LETTER GIMEL
+ 0x05D3: 0xE3, # HEBREW LETTER DALET
+ 0x05D4: 0xE4, # HEBREW LETTER HE
+ 0x05D5: 0xE5, # HEBREW LETTER VAV
+ 0x05D6: 0xE6, # HEBREW LETTER ZAYIN
+ 0x05D7: 0xE7, # HEBREW LETTER HET
+ 0x05D8: 0xE8, # HEBREW LETTER TET
+ 0x05D9: 0xE9, # HEBREW LETTER YOD
+ 0x05DA: 0xEA, # HEBREW LETTER FINAL KAF
+ 0x05DB: 0xEB, # HEBREW LETTER KAF
+ 0x05DC: 0xEC, # HEBREW LETTER LAMED
+ 0x05DD: 0xED, # HEBREW LETTER FINAL MEM
+ 0x05DE: 0xEE, # HEBREW LETTER MEM
+ 0x05DF: 0xEF, # HEBREW LETTER FINAL NUN
+ 0x05E0: 0xF0, # HEBREW LETTER NUN
+ 0x05E1: 0xF1, # HEBREW LETTER SAMEKH
+ 0x05E2: 0xF2, # HEBREW LETTER AYIN
+ 0x05E3: 0xF3, # HEBREW LETTER FINAL PE
+ 0x05E4: 0xF4, # HEBREW LETTER PE
+ 0x05E5: 0xF5, # HEBREW LETTER FINAL TSADI
+ 0x05E6: 0xF6, # HEBREW LETTER TSADI
+ 0x05E7: 0xF7, # HEBREW LETTER QOF
+ 0x05E8: 0xF8, # HEBREW LETTER RESH
+ 0x05E9: 0xF9, # HEBREW LETTER SHIN
+ 0x05EA: 0xFA, # HEBREW LETTER TAV
+ 0x200E: 0xFD, # LEFT-TO-RIGHT MARK
+ 0x200F: 0xFE, # RIGHT-TO-LEFT MARK
+ 0x2017: 0xDF, # DOUBLE LOW LINE
}
-
diff --git a/Lib/encodings/iso8859_9.py b/Lib/encodings/iso8859_9.py
index 0e32834..940d92b 100644
--- a/Lib/encodings/iso8859_9.py
+++ b/Lib/encodings/iso8859_9.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
- u'\xa0' # 0xA0 -> NO-BREAK SPACE
- u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa4' # 0xA4 -> CURRENCY SIGN
- u'\xa5' # 0xA5 -> YEN SIGN
- u'\xa6' # 0xA6 -> BROKEN BAR
- u'\xa7' # 0xA7 -> SECTION SIGN
- u'\xa8' # 0xA8 -> DIAERESIS
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
- u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xac' # 0xAC -> NOT SIGN
- u'\xad' # 0xAD -> SOFT HYPHEN
- u'\xae' # 0xAE -> REGISTERED SIGN
- u'\xaf' # 0xAF -> MACRON
- u'\xb0' # 0xB0 -> DEGREE SIGN
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
- u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
- u'\xb4' # 0xB4 -> ACUTE ACCENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\xb6' # 0xB6 -> PILCROW SIGN
- u'\xb7' # 0xB7 -> MIDDLE DOT
- u'\xb8' # 0xB8 -> CEDILLA
- u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
- u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
- u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
- u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
- u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
- u'\xbf' # 0xBF -> INVERTED QUESTION MARK
- u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
- u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\u011e' # 0xD0 -> LATIN CAPITAL LETTER G WITH BREVE
- u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
- u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
- u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
- u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u0130' # 0xDD -> LATIN CAPITAL LETTER I WITH DOT ABOVE
- u'\u015e' # 0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
- u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
- u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
- u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
- u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
- u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
- u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
- u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u011f' # 0xF0 -> LATIN SMALL LETTER G WITH BREVE
- u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
- u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0xF7 -> DIVISION SIGN
- u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
- u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
- u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u0131' # 0xFD -> LATIN SMALL LETTER DOTLESS I
- u'\u015f' # 0xFE -> LATIN SMALL LETTER S WITH CEDILLA
- u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
+ u'\xa0' # 0xA0 -> NO-BREAK SPACE
+ u'\xa1' # 0xA1 -> INVERTED EXCLAMATION MARK
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa4' # 0xA4 -> CURRENCY SIGN
+ u'\xa5' # 0xA5 -> YEN SIGN
+ u'\xa6' # 0xA6 -> BROKEN BAR
+ u'\xa7' # 0xA7 -> SECTION SIGN
+ u'\xa8' # 0xA8 -> DIAERESIS
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\xaa' # 0xAA -> FEMININE ORDINAL INDICATOR
+ u'\xab' # 0xAB -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xac' # 0xAC -> NOT SIGN
+ u'\xad' # 0xAD -> SOFT HYPHEN
+ u'\xae' # 0xAE -> REGISTERED SIGN
+ u'\xaf' # 0xAF -> MACRON
+ u'\xb0' # 0xB0 -> DEGREE SIGN
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\xb2' # 0xB2 -> SUPERSCRIPT TWO
+ u'\xb3' # 0xB3 -> SUPERSCRIPT THREE
+ u'\xb4' # 0xB4 -> ACUTE ACCENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\xb6' # 0xB6 -> PILCROW SIGN
+ u'\xb7' # 0xB7 -> MIDDLE DOT
+ u'\xb8' # 0xB8 -> CEDILLA
+ u'\xb9' # 0xB9 -> SUPERSCRIPT ONE
+ u'\xba' # 0xBA -> MASCULINE ORDINAL INDICATOR
+ u'\xbb' # 0xBB -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbc' # 0xBC -> VULGAR FRACTION ONE QUARTER
+ u'\xbd' # 0xBD -> VULGAR FRACTION ONE HALF
+ u'\xbe' # 0xBE -> VULGAR FRACTION THREE QUARTERS
+ u'\xbf' # 0xBF -> INVERTED QUESTION MARK
+ u'\xc0' # 0xC0 -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc1' # 0xC1 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xc2' # 0xC2 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xc3' # 0xC3 -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xc4' # 0xC4 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0xC5 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc6' # 0xC6 -> LATIN CAPITAL LETTER AE
+ u'\xc7' # 0xC7 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc8' # 0xC8 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xc9' # 0xC9 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xca' # 0xCA -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xcb' # 0xCB -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xcc' # 0xCC -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xcd' # 0xCD -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xCE -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xCF -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\u011e' # 0xD0 -> LATIN CAPITAL LETTER G WITH BREVE
+ u'\xd1' # 0xD1 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd2' # 0xD2 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xd3' # 0xD3 -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xD4 -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\xd5' # 0xD5 -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\xd6' # 0xD6 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xd7' # 0xD7 -> MULTIPLICATION SIGN
+ u'\xd8' # 0xD8 -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\xd9' # 0xD9 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\xda' # 0xDA -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xDB -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xdc' # 0xDC -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u0130' # 0xDD -> LATIN CAPITAL LETTER I WITH DOT ABOVE
+ u'\u015e' # 0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\xdf' # 0xDF -> LATIN SMALL LETTER SHARP S
+ u'\xe0' # 0xE0 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe1' # 0xE1 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe2' # 0xE2 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe3' # 0xE3 -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe4' # 0xE4 -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe5' # 0xE5 -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe6' # 0xE6 -> LATIN SMALL LETTER AE
+ u'\xe7' # 0xE7 -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe8' # 0xE8 -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xe9' # 0xE9 -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xea' # 0xEA -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0xEB -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xec' # 0xEC -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xed' # 0xED -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xee' # 0xEE -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0xEF -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u011f' # 0xF0 -> LATIN SMALL LETTER G WITH BREVE
+ u'\xf1' # 0xF1 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf2' # 0xF2 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf3' # 0xF3 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf4' # 0xF4 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf5' # 0xF5 -> LATIN SMALL LETTER O WITH TILDE
+ u'\xf6' # 0xF6 -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0xF7 -> DIVISION SIGN
+ u'\xf8' # 0xF8 -> LATIN SMALL LETTER O WITH STROKE
+ u'\xf9' # 0xF9 -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfa' # 0xFA -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xfb' # 0xFB -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0xFC -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u0131' # 0xFD -> LATIN SMALL LETTER DOTLESS I
+ u'\u015f' # 0xFE -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\xff' # 0xFF -> LATIN SMALL LETTER Y WITH DIAERESIS
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x00A0: 0xA0, # NO-BREAK SPACE
- 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A4: 0xA4, # CURRENCY SIGN
- 0x00A5: 0xA5, # YEN SIGN
- 0x00A6: 0xA6, # BROKEN BAR
- 0x00A7: 0xA7, # SECTION SIGN
- 0x00A8: 0xA8, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xAC, # NOT SIGN
- 0x00AD: 0xAD, # SOFT HYPHEN
- 0x00AE: 0xAE, # REGISTERED SIGN
- 0x00AF: 0xAF, # MACRON
- 0x00B0: 0xB0, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0xB2, # SUPERSCRIPT TWO
- 0x00B3: 0xB3, # SUPERSCRIPT THREE
- 0x00B4: 0xB4, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xB6, # PILCROW SIGN
- 0x00B7: 0xB7, # MIDDLE DOT
- 0x00B8: 0xB8, # CEDILLA
- 0x00B9: 0xB9, # SUPERSCRIPT ONE
- 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
- 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
- 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
- 0x00BF: 0xBF, # INVERTED QUESTION MARK
- 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
- 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D7: 0xD7, # MULTIPLICATION SIGN
- 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xE6, # LATIN SMALL LETTER AE
- 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xF7, # DIVISION SIGN
- 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x011E: 0xD0, # LATIN CAPITAL LETTER G WITH BREVE
- 0x011F: 0xF0, # LATIN SMALL LETTER G WITH BREVE
- 0x0130: 0xDD, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0131: 0xFD, # LATIN SMALL LETTER DOTLESS I
- 0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0xFE, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x00A0: 0xA0, # NO-BREAK SPACE
+ 0x00A1: 0xA1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A4: 0xA4, # CURRENCY SIGN
+ 0x00A5: 0xA5, # YEN SIGN
+ 0x00A6: 0xA6, # BROKEN BAR
+ 0x00A7: 0xA7, # SECTION SIGN
+ 0x00A8: 0xA8, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xAA, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xAB, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xAC, # NOT SIGN
+ 0x00AD: 0xAD, # SOFT HYPHEN
+ 0x00AE: 0xAE, # REGISTERED SIGN
+ 0x00AF: 0xAF, # MACRON
+ 0x00B0: 0xB0, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0xB2, # SUPERSCRIPT TWO
+ 0x00B3: 0xB3, # SUPERSCRIPT THREE
+ 0x00B4: 0xB4, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xB6, # PILCROW SIGN
+ 0x00B7: 0xB7, # MIDDLE DOT
+ 0x00B8: 0xB8, # CEDILLA
+ 0x00B9: 0xB9, # SUPERSCRIPT ONE
+ 0x00BA: 0xBA, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xBB, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BC: 0xBC, # VULGAR FRACTION ONE QUARTER
+ 0x00BD: 0xBD, # VULGAR FRACTION ONE HALF
+ 0x00BE: 0xBE, # VULGAR FRACTION THREE QUARTERS
+ 0x00BF: 0xBF, # INVERTED QUESTION MARK
+ 0x00C0: 0xC0, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xC1, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xC2, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xC3, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0xC4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0xC5, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xC6, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0xC7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xC8, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0xC9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xCA, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xCB, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xCC, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xCD, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xCE, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xCF, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0xD1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xD2, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xD3, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xD4, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xD5, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0xD6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D7: 0xD7, # MULTIPLICATION SIGN
+ 0x00D8: 0xD8, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xD9, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xDA, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xDB, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0xDC, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xDF, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0xE0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0xE1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0xE2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0xE3, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0xE4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0xE5, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xE6, # LATIN SMALL LETTER AE
+ 0x00E7: 0xE7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0xE8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0xE9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0xEA, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0xEB, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0xEC, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0xED, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0xEE, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0xEF, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0xF1, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0xF2, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0xF3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0xF4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0xF5, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0xF6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xF7, # DIVISION SIGN
+ 0x00F8: 0xF8, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0xF9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0xFA, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0xFB, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0xFC, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x011E: 0xD0, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x011F: 0xF0, # LATIN SMALL LETTER G WITH BREVE
+ 0x0130: 0xDD, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0131: 0xFD, # LATIN SMALL LETTER DOTLESS I
+ 0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0xFE, # LATIN SMALL LETTER S WITH CEDILLA
}
-
diff --git a/Lib/encodings/koi8_r.py b/Lib/encodings/koi8_r.py
index 34341c6..f2723de 100644
--- a/Lib/encodings/koi8_r.py
+++ b/Lib/encodings/koi8_r.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u2500' # 0x80 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u2502' # 0x81 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u250c' # 0x82 -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2510' # 0x83 -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x84 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2518' # 0x85 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u251c' # 0x86 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2524' # 0x87 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u252c' # 0x88 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u2534' # 0x89 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u253c' # 0x8A -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u2580' # 0x8B -> UPPER HALF BLOCK
- u'\u2584' # 0x8C -> LOWER HALF BLOCK
- u'\u2588' # 0x8D -> FULL BLOCK
- u'\u258c' # 0x8E -> LEFT HALF BLOCK
- u'\u2590' # 0x8F -> RIGHT HALF BLOCK
- u'\u2591' # 0x90 -> LIGHT SHADE
- u'\u2592' # 0x91 -> MEDIUM SHADE
- u'\u2593' # 0x92 -> DARK SHADE
- u'\u2320' # 0x93 -> TOP HALF INTEGRAL
- u'\u25a0' # 0x94 -> BLACK SQUARE
- u'\u2219' # 0x95 -> BULLET OPERATOR
- u'\u221a' # 0x96 -> SQUARE ROOT
- u'\u2248' # 0x97 -> ALMOST EQUAL TO
- u'\u2264' # 0x98 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0x99 -> GREATER-THAN OR EQUAL TO
- u'\xa0' # 0x9A -> NO-BREAK SPACE
- u'\u2321' # 0x9B -> BOTTOM HALF INTEGRAL
- u'\xb0' # 0x9C -> DEGREE SIGN
- u'\xb2' # 0x9D -> SUPERSCRIPT TWO
- u'\xb7' # 0x9E -> MIDDLE DOT
- u'\xf7' # 0x9F -> DIVISION SIGN
- u'\u2550' # 0xA0 -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u2551' # 0xA1 -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2552' # 0xA2 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u0451' # 0xA3 -> CYRILLIC SMALL LETTER IO
- u'\u2553' # 0xA4 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- u'\u2554' # 0xA5 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u2555' # 0xA6 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- u'\u2556' # 0xA7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- u'\u2557' # 0xA8 -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u2558' # 0xA9 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2559' # 0xAA -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0xAB -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u255b' # 0xAC -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u255c' # 0xAD -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- u'\u255d' # 0xAE -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255e' # 0xAF -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0xB0 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u2560' # 0xB1 -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2561' # 0xB2 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u0401' # 0xB3 -> CYRILLIC CAPITAL LETTER IO
- u'\u2562' # 0xB4 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- u'\u2563' # 0xB5 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u2564' # 0xB6 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- u'\u2565' # 0xB7 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- u'\u2566' # 0xB8 -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2567' # 0xB9 -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0xBA -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2569' # 0xBB -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u256a' # 0xBC -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u256b' # 0xBD -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- u'\u256c' # 0xBE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa9' # 0xBF -> COPYRIGHT SIGN
- u'\u044e' # 0xC0 -> CYRILLIC SMALL LETTER YU
- u'\u0430' # 0xC1 -> CYRILLIC SMALL LETTER A
- u'\u0431' # 0xC2 -> CYRILLIC SMALL LETTER BE
- u'\u0446' # 0xC3 -> CYRILLIC SMALL LETTER TSE
- u'\u0434' # 0xC4 -> CYRILLIC SMALL LETTER DE
- u'\u0435' # 0xC5 -> CYRILLIC SMALL LETTER IE
- u'\u0444' # 0xC6 -> CYRILLIC SMALL LETTER EF
- u'\u0433' # 0xC7 -> CYRILLIC SMALL LETTER GHE
- u'\u0445' # 0xC8 -> CYRILLIC SMALL LETTER HA
- u'\u0438' # 0xC9 -> CYRILLIC SMALL LETTER I
- u'\u0439' # 0xCA -> CYRILLIC SMALL LETTER SHORT I
- u'\u043a' # 0xCB -> CYRILLIC SMALL LETTER KA
- u'\u043b' # 0xCC -> CYRILLIC SMALL LETTER EL
- u'\u043c' # 0xCD -> CYRILLIC SMALL LETTER EM
- u'\u043d' # 0xCE -> CYRILLIC SMALL LETTER EN
- u'\u043e' # 0xCF -> CYRILLIC SMALL LETTER O
- u'\u043f' # 0xD0 -> CYRILLIC SMALL LETTER PE
- u'\u044f' # 0xD1 -> CYRILLIC SMALL LETTER YA
- u'\u0440' # 0xD2 -> CYRILLIC SMALL LETTER ER
- u'\u0441' # 0xD3 -> CYRILLIC SMALL LETTER ES
- u'\u0442' # 0xD4 -> CYRILLIC SMALL LETTER TE
- u'\u0443' # 0xD5 -> CYRILLIC SMALL LETTER U
- u'\u0436' # 0xD6 -> CYRILLIC SMALL LETTER ZHE
- u'\u0432' # 0xD7 -> CYRILLIC SMALL LETTER VE
- u'\u044c' # 0xD8 -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u044b' # 0xD9 -> CYRILLIC SMALL LETTER YERU
- u'\u0437' # 0xDA -> CYRILLIC SMALL LETTER ZE
- u'\u0448' # 0xDB -> CYRILLIC SMALL LETTER SHA
- u'\u044d' # 0xDC -> CYRILLIC SMALL LETTER E
- u'\u0449' # 0xDD -> CYRILLIC SMALL LETTER SHCHA
- u'\u0447' # 0xDE -> CYRILLIC SMALL LETTER CHE
- u'\u044a' # 0xDF -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u042e' # 0xE0 -> CYRILLIC CAPITAL LETTER YU
- u'\u0410' # 0xE1 -> CYRILLIC CAPITAL LETTER A
- u'\u0411' # 0xE2 -> CYRILLIC CAPITAL LETTER BE
- u'\u0426' # 0xE3 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0414' # 0xE4 -> CYRILLIC CAPITAL LETTER DE
- u'\u0415' # 0xE5 -> CYRILLIC CAPITAL LETTER IE
- u'\u0424' # 0xE6 -> CYRILLIC CAPITAL LETTER EF
- u'\u0413' # 0xE7 -> CYRILLIC CAPITAL LETTER GHE
- u'\u0425' # 0xE8 -> CYRILLIC CAPITAL LETTER HA
- u'\u0418' # 0xE9 -> CYRILLIC CAPITAL LETTER I
- u'\u0419' # 0xEA -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u041a' # 0xEB -> CYRILLIC CAPITAL LETTER KA
- u'\u041b' # 0xEC -> CYRILLIC CAPITAL LETTER EL
- u'\u041c' # 0xED -> CYRILLIC CAPITAL LETTER EM
- u'\u041d' # 0xEE -> CYRILLIC CAPITAL LETTER EN
- u'\u041e' # 0xEF -> CYRILLIC CAPITAL LETTER O
- u'\u041f' # 0xF0 -> CYRILLIC CAPITAL LETTER PE
- u'\u042f' # 0xF1 -> CYRILLIC CAPITAL LETTER YA
- u'\u0420' # 0xF2 -> CYRILLIC CAPITAL LETTER ER
- u'\u0421' # 0xF3 -> CYRILLIC CAPITAL LETTER ES
- u'\u0422' # 0xF4 -> CYRILLIC CAPITAL LETTER TE
- u'\u0423' # 0xF5 -> CYRILLIC CAPITAL LETTER U
- u'\u0416' # 0xF6 -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0412' # 0xF7 -> CYRILLIC CAPITAL LETTER VE
- u'\u042c' # 0xF8 -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u042b' # 0xF9 -> CYRILLIC CAPITAL LETTER YERU
- u'\u0417' # 0xFA -> CYRILLIC CAPITAL LETTER ZE
- u'\u0428' # 0xFB -> CYRILLIC CAPITAL LETTER SHA
- u'\u042d' # 0xFC -> CYRILLIC CAPITAL LETTER E
- u'\u0429' # 0xFD -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u0427' # 0xFE -> CYRILLIC CAPITAL LETTER CHE
- u'\u042a' # 0xFF -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u2500' # 0x80 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u2502' # 0x81 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u250c' # 0x82 -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2510' # 0x83 -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x84 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2518' # 0x85 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u251c' # 0x86 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2524' # 0x87 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u252c' # 0x88 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u2534' # 0x89 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u253c' # 0x8A -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u2580' # 0x8B -> UPPER HALF BLOCK
+ u'\u2584' # 0x8C -> LOWER HALF BLOCK
+ u'\u2588' # 0x8D -> FULL BLOCK
+ u'\u258c' # 0x8E -> LEFT HALF BLOCK
+ u'\u2590' # 0x8F -> RIGHT HALF BLOCK
+ u'\u2591' # 0x90 -> LIGHT SHADE
+ u'\u2592' # 0x91 -> MEDIUM SHADE
+ u'\u2593' # 0x92 -> DARK SHADE
+ u'\u2320' # 0x93 -> TOP HALF INTEGRAL
+ u'\u25a0' # 0x94 -> BLACK SQUARE
+ u'\u2219' # 0x95 -> BULLET OPERATOR
+ u'\u221a' # 0x96 -> SQUARE ROOT
+ u'\u2248' # 0x97 -> ALMOST EQUAL TO
+ u'\u2264' # 0x98 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0x99 -> GREATER-THAN OR EQUAL TO
+ u'\xa0' # 0x9A -> NO-BREAK SPACE
+ u'\u2321' # 0x9B -> BOTTOM HALF INTEGRAL
+ u'\xb0' # 0x9C -> DEGREE SIGN
+ u'\xb2' # 0x9D -> SUPERSCRIPT TWO
+ u'\xb7' # 0x9E -> MIDDLE DOT
+ u'\xf7' # 0x9F -> DIVISION SIGN
+ u'\u2550' # 0xA0 -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u2551' # 0xA1 -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2552' # 0xA2 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u0451' # 0xA3 -> CYRILLIC SMALL LETTER IO
+ u'\u2553' # 0xA4 -> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ u'\u2554' # 0xA5 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u2555' # 0xA6 -> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ u'\u2556' # 0xA7 -> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ u'\u2557' # 0xA8 -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u2558' # 0xA9 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2559' # 0xAA -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0xAB -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u255b' # 0xAC -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u255c' # 0xAD -> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ u'\u255d' # 0xAE -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255e' # 0xAF -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0xB0 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u2560' # 0xB1 -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2561' # 0xB2 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u0401' # 0xB3 -> CYRILLIC CAPITAL LETTER IO
+ u'\u2562' # 0xB4 -> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ u'\u2563' # 0xB5 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u2564' # 0xB6 -> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ u'\u2565' # 0xB7 -> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ u'\u2566' # 0xB8 -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2567' # 0xB9 -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0xBA -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2569' # 0xBB -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u256a' # 0xBC -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u256b' # 0xBD -> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ u'\u256c' # 0xBE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa9' # 0xBF -> COPYRIGHT SIGN
+ u'\u044e' # 0xC0 -> CYRILLIC SMALL LETTER YU
+ u'\u0430' # 0xC1 -> CYRILLIC SMALL LETTER A
+ u'\u0431' # 0xC2 -> CYRILLIC SMALL LETTER BE
+ u'\u0446' # 0xC3 -> CYRILLIC SMALL LETTER TSE
+ u'\u0434' # 0xC4 -> CYRILLIC SMALL LETTER DE
+ u'\u0435' # 0xC5 -> CYRILLIC SMALL LETTER IE
+ u'\u0444' # 0xC6 -> CYRILLIC SMALL LETTER EF
+ u'\u0433' # 0xC7 -> CYRILLIC SMALL LETTER GHE
+ u'\u0445' # 0xC8 -> CYRILLIC SMALL LETTER HA
+ u'\u0438' # 0xC9 -> CYRILLIC SMALL LETTER I
+ u'\u0439' # 0xCA -> CYRILLIC SMALL LETTER SHORT I
+ u'\u043a' # 0xCB -> CYRILLIC SMALL LETTER KA
+ u'\u043b' # 0xCC -> CYRILLIC SMALL LETTER EL
+ u'\u043c' # 0xCD -> CYRILLIC SMALL LETTER EM
+ u'\u043d' # 0xCE -> CYRILLIC SMALL LETTER EN
+ u'\u043e' # 0xCF -> CYRILLIC SMALL LETTER O
+ u'\u043f' # 0xD0 -> CYRILLIC SMALL LETTER PE
+ u'\u044f' # 0xD1 -> CYRILLIC SMALL LETTER YA
+ u'\u0440' # 0xD2 -> CYRILLIC SMALL LETTER ER
+ u'\u0441' # 0xD3 -> CYRILLIC SMALL LETTER ES
+ u'\u0442' # 0xD4 -> CYRILLIC SMALL LETTER TE
+ u'\u0443' # 0xD5 -> CYRILLIC SMALL LETTER U
+ u'\u0436' # 0xD6 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0432' # 0xD7 -> CYRILLIC SMALL LETTER VE
+ u'\u044c' # 0xD8 -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u044b' # 0xD9 -> CYRILLIC SMALL LETTER YERU
+ u'\u0437' # 0xDA -> CYRILLIC SMALL LETTER ZE
+ u'\u0448' # 0xDB -> CYRILLIC SMALL LETTER SHA
+ u'\u044d' # 0xDC -> CYRILLIC SMALL LETTER E
+ u'\u0449' # 0xDD -> CYRILLIC SMALL LETTER SHCHA
+ u'\u0447' # 0xDE -> CYRILLIC SMALL LETTER CHE
+ u'\u044a' # 0xDF -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u042e' # 0xE0 -> CYRILLIC CAPITAL LETTER YU
+ u'\u0410' # 0xE1 -> CYRILLIC CAPITAL LETTER A
+ u'\u0411' # 0xE2 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0426' # 0xE3 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0414' # 0xE4 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0415' # 0xE5 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0424' # 0xE6 -> CYRILLIC CAPITAL LETTER EF
+ u'\u0413' # 0xE7 -> CYRILLIC CAPITAL LETTER GHE
+ u'\u0425' # 0xE8 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0418' # 0xE9 -> CYRILLIC CAPITAL LETTER I
+ u'\u0419' # 0xEA -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u041a' # 0xEB -> CYRILLIC CAPITAL LETTER KA
+ u'\u041b' # 0xEC -> CYRILLIC CAPITAL LETTER EL
+ u'\u041c' # 0xED -> CYRILLIC CAPITAL LETTER EM
+ u'\u041d' # 0xEE -> CYRILLIC CAPITAL LETTER EN
+ u'\u041e' # 0xEF -> CYRILLIC CAPITAL LETTER O
+ u'\u041f' # 0xF0 -> CYRILLIC CAPITAL LETTER PE
+ u'\u042f' # 0xF1 -> CYRILLIC CAPITAL LETTER YA
+ u'\u0420' # 0xF2 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0421' # 0xF3 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0422' # 0xF4 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0423' # 0xF5 -> CYRILLIC CAPITAL LETTER U
+ u'\u0416' # 0xF6 -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0412' # 0xF7 -> CYRILLIC CAPITAL LETTER VE
+ u'\u042c' # 0xF8 -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u042b' # 0xF9 -> CYRILLIC CAPITAL LETTER YERU
+ u'\u0417' # 0xFA -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0428' # 0xFB -> CYRILLIC CAPITAL LETTER SHA
+ u'\u042d' # 0xFC -> CYRILLIC CAPITAL LETTER E
+ u'\u0429' # 0xFD -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u0427' # 0xFE -> CYRILLIC CAPITAL LETTER CHE
+ u'\u042a' # 0xFF -> CYRILLIC CAPITAL LETTER HARD SIGN
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0x9A, # NO-BREAK SPACE
- 0x00A9: 0xBF, # COPYRIGHT SIGN
- 0x00B0: 0x9C, # DEGREE SIGN
- 0x00B2: 0x9D, # SUPERSCRIPT TWO
- 0x00B7: 0x9E, # MIDDLE DOT
- 0x00F7: 0x9F, # DIVISION SIGN
- 0x0401: 0xB3, # CYRILLIC CAPITAL LETTER IO
- 0x0410: 0xE1, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0xE2, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0xF7, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0xE7, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0xE4, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0xE5, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0xF6, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0xFA, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0xE9, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0xEA, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041A: 0xEB, # CYRILLIC CAPITAL LETTER KA
- 0x041B: 0xEC, # CYRILLIC CAPITAL LETTER EL
- 0x041C: 0xED, # CYRILLIC CAPITAL LETTER EM
- 0x041D: 0xEE, # CYRILLIC CAPITAL LETTER EN
- 0x041E: 0xEF, # CYRILLIC CAPITAL LETTER O
- 0x041F: 0xF0, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0xF2, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0xF3, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0xF4, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0xF5, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0xE6, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0xE8, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0xE3, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0xFE, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0xFB, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0xFD, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042A: 0xFF, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042B: 0xF9, # CYRILLIC CAPITAL LETTER YERU
- 0x042C: 0xF8, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042D: 0xFC, # CYRILLIC CAPITAL LETTER E
- 0x042E: 0xE0, # CYRILLIC CAPITAL LETTER YU
- 0x042F: 0xF1, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0xC1, # CYRILLIC SMALL LETTER A
- 0x0431: 0xC2, # CYRILLIC SMALL LETTER BE
- 0x0432: 0xD7, # CYRILLIC SMALL LETTER VE
- 0x0433: 0xC7, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0xC4, # CYRILLIC SMALL LETTER DE
- 0x0435: 0xC5, # CYRILLIC SMALL LETTER IE
- 0x0436: 0xD6, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0xDA, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0xC9, # CYRILLIC SMALL LETTER I
- 0x0439: 0xCA, # CYRILLIC SMALL LETTER SHORT I
- 0x043A: 0xCB, # CYRILLIC SMALL LETTER KA
- 0x043B: 0xCC, # CYRILLIC SMALL LETTER EL
- 0x043C: 0xCD, # CYRILLIC SMALL LETTER EM
- 0x043D: 0xCE, # CYRILLIC SMALL LETTER EN
- 0x043E: 0xCF, # CYRILLIC SMALL LETTER O
- 0x043F: 0xD0, # CYRILLIC SMALL LETTER PE
- 0x0440: 0xD2, # CYRILLIC SMALL LETTER ER
- 0x0441: 0xD3, # CYRILLIC SMALL LETTER ES
- 0x0442: 0xD4, # CYRILLIC SMALL LETTER TE
- 0x0443: 0xD5, # CYRILLIC SMALL LETTER U
- 0x0444: 0xC6, # CYRILLIC SMALL LETTER EF
- 0x0445: 0xC8, # CYRILLIC SMALL LETTER HA
- 0x0446: 0xC3, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0xDE, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0xDB, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0xDD, # CYRILLIC SMALL LETTER SHCHA
- 0x044A: 0xDF, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044B: 0xD9, # CYRILLIC SMALL LETTER YERU
- 0x044C: 0xD8, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044D: 0xDC, # CYRILLIC SMALL LETTER E
- 0x044E: 0xC0, # CYRILLIC SMALL LETTER YU
- 0x044F: 0xD1, # CYRILLIC SMALL LETTER YA
- 0x0451: 0xA3, # CYRILLIC SMALL LETTER IO
- 0x2219: 0x95, # BULLET OPERATOR
- 0x221A: 0x96, # SQUARE ROOT
- 0x2248: 0x97, # ALMOST EQUAL TO
- 0x2264: 0x98, # LESS-THAN OR EQUAL TO
- 0x2265: 0x99, # GREATER-THAN OR EQUAL TO
- 0x2320: 0x93, # TOP HALF INTEGRAL
- 0x2321: 0x9B, # BOTTOM HALF INTEGRAL
- 0x2500: 0x80, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x81, # BOX DRAWINGS LIGHT VERTICAL
- 0x250C: 0x82, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x83, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x84, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x85, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251C: 0x86, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x87, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252C: 0x88, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x89, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253C: 0x8A, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0xA0, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0xA1, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0xA2, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2553: 0xA4, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- 0x2554: 0xA5, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2555: 0xA6, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- 0x2556: 0xA7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- 0x2557: 0xA8, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0xA9, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0xAA, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255A: 0xAB, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255B: 0xAC, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255C: 0xAD, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- 0x255D: 0xAE, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255E: 0xAF, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255F: 0xB0, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0xB1, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0xB2, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2562: 0xB4, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- 0x2563: 0xB5, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2564: 0xB6, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- 0x2565: 0xB7, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- 0x2566: 0xB8, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0xB9, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0xBA, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0xBB, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256A: 0xBC, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256B: 0xBD, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- 0x256C: 0xBE, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x8B, # UPPER HALF BLOCK
- 0x2584: 0x8C, # LOWER HALF BLOCK
- 0x2588: 0x8D, # FULL BLOCK
- 0x258C: 0x8E, # LEFT HALF BLOCK
- 0x2590: 0x8F, # RIGHT HALF BLOCK
- 0x2591: 0x90, # LIGHT SHADE
- 0x2592: 0x91, # MEDIUM SHADE
- 0x2593: 0x92, # DARK SHADE
- 0x25A0: 0x94, # BLACK SQUARE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0x9A, # NO-BREAK SPACE
+ 0x00A9: 0xBF, # COPYRIGHT SIGN
+ 0x00B0: 0x9C, # DEGREE SIGN
+ 0x00B2: 0x9D, # SUPERSCRIPT TWO
+ 0x00B7: 0x9E, # MIDDLE DOT
+ 0x00F7: 0x9F, # DIVISION SIGN
+ 0x0401: 0xB3, # CYRILLIC CAPITAL LETTER IO
+ 0x0410: 0xE1, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0xE2, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0xF7, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0xE7, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0xE4, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0xE5, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0xF6, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0xFA, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0xE9, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0xEA, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041A: 0xEB, # CYRILLIC CAPITAL LETTER KA
+ 0x041B: 0xEC, # CYRILLIC CAPITAL LETTER EL
+ 0x041C: 0xED, # CYRILLIC CAPITAL LETTER EM
+ 0x041D: 0xEE, # CYRILLIC CAPITAL LETTER EN
+ 0x041E: 0xEF, # CYRILLIC CAPITAL LETTER O
+ 0x041F: 0xF0, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0xF2, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0xF3, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0xF4, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0xF5, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0xE6, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0xE8, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0xE3, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0xFE, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0xFB, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0xFD, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042A: 0xFF, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042B: 0xF9, # CYRILLIC CAPITAL LETTER YERU
+ 0x042C: 0xF8, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042D: 0xFC, # CYRILLIC CAPITAL LETTER E
+ 0x042E: 0xE0, # CYRILLIC CAPITAL LETTER YU
+ 0x042F: 0xF1, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0xC1, # CYRILLIC SMALL LETTER A
+ 0x0431: 0xC2, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0xD7, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0xC7, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0xC4, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0xC5, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0xD6, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0xDA, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0xC9, # CYRILLIC SMALL LETTER I
+ 0x0439: 0xCA, # CYRILLIC SMALL LETTER SHORT I
+ 0x043A: 0xCB, # CYRILLIC SMALL LETTER KA
+ 0x043B: 0xCC, # CYRILLIC SMALL LETTER EL
+ 0x043C: 0xCD, # CYRILLIC SMALL LETTER EM
+ 0x043D: 0xCE, # CYRILLIC SMALL LETTER EN
+ 0x043E: 0xCF, # CYRILLIC SMALL LETTER O
+ 0x043F: 0xD0, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0xD2, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0xD3, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0xD4, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0xD5, # CYRILLIC SMALL LETTER U
+ 0x0444: 0xC6, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0xC8, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0xC3, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0xDE, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0xDB, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0xDD, # CYRILLIC SMALL LETTER SHCHA
+ 0x044A: 0xDF, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044B: 0xD9, # CYRILLIC SMALL LETTER YERU
+ 0x044C: 0xD8, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044D: 0xDC, # CYRILLIC SMALL LETTER E
+ 0x044E: 0xC0, # CYRILLIC SMALL LETTER YU
+ 0x044F: 0xD1, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0xA3, # CYRILLIC SMALL LETTER IO
+ 0x2219: 0x95, # BULLET OPERATOR
+ 0x221A: 0x96, # SQUARE ROOT
+ 0x2248: 0x97, # ALMOST EQUAL TO
+ 0x2264: 0x98, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x99, # GREATER-THAN OR EQUAL TO
+ 0x2320: 0x93, # TOP HALF INTEGRAL
+ 0x2321: 0x9B, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x80, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x81, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250C: 0x82, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x83, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x84, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x85, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251C: 0x86, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x87, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252C: 0x88, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x89, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253C: 0x8A, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0xA0, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0xA1, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0xA2, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2553: 0xA4, # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ 0x2554: 0xA5, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2555: 0xA6, # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ 0x2556: 0xA7, # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ 0x2557: 0xA8, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0xA9, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0xAA, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255A: 0xAB, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255B: 0xAC, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255C: 0xAD, # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ 0x255D: 0xAE, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255E: 0xAF, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255F: 0xB0, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0xB1, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0xB2, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2562: 0xB4, # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ 0x2563: 0xB5, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2564: 0xB6, # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ 0x2565: 0xB7, # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ 0x2566: 0xB8, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0xB9, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0xBA, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0xBB, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256A: 0xBC, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256B: 0xBD, # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ 0x256C: 0xBE, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x8B, # UPPER HALF BLOCK
+ 0x2584: 0x8C, # LOWER HALF BLOCK
+ 0x2588: 0x8D, # FULL BLOCK
+ 0x258C: 0x8E, # LEFT HALF BLOCK
+ 0x2590: 0x8F, # RIGHT HALF BLOCK
+ 0x2591: 0x90, # LIGHT SHADE
+ 0x2592: 0x91, # MEDIUM SHADE
+ 0x2593: 0x92, # DARK SHADE
+ 0x25A0: 0x94, # BLACK SQUARE
}
-
diff --git a/Lib/encodings/koi8_u.py b/Lib/encodings/koi8_u.py
index a9a64f6..9bbcf7c 100644
--- a/Lib/encodings/koi8_u.py
+++ b/Lib/encodings/koi8_u.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\u2500' # 0x80 -> BOX DRAWINGS LIGHT HORIZONTAL
- u'\u2502' # 0x81 -> BOX DRAWINGS LIGHT VERTICAL
- u'\u250c' # 0x82 -> BOX DRAWINGS LIGHT DOWN AND RIGHT
- u'\u2510' # 0x83 -> BOX DRAWINGS LIGHT DOWN AND LEFT
- u'\u2514' # 0x84 -> BOX DRAWINGS LIGHT UP AND RIGHT
- u'\u2518' # 0x85 -> BOX DRAWINGS LIGHT UP AND LEFT
- u'\u251c' # 0x86 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- u'\u2524' # 0x87 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
- u'\u252c' # 0x88 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- u'\u2534' # 0x89 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
- u'\u253c' # 0x8A -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- u'\u2580' # 0x8B -> UPPER HALF BLOCK
- u'\u2584' # 0x8C -> LOWER HALF BLOCK
- u'\u2588' # 0x8D -> FULL BLOCK
- u'\u258c' # 0x8E -> LEFT HALF BLOCK
- u'\u2590' # 0x8F -> RIGHT HALF BLOCK
- u'\u2591' # 0x90 -> LIGHT SHADE
- u'\u2592' # 0x91 -> MEDIUM SHADE
- u'\u2593' # 0x92 -> DARK SHADE
- u'\u2320' # 0x93 -> TOP HALF INTEGRAL
- u'\u25a0' # 0x94 -> BLACK SQUARE
- u'\u2219' # 0x95 -> BULLET OPERATOR
- u'\u221a' # 0x96 -> SQUARE ROOT
- u'\u2248' # 0x97 -> ALMOST EQUAL TO
- u'\u2264' # 0x98 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0x99 -> GREATER-THAN OR EQUAL TO
- u'\xa0' # 0x9A -> NO-BREAK SPACE
- u'\u2321' # 0x9B -> BOTTOM HALF INTEGRAL
- u'\xb0' # 0x9C -> DEGREE SIGN
- u'\xb2' # 0x9D -> SUPERSCRIPT TWO
- u'\xb7' # 0x9E -> MIDDLE DOT
- u'\xf7' # 0x9F -> DIVISION SIGN
- u'\u2550' # 0xA0 -> BOX DRAWINGS DOUBLE HORIZONTAL
- u'\u2551' # 0xA1 -> BOX DRAWINGS DOUBLE VERTICAL
- u'\u2552' # 0xA2 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- u'\u0451' # 0xA3 -> CYRILLIC SMALL LETTER IO
- u'\u0454' # 0xA4 -> CYRILLIC SMALL LETTER UKRAINIAN IE
- u'\u2554' # 0xA5 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
- u'\u0456' # 0xA6 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0457' # 0xA7 -> CYRILLIC SMALL LETTER YI (UKRAINIAN)
- u'\u2557' # 0xA8 -> BOX DRAWINGS DOUBLE DOWN AND LEFT
- u'\u2558' # 0xA9 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- u'\u2559' # 0xAA -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- u'\u255a' # 0xAB -> BOX DRAWINGS DOUBLE UP AND RIGHT
- u'\u255b' # 0xAC -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- u'\u0491' # 0xAD -> CYRILLIC SMALL LETTER UKRAINIAN GHE WITH UPTURN
- u'\u255d' # 0xAE -> BOX DRAWINGS DOUBLE UP AND LEFT
- u'\u255e' # 0xAF -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- u'\u255f' # 0xB0 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- u'\u2560' # 0xB1 -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- u'\u2561' # 0xB2 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- u'\u0401' # 0xB3 -> CYRILLIC CAPITAL LETTER IO
- u'\u0404' # 0xB4 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
- u'\u2563' # 0xB5 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- u'\u0406' # 0xB6 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\u0407' # 0xB7 -> CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
- u'\u2566' # 0xB8 -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- u'\u2567' # 0xB9 -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- u'\u2568' # 0xBA -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- u'\u2569' # 0xBB -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- u'\u256a' # 0xBC -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- u'\u0490' # 0xBD -> CYRILLIC CAPITAL LETTER UKRAINIAN GHE WITH UPTURN
- u'\u256c' # 0xBE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- u'\xa9' # 0xBF -> COPYRIGHT SIGN
- u'\u044e' # 0xC0 -> CYRILLIC SMALL LETTER YU
- u'\u0430' # 0xC1 -> CYRILLIC SMALL LETTER A
- u'\u0431' # 0xC2 -> CYRILLIC SMALL LETTER BE
- u'\u0446' # 0xC3 -> CYRILLIC SMALL LETTER TSE
- u'\u0434' # 0xC4 -> CYRILLIC SMALL LETTER DE
- u'\u0435' # 0xC5 -> CYRILLIC SMALL LETTER IE
- u'\u0444' # 0xC6 -> CYRILLIC SMALL LETTER EF
- u'\u0433' # 0xC7 -> CYRILLIC SMALL LETTER GHE
- u'\u0445' # 0xC8 -> CYRILLIC SMALL LETTER HA
- u'\u0438' # 0xC9 -> CYRILLIC SMALL LETTER I
- u'\u0439' # 0xCA -> CYRILLIC SMALL LETTER SHORT I
- u'\u043a' # 0xCB -> CYRILLIC SMALL LETTER KA
- u'\u043b' # 0xCC -> CYRILLIC SMALL LETTER EL
- u'\u043c' # 0xCD -> CYRILLIC SMALL LETTER EM
- u'\u043d' # 0xCE -> CYRILLIC SMALL LETTER EN
- u'\u043e' # 0xCF -> CYRILLIC SMALL LETTER O
- u'\u043f' # 0xD0 -> CYRILLIC SMALL LETTER PE
- u'\u044f' # 0xD1 -> CYRILLIC SMALL LETTER YA
- u'\u0440' # 0xD2 -> CYRILLIC SMALL LETTER ER
- u'\u0441' # 0xD3 -> CYRILLIC SMALL LETTER ES
- u'\u0442' # 0xD4 -> CYRILLIC SMALL LETTER TE
- u'\u0443' # 0xD5 -> CYRILLIC SMALL LETTER U
- u'\u0436' # 0xD6 -> CYRILLIC SMALL LETTER ZHE
- u'\u0432' # 0xD7 -> CYRILLIC SMALL LETTER VE
- u'\u044c' # 0xD8 -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u044b' # 0xD9 -> CYRILLIC SMALL LETTER YERU
- u'\u0437' # 0xDA -> CYRILLIC SMALL LETTER ZE
- u'\u0448' # 0xDB -> CYRILLIC SMALL LETTER SHA
- u'\u044d' # 0xDC -> CYRILLIC SMALL LETTER E
- u'\u0449' # 0xDD -> CYRILLIC SMALL LETTER SHCHA
- u'\u0447' # 0xDE -> CYRILLIC SMALL LETTER CHE
- u'\u044a' # 0xDF -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u042e' # 0xE0 -> CYRILLIC CAPITAL LETTER YU
- u'\u0410' # 0xE1 -> CYRILLIC CAPITAL LETTER A
- u'\u0411' # 0xE2 -> CYRILLIC CAPITAL LETTER BE
- u'\u0426' # 0xE3 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0414' # 0xE4 -> CYRILLIC CAPITAL LETTER DE
- u'\u0415' # 0xE5 -> CYRILLIC CAPITAL LETTER IE
- u'\u0424' # 0xE6 -> CYRILLIC CAPITAL LETTER EF
- u'\u0413' # 0xE7 -> CYRILLIC CAPITAL LETTER GHE
- u'\u0425' # 0xE8 -> CYRILLIC CAPITAL LETTER HA
- u'\u0418' # 0xE9 -> CYRILLIC CAPITAL LETTER I
- u'\u0419' # 0xEA -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u041a' # 0xEB -> CYRILLIC CAPITAL LETTER KA
- u'\u041b' # 0xEC -> CYRILLIC CAPITAL LETTER EL
- u'\u041c' # 0xED -> CYRILLIC CAPITAL LETTER EM
- u'\u041d' # 0xEE -> CYRILLIC CAPITAL LETTER EN
- u'\u041e' # 0xEF -> CYRILLIC CAPITAL LETTER O
- u'\u041f' # 0xF0 -> CYRILLIC CAPITAL LETTER PE
- u'\u042f' # 0xF1 -> CYRILLIC CAPITAL LETTER YA
- u'\u0420' # 0xF2 -> CYRILLIC CAPITAL LETTER ER
- u'\u0421' # 0xF3 -> CYRILLIC CAPITAL LETTER ES
- u'\u0422' # 0xF4 -> CYRILLIC CAPITAL LETTER TE
- u'\u0423' # 0xF5 -> CYRILLIC CAPITAL LETTER U
- u'\u0416' # 0xF6 -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0412' # 0xF7 -> CYRILLIC CAPITAL LETTER VE
- u'\u042c' # 0xF8 -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u042b' # 0xF9 -> CYRILLIC CAPITAL LETTER YERU
- u'\u0417' # 0xFA -> CYRILLIC CAPITAL LETTER ZE
- u'\u0428' # 0xFB -> CYRILLIC CAPITAL LETTER SHA
- u'\u042d' # 0xFC -> CYRILLIC CAPITAL LETTER E
- u'\u0429' # 0xFD -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u0427' # 0xFE -> CYRILLIC CAPITAL LETTER CHE
- u'\u042a' # 0xFF -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\u2500' # 0x80 -> BOX DRAWINGS LIGHT HORIZONTAL
+ u'\u2502' # 0x81 -> BOX DRAWINGS LIGHT VERTICAL
+ u'\u250c' # 0x82 -> BOX DRAWINGS LIGHT DOWN AND RIGHT
+ u'\u2510' # 0x83 -> BOX DRAWINGS LIGHT DOWN AND LEFT
+ u'\u2514' # 0x84 -> BOX DRAWINGS LIGHT UP AND RIGHT
+ u'\u2518' # 0x85 -> BOX DRAWINGS LIGHT UP AND LEFT
+ u'\u251c' # 0x86 -> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ u'\u2524' # 0x87 -> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ u'\u252c' # 0x88 -> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ u'\u2534' # 0x89 -> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ u'\u253c' # 0x8A -> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ u'\u2580' # 0x8B -> UPPER HALF BLOCK
+ u'\u2584' # 0x8C -> LOWER HALF BLOCK
+ u'\u2588' # 0x8D -> FULL BLOCK
+ u'\u258c' # 0x8E -> LEFT HALF BLOCK
+ u'\u2590' # 0x8F -> RIGHT HALF BLOCK
+ u'\u2591' # 0x90 -> LIGHT SHADE
+ u'\u2592' # 0x91 -> MEDIUM SHADE
+ u'\u2593' # 0x92 -> DARK SHADE
+ u'\u2320' # 0x93 -> TOP HALF INTEGRAL
+ u'\u25a0' # 0x94 -> BLACK SQUARE
+ u'\u2219' # 0x95 -> BULLET OPERATOR
+ u'\u221a' # 0x96 -> SQUARE ROOT
+ u'\u2248' # 0x97 -> ALMOST EQUAL TO
+ u'\u2264' # 0x98 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0x99 -> GREATER-THAN OR EQUAL TO
+ u'\xa0' # 0x9A -> NO-BREAK SPACE
+ u'\u2321' # 0x9B -> BOTTOM HALF INTEGRAL
+ u'\xb0' # 0x9C -> DEGREE SIGN
+ u'\xb2' # 0x9D -> SUPERSCRIPT TWO
+ u'\xb7' # 0x9E -> MIDDLE DOT
+ u'\xf7' # 0x9F -> DIVISION SIGN
+ u'\u2550' # 0xA0 -> BOX DRAWINGS DOUBLE HORIZONTAL
+ u'\u2551' # 0xA1 -> BOX DRAWINGS DOUBLE VERTICAL
+ u'\u2552' # 0xA2 -> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ u'\u0451' # 0xA3 -> CYRILLIC SMALL LETTER IO
+ u'\u0454' # 0xA4 -> CYRILLIC SMALL LETTER UKRAINIAN IE
+ u'\u2554' # 0xA5 -> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ u'\u0456' # 0xA6 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0457' # 0xA7 -> CYRILLIC SMALL LETTER YI (UKRAINIAN)
+ u'\u2557' # 0xA8 -> BOX DRAWINGS DOUBLE DOWN AND LEFT
+ u'\u2558' # 0xA9 -> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ u'\u2559' # 0xAA -> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ u'\u255a' # 0xAB -> BOX DRAWINGS DOUBLE UP AND RIGHT
+ u'\u255b' # 0xAC -> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ u'\u0491' # 0xAD -> CYRILLIC SMALL LETTER UKRAINIAN GHE WITH UPTURN
+ u'\u255d' # 0xAE -> BOX DRAWINGS DOUBLE UP AND LEFT
+ u'\u255e' # 0xAF -> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ u'\u255f' # 0xB0 -> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ u'\u2560' # 0xB1 -> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ u'\u2561' # 0xB2 -> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ u'\u0401' # 0xB3 -> CYRILLIC CAPITAL LETTER IO
+ u'\u0404' # 0xB4 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ u'\u2563' # 0xB5 -> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ u'\u0406' # 0xB6 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\u0407' # 0xB7 -> CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
+ u'\u2566' # 0xB8 -> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ u'\u2567' # 0xB9 -> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ u'\u2568' # 0xBA -> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ u'\u2569' # 0xBB -> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ u'\u256a' # 0xBC -> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ u'\u0490' # 0xBD -> CYRILLIC CAPITAL LETTER UKRAINIAN GHE WITH UPTURN
+ u'\u256c' # 0xBE -> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ u'\xa9' # 0xBF -> COPYRIGHT SIGN
+ u'\u044e' # 0xC0 -> CYRILLIC SMALL LETTER YU
+ u'\u0430' # 0xC1 -> CYRILLIC SMALL LETTER A
+ u'\u0431' # 0xC2 -> CYRILLIC SMALL LETTER BE
+ u'\u0446' # 0xC3 -> CYRILLIC SMALL LETTER TSE
+ u'\u0434' # 0xC4 -> CYRILLIC SMALL LETTER DE
+ u'\u0435' # 0xC5 -> CYRILLIC SMALL LETTER IE
+ u'\u0444' # 0xC6 -> CYRILLIC SMALL LETTER EF
+ u'\u0433' # 0xC7 -> CYRILLIC SMALL LETTER GHE
+ u'\u0445' # 0xC8 -> CYRILLIC SMALL LETTER HA
+ u'\u0438' # 0xC9 -> CYRILLIC SMALL LETTER I
+ u'\u0439' # 0xCA -> CYRILLIC SMALL LETTER SHORT I
+ u'\u043a' # 0xCB -> CYRILLIC SMALL LETTER KA
+ u'\u043b' # 0xCC -> CYRILLIC SMALL LETTER EL
+ u'\u043c' # 0xCD -> CYRILLIC SMALL LETTER EM
+ u'\u043d' # 0xCE -> CYRILLIC SMALL LETTER EN
+ u'\u043e' # 0xCF -> CYRILLIC SMALL LETTER O
+ u'\u043f' # 0xD0 -> CYRILLIC SMALL LETTER PE
+ u'\u044f' # 0xD1 -> CYRILLIC SMALL LETTER YA
+ u'\u0440' # 0xD2 -> CYRILLIC SMALL LETTER ER
+ u'\u0441' # 0xD3 -> CYRILLIC SMALL LETTER ES
+ u'\u0442' # 0xD4 -> CYRILLIC SMALL LETTER TE
+ u'\u0443' # 0xD5 -> CYRILLIC SMALL LETTER U
+ u'\u0436' # 0xD6 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0432' # 0xD7 -> CYRILLIC SMALL LETTER VE
+ u'\u044c' # 0xD8 -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u044b' # 0xD9 -> CYRILLIC SMALL LETTER YERU
+ u'\u0437' # 0xDA -> CYRILLIC SMALL LETTER ZE
+ u'\u0448' # 0xDB -> CYRILLIC SMALL LETTER SHA
+ u'\u044d' # 0xDC -> CYRILLIC SMALL LETTER E
+ u'\u0449' # 0xDD -> CYRILLIC SMALL LETTER SHCHA
+ u'\u0447' # 0xDE -> CYRILLIC SMALL LETTER CHE
+ u'\u044a' # 0xDF -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u042e' # 0xE0 -> CYRILLIC CAPITAL LETTER YU
+ u'\u0410' # 0xE1 -> CYRILLIC CAPITAL LETTER A
+ u'\u0411' # 0xE2 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0426' # 0xE3 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0414' # 0xE4 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0415' # 0xE5 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0424' # 0xE6 -> CYRILLIC CAPITAL LETTER EF
+ u'\u0413' # 0xE7 -> CYRILLIC CAPITAL LETTER GHE
+ u'\u0425' # 0xE8 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0418' # 0xE9 -> CYRILLIC CAPITAL LETTER I
+ u'\u0419' # 0xEA -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u041a' # 0xEB -> CYRILLIC CAPITAL LETTER KA
+ u'\u041b' # 0xEC -> CYRILLIC CAPITAL LETTER EL
+ u'\u041c' # 0xED -> CYRILLIC CAPITAL LETTER EM
+ u'\u041d' # 0xEE -> CYRILLIC CAPITAL LETTER EN
+ u'\u041e' # 0xEF -> CYRILLIC CAPITAL LETTER O
+ u'\u041f' # 0xF0 -> CYRILLIC CAPITAL LETTER PE
+ u'\u042f' # 0xF1 -> CYRILLIC CAPITAL LETTER YA
+ u'\u0420' # 0xF2 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0421' # 0xF3 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0422' # 0xF4 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0423' # 0xF5 -> CYRILLIC CAPITAL LETTER U
+ u'\u0416' # 0xF6 -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0412' # 0xF7 -> CYRILLIC CAPITAL LETTER VE
+ u'\u042c' # 0xF8 -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u042b' # 0xF9 -> CYRILLIC CAPITAL LETTER YERU
+ u'\u0417' # 0xFA -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0428' # 0xFB -> CYRILLIC CAPITAL LETTER SHA
+ u'\u042d' # 0xFC -> CYRILLIC CAPITAL LETTER E
+ u'\u0429' # 0xFD -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u0427' # 0xFE -> CYRILLIC CAPITAL LETTER CHE
+ u'\u042a' # 0xFF -> CYRILLIC CAPITAL LETTER HARD SIGN
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x00A0: 0x9A, # NO-BREAK SPACE
- 0x00A9: 0xBF, # COPYRIGHT SIGN
- 0x00B0: 0x9C, # DEGREE SIGN
- 0x00B2: 0x9D, # SUPERSCRIPT TWO
- 0x00B7: 0x9E, # MIDDLE DOT
- 0x00F7: 0x9F, # DIVISION SIGN
- 0x0401: 0xB3, # CYRILLIC CAPITAL LETTER IO
- 0x0404: 0xB4, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0406: 0xB6, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0407: 0xB7, # CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
- 0x0410: 0xE1, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0xE2, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0xF7, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0xE7, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0xE4, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0xE5, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0xF6, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0xFA, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0xE9, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0xEA, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041A: 0xEB, # CYRILLIC CAPITAL LETTER KA
- 0x041B: 0xEC, # CYRILLIC CAPITAL LETTER EL
- 0x041C: 0xED, # CYRILLIC CAPITAL LETTER EM
- 0x041D: 0xEE, # CYRILLIC CAPITAL LETTER EN
- 0x041E: 0xEF, # CYRILLIC CAPITAL LETTER O
- 0x041F: 0xF0, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0xF2, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0xF3, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0xF4, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0xF5, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0xE6, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0xE8, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0xE3, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0xFE, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0xFB, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0xFD, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042A: 0xFF, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042B: 0xF9, # CYRILLIC CAPITAL LETTER YERU
- 0x042C: 0xF8, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042D: 0xFC, # CYRILLIC CAPITAL LETTER E
- 0x042E: 0xE0, # CYRILLIC CAPITAL LETTER YU
- 0x042F: 0xF1, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0xC1, # CYRILLIC SMALL LETTER A
- 0x0431: 0xC2, # CYRILLIC SMALL LETTER BE
- 0x0432: 0xD7, # CYRILLIC SMALL LETTER VE
- 0x0433: 0xC7, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0xC4, # CYRILLIC SMALL LETTER DE
- 0x0435: 0xC5, # CYRILLIC SMALL LETTER IE
- 0x0436: 0xD6, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0xDA, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0xC9, # CYRILLIC SMALL LETTER I
- 0x0439: 0xCA, # CYRILLIC SMALL LETTER SHORT I
- 0x043A: 0xCB, # CYRILLIC SMALL LETTER KA
- 0x043B: 0xCC, # CYRILLIC SMALL LETTER EL
- 0x043C: 0xCD, # CYRILLIC SMALL LETTER EM
- 0x043D: 0xCE, # CYRILLIC SMALL LETTER EN
- 0x043E: 0xCF, # CYRILLIC SMALL LETTER O
- 0x043F: 0xD0, # CYRILLIC SMALL LETTER PE
- 0x0440: 0xD2, # CYRILLIC SMALL LETTER ER
- 0x0441: 0xD3, # CYRILLIC SMALL LETTER ES
- 0x0442: 0xD4, # CYRILLIC SMALL LETTER TE
- 0x0443: 0xD5, # CYRILLIC SMALL LETTER U
- 0x0444: 0xC6, # CYRILLIC SMALL LETTER EF
- 0x0445: 0xC8, # CYRILLIC SMALL LETTER HA
- 0x0446: 0xC3, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0xDE, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0xDB, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0xDD, # CYRILLIC SMALL LETTER SHCHA
- 0x044A: 0xDF, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044B: 0xD9, # CYRILLIC SMALL LETTER YERU
- 0x044C: 0xD8, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044D: 0xDC, # CYRILLIC SMALL LETTER E
- 0x044E: 0xC0, # CYRILLIC SMALL LETTER YU
- 0x044F: 0xD1, # CYRILLIC SMALL LETTER YA
- 0x0451: 0xA3, # CYRILLIC SMALL LETTER IO
- 0x0454: 0xA4, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0456: 0xA6, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0457: 0xA7, # CYRILLIC SMALL LETTER YI (UKRAINIAN)
- 0x0490: 0xBD, # CYRILLIC CAPITAL LETTER UKRAINIAN GHE WITH UPTURN
- 0x0491: 0xAD, # CYRILLIC SMALL LETTER UKRAINIAN GHE WITH UPTURN
- 0x2219: 0x95, # BULLET OPERATOR
- 0x221A: 0x96, # SQUARE ROOT
- 0x2248: 0x97, # ALMOST EQUAL TO
- 0x2264: 0x98, # LESS-THAN OR EQUAL TO
- 0x2265: 0x99, # GREATER-THAN OR EQUAL TO
- 0x2320: 0x93, # TOP HALF INTEGRAL
- 0x2321: 0x9B, # BOTTOM HALF INTEGRAL
- 0x2500: 0x80, # BOX DRAWINGS LIGHT HORIZONTAL
- 0x2502: 0x81, # BOX DRAWINGS LIGHT VERTICAL
- 0x250C: 0x82, # BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x2510: 0x83, # BOX DRAWINGS LIGHT DOWN AND LEFT
- 0x2514: 0x84, # BOX DRAWINGS LIGHT UP AND RIGHT
- 0x2518: 0x85, # BOX DRAWINGS LIGHT UP AND LEFT
- 0x251C: 0x86, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x2524: 0x87, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x252C: 0x88, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- 0x2534: 0x89, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
- 0x253C: 0x8A, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x2550: 0xA0, # BOX DRAWINGS DOUBLE HORIZONTAL
- 0x2551: 0xA1, # BOX DRAWINGS DOUBLE VERTICAL
- 0x2552: 0xA2, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- 0x2554: 0xA5, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
- 0x2557: 0xA8, # BOX DRAWINGS DOUBLE DOWN AND LEFT
- 0x2558: 0xA9, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- 0x2559: 0xAA, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- 0x255A: 0xAB, # BOX DRAWINGS DOUBLE UP AND RIGHT
- 0x255B: 0xAC, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- 0x255D: 0xAE, # BOX DRAWINGS DOUBLE UP AND LEFT
- 0x255E: 0xAF, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- 0x255F: 0xB0, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- 0x2560: 0xB1, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- 0x2561: 0xB2, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- 0x2563: 0xB5, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- 0x2566: 0xB8, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- 0x2567: 0xB9, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- 0x2568: 0xBA, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- 0x2569: 0xBB, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- 0x256A: 0xBC, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- 0x256C: 0xBE, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- 0x2580: 0x8B, # UPPER HALF BLOCK
- 0x2584: 0x8C, # LOWER HALF BLOCK
- 0x2588: 0x8D, # FULL BLOCK
- 0x258C: 0x8E, # LEFT HALF BLOCK
- 0x2590: 0x8F, # RIGHT HALF BLOCK
- 0x2591: 0x90, # LIGHT SHADE
- 0x2592: 0x91, # MEDIUM SHADE
- 0x2593: 0x92, # DARK SHADE
- 0x25A0: 0x94, # BLACK SQUARE
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x00A0: 0x9A, # NO-BREAK SPACE
+ 0x00A9: 0xBF, # COPYRIGHT SIGN
+ 0x00B0: 0x9C, # DEGREE SIGN
+ 0x00B2: 0x9D, # SUPERSCRIPT TWO
+ 0x00B7: 0x9E, # MIDDLE DOT
+ 0x00F7: 0x9F, # DIVISION SIGN
+ 0x0401: 0xB3, # CYRILLIC CAPITAL LETTER IO
+ 0x0404: 0xB4, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0406: 0xB6, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0407: 0xB7, # CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
+ 0x0410: 0xE1, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0xE2, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0xF7, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0xE7, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0xE4, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0xE5, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0xF6, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0xFA, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0xE9, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0xEA, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041A: 0xEB, # CYRILLIC CAPITAL LETTER KA
+ 0x041B: 0xEC, # CYRILLIC CAPITAL LETTER EL
+ 0x041C: 0xED, # CYRILLIC CAPITAL LETTER EM
+ 0x041D: 0xEE, # CYRILLIC CAPITAL LETTER EN
+ 0x041E: 0xEF, # CYRILLIC CAPITAL LETTER O
+ 0x041F: 0xF0, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0xF2, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0xF3, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0xF4, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0xF5, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0xE6, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0xE8, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0xE3, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0xFE, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0xFB, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0xFD, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042A: 0xFF, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042B: 0xF9, # CYRILLIC CAPITAL LETTER YERU
+ 0x042C: 0xF8, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042D: 0xFC, # CYRILLIC CAPITAL LETTER E
+ 0x042E: 0xE0, # CYRILLIC CAPITAL LETTER YU
+ 0x042F: 0xF1, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0xC1, # CYRILLIC SMALL LETTER A
+ 0x0431: 0xC2, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0xD7, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0xC7, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0xC4, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0xC5, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0xD6, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0xDA, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0xC9, # CYRILLIC SMALL LETTER I
+ 0x0439: 0xCA, # CYRILLIC SMALL LETTER SHORT I
+ 0x043A: 0xCB, # CYRILLIC SMALL LETTER KA
+ 0x043B: 0xCC, # CYRILLIC SMALL LETTER EL
+ 0x043C: 0xCD, # CYRILLIC SMALL LETTER EM
+ 0x043D: 0xCE, # CYRILLIC SMALL LETTER EN
+ 0x043E: 0xCF, # CYRILLIC SMALL LETTER O
+ 0x043F: 0xD0, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0xD2, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0xD3, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0xD4, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0xD5, # CYRILLIC SMALL LETTER U
+ 0x0444: 0xC6, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0xC8, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0xC3, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0xDE, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0xDB, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0xDD, # CYRILLIC SMALL LETTER SHCHA
+ 0x044A: 0xDF, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044B: 0xD9, # CYRILLIC SMALL LETTER YERU
+ 0x044C: 0xD8, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044D: 0xDC, # CYRILLIC SMALL LETTER E
+ 0x044E: 0xC0, # CYRILLIC SMALL LETTER YU
+ 0x044F: 0xD1, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0xA3, # CYRILLIC SMALL LETTER IO
+ 0x0454: 0xA4, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0456: 0xA6, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0457: 0xA7, # CYRILLIC SMALL LETTER YI (UKRAINIAN)
+ 0x0490: 0xBD, # CYRILLIC CAPITAL LETTER UKRAINIAN GHE WITH UPTURN
+ 0x0491: 0xAD, # CYRILLIC SMALL LETTER UKRAINIAN GHE WITH UPTURN
+ 0x2219: 0x95, # BULLET OPERATOR
+ 0x221A: 0x96, # SQUARE ROOT
+ 0x2248: 0x97, # ALMOST EQUAL TO
+ 0x2264: 0x98, # LESS-THAN OR EQUAL TO
+ 0x2265: 0x99, # GREATER-THAN OR EQUAL TO
+ 0x2320: 0x93, # TOP HALF INTEGRAL
+ 0x2321: 0x9B, # BOTTOM HALF INTEGRAL
+ 0x2500: 0x80, # BOX DRAWINGS LIGHT HORIZONTAL
+ 0x2502: 0x81, # BOX DRAWINGS LIGHT VERTICAL
+ 0x250C: 0x82, # BOX DRAWINGS LIGHT DOWN AND RIGHT
+ 0x2510: 0x83, # BOX DRAWINGS LIGHT DOWN AND LEFT
+ 0x2514: 0x84, # BOX DRAWINGS LIGHT UP AND RIGHT
+ 0x2518: 0x85, # BOX DRAWINGS LIGHT UP AND LEFT
+ 0x251C: 0x86, # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ 0x2524: 0x87, # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ 0x252C: 0x88, # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ 0x2534: 0x89, # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ 0x253C: 0x8A, # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ 0x2550: 0xA0, # BOX DRAWINGS DOUBLE HORIZONTAL
+ 0x2551: 0xA1, # BOX DRAWINGS DOUBLE VERTICAL
+ 0x2552: 0xA2, # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ 0x2554: 0xA5, # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ 0x2557: 0xA8, # BOX DRAWINGS DOUBLE DOWN AND LEFT
+ 0x2558: 0xA9, # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ 0x2559: 0xAA, # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ 0x255A: 0xAB, # BOX DRAWINGS DOUBLE UP AND RIGHT
+ 0x255B: 0xAC, # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ 0x255D: 0xAE, # BOX DRAWINGS DOUBLE UP AND LEFT
+ 0x255E: 0xAF, # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ 0x255F: 0xB0, # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ 0x2560: 0xB1, # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ 0x2561: 0xB2, # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ 0x2563: 0xB5, # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ 0x2566: 0xB8, # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ 0x2567: 0xB9, # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ 0x2568: 0xBA, # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ 0x2569: 0xBB, # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ 0x256A: 0xBC, # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ 0x256C: 0xBE, # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ 0x2580: 0x8B, # UPPER HALF BLOCK
+ 0x2584: 0x8C, # LOWER HALF BLOCK
+ 0x2588: 0x8D, # FULL BLOCK
+ 0x258C: 0x8E, # LEFT HALF BLOCK
+ 0x2590: 0x8F, # RIGHT HALF BLOCK
+ 0x2591: 0x90, # LIGHT SHADE
+ 0x2592: 0x91, # MEDIUM SHADE
+ 0x2593: 0x92, # DARK SHADE
+ 0x25A0: 0x94, # BLACK SQUARE
}
-
diff --git a/Lib/encodings/mac_arabic.py b/Lib/encodings/mac_arabic.py
index 0ac4da2..6c096b4 100644
--- a/Lib/encodings/mac_arabic.py
+++ b/Lib/encodings/mac_arabic.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,654 +32,654 @@ def getregentry():
decoding_map = codecs.make_identity_dict(range(256))
decoding_map.update({
- 0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x0081: 0x00a0, # NO-BREAK SPACE, right-left
- 0x0082: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x0084: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
- 0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
- 0x0088: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
- 0x0089: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x008b: 0x06ba, # ARABIC LETTER NOON GHUNNA
- 0x008c: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- 0x008d: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
- 0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
- 0x008f: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
- 0x0090: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x0091: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
- 0x0093: 0x2026, # HORIZONTAL ELLIPSIS, right-left
- 0x0094: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x0095: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x0096: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
- 0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
- 0x0098: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- 0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x009b: 0x00f7, # DIVISION SIGN, right-left
- 0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
- 0x009d: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
- 0x009e: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00a0: 0x0020, # SPACE, right-left
- 0x00a1: 0x0021, # EXCLAMATION MARK, right-left
- 0x00a2: 0x0022, # QUOTATION MARK, right-left
- 0x00a3: 0x0023, # NUMBER SIGN, right-left
- 0x00a4: 0x0024, # DOLLAR SIGN, right-left
- 0x00a5: 0x066a, # ARABIC PERCENT SIGN
- 0x00a6: 0x0026, # AMPERSAND, right-left
- 0x00a7: 0x0027, # APOSTROPHE, right-left
- 0x00a8: 0x0028, # LEFT PARENTHESIS, right-left
- 0x00a9: 0x0029, # RIGHT PARENTHESIS, right-left
- 0x00aa: 0x002a, # ASTERISK, right-left
- 0x00ab: 0x002b, # PLUS SIGN, right-left
- 0x00ac: 0x060c, # ARABIC COMMA
- 0x00ad: 0x002d, # HYPHEN-MINUS, right-left
- 0x00ae: 0x002e, # FULL STOP, right-left
- 0x00af: 0x002f, # SOLIDUS, right-left
- 0x00b0: 0x0660, # ARABIC-INDIC DIGIT ZERO, right-left (need override)
- 0x00b1: 0x0661, # ARABIC-INDIC DIGIT ONE, right-left (need override)
- 0x00b2: 0x0662, # ARABIC-INDIC DIGIT TWO, right-left (need override)
- 0x00b3: 0x0663, # ARABIC-INDIC DIGIT THREE, right-left (need override)
- 0x00b4: 0x0664, # ARABIC-INDIC DIGIT FOUR, right-left (need override)
- 0x00b5: 0x0665, # ARABIC-INDIC DIGIT FIVE, right-left (need override)
- 0x00b6: 0x0666, # ARABIC-INDIC DIGIT SIX, right-left (need override)
- 0x00b7: 0x0667, # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
- 0x00b8: 0x0668, # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
- 0x00b9: 0x0669, # ARABIC-INDIC DIGIT NINE, right-left (need override)
- 0x00ba: 0x003a, # COLON, right-left
- 0x00bb: 0x061b, # ARABIC SEMICOLON
- 0x00bc: 0x003c, # LESS-THAN SIGN, right-left
- 0x00bd: 0x003d, # EQUALS SIGN, right-left
- 0x00be: 0x003e, # GREATER-THAN SIGN, right-left
- 0x00bf: 0x061f, # ARABIC QUESTION MARK
- 0x00c0: 0x274a, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
- 0x00c1: 0x0621, # ARABIC LETTER HAMZA
- 0x00c2: 0x0622, # ARABIC LETTER ALEF WITH MADDA ABOVE
- 0x00c3: 0x0623, # ARABIC LETTER ALEF WITH HAMZA ABOVE
- 0x00c4: 0x0624, # ARABIC LETTER WAW WITH HAMZA ABOVE
- 0x00c5: 0x0625, # ARABIC LETTER ALEF WITH HAMZA BELOW
- 0x00c6: 0x0626, # ARABIC LETTER YEH WITH HAMZA ABOVE
- 0x00c7: 0x0627, # ARABIC LETTER ALEF
- 0x00c8: 0x0628, # ARABIC LETTER BEH
- 0x00c9: 0x0629, # ARABIC LETTER TEH MARBUTA
- 0x00ca: 0x062a, # ARABIC LETTER TEH
- 0x00cb: 0x062b, # ARABIC LETTER THEH
- 0x00cc: 0x062c, # ARABIC LETTER JEEM
- 0x00cd: 0x062d, # ARABIC LETTER HAH
- 0x00ce: 0x062e, # ARABIC LETTER KHAH
- 0x00cf: 0x062f, # ARABIC LETTER DAL
- 0x00d0: 0x0630, # ARABIC LETTER THAL
- 0x00d1: 0x0631, # ARABIC LETTER REH
- 0x00d2: 0x0632, # ARABIC LETTER ZAIN
- 0x00d3: 0x0633, # ARABIC LETTER SEEN
- 0x00d4: 0x0634, # ARABIC LETTER SHEEN
- 0x00d5: 0x0635, # ARABIC LETTER SAD
- 0x00d6: 0x0636, # ARABIC LETTER DAD
- 0x00d7: 0x0637, # ARABIC LETTER TAH
- 0x00d8: 0x0638, # ARABIC LETTER ZAH
- 0x00d9: 0x0639, # ARABIC LETTER AIN
- 0x00da: 0x063a, # ARABIC LETTER GHAIN
- 0x00db: 0x005b, # LEFT SQUARE BRACKET, right-left
- 0x00dc: 0x005c, # REVERSE SOLIDUS, right-left
- 0x00dd: 0x005d, # RIGHT SQUARE BRACKET, right-left
- 0x00de: 0x005e, # CIRCUMFLEX ACCENT, right-left
- 0x00df: 0x005f, # LOW LINE, right-left
- 0x00e0: 0x0640, # ARABIC TATWEEL
- 0x00e1: 0x0641, # ARABIC LETTER FEH
- 0x00e2: 0x0642, # ARABIC LETTER QAF
- 0x00e3: 0x0643, # ARABIC LETTER KAF
- 0x00e4: 0x0644, # ARABIC LETTER LAM
- 0x00e5: 0x0645, # ARABIC LETTER MEEM
- 0x00e6: 0x0646, # ARABIC LETTER NOON
- 0x00e7: 0x0647, # ARABIC LETTER HEH
- 0x00e8: 0x0648, # ARABIC LETTER WAW
- 0x00e9: 0x0649, # ARABIC LETTER ALEF MAKSURA
- 0x00ea: 0x064a, # ARABIC LETTER YEH
- 0x00eb: 0x064b, # ARABIC FATHATAN
- 0x00ec: 0x064c, # ARABIC DAMMATAN
- 0x00ed: 0x064d, # ARABIC KASRATAN
- 0x00ee: 0x064e, # ARABIC FATHA
- 0x00ef: 0x064f, # ARABIC DAMMA
- 0x00f0: 0x0650, # ARABIC KASRA
- 0x00f1: 0x0651, # ARABIC SHADDA
- 0x00f2: 0x0652, # ARABIC SUKUN
- 0x00f3: 0x067e, # ARABIC LETTER PEH
- 0x00f4: 0x0679, # ARABIC LETTER TTEH
- 0x00f5: 0x0686, # ARABIC LETTER TCHEH
- 0x00f6: 0x06d5, # ARABIC LETTER AE
- 0x00f7: 0x06a4, # ARABIC LETTER VEH
- 0x00f8: 0x06af, # ARABIC LETTER GAF
- 0x00f9: 0x0688, # ARABIC LETTER DDAL
- 0x00fa: 0x0691, # ARABIC LETTER RREH
- 0x00fb: 0x007b, # LEFT CURLY BRACKET, right-left
- 0x00fc: 0x007c, # VERTICAL LINE, right-left
- 0x00fd: 0x007d, # RIGHT CURLY BRACKET, right-left
- 0x00fe: 0x0698, # ARABIC LETTER JEH
- 0x00ff: 0x06d2, # ARABIC LETTER YEH BARREE
+ 0x0080: 0x00c4, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x0081: 0x00a0, # NO-BREAK SPACE, right-left
+ 0x0082: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x0083: 0x00c9, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x0084: 0x00d1, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x0085: 0x00d6, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x0086: 0x00dc, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x0087: 0x00e1, # LATIN SMALL LETTER A WITH ACUTE
+ 0x0088: 0x00e0, # LATIN SMALL LETTER A WITH GRAVE
+ 0x0089: 0x00e2, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x008a: 0x00e4, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x008b: 0x06ba, # ARABIC LETTER NOON GHUNNA
+ 0x008c: 0x00ab, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ 0x008d: 0x00e7, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x008e: 0x00e9, # LATIN SMALL LETTER E WITH ACUTE
+ 0x008f: 0x00e8, # LATIN SMALL LETTER E WITH GRAVE
+ 0x0090: 0x00ea, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x0091: 0x00eb, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x0092: 0x00ed, # LATIN SMALL LETTER I WITH ACUTE
+ 0x0093: 0x2026, # HORIZONTAL ELLIPSIS, right-left
+ 0x0094: 0x00ee, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x0095: 0x00ef, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x0096: 0x00f1, # LATIN SMALL LETTER N WITH TILDE
+ 0x0097: 0x00f3, # LATIN SMALL LETTER O WITH ACUTE
+ 0x0098: 0x00bb, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ 0x0099: 0x00f4, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x009a: 0x00f6, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x009b: 0x00f7, # DIVISION SIGN, right-left
+ 0x009c: 0x00fa, # LATIN SMALL LETTER U WITH ACUTE
+ 0x009d: 0x00f9, # LATIN SMALL LETTER U WITH GRAVE
+ 0x009e: 0x00fb, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x009f: 0x00fc, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00a0: 0x0020, # SPACE, right-left
+ 0x00a1: 0x0021, # EXCLAMATION MARK, right-left
+ 0x00a2: 0x0022, # QUOTATION MARK, right-left
+ 0x00a3: 0x0023, # NUMBER SIGN, right-left
+ 0x00a4: 0x0024, # DOLLAR SIGN, right-left
+ 0x00a5: 0x066a, # ARABIC PERCENT SIGN
+ 0x00a6: 0x0026, # AMPERSAND, right-left
+ 0x00a7: 0x0027, # APOSTROPHE, right-left
+ 0x00a8: 0x0028, # LEFT PARENTHESIS, right-left
+ 0x00a9: 0x0029, # RIGHT PARENTHESIS, right-left
+ 0x00aa: 0x002a, # ASTERISK, right-left
+ 0x00ab: 0x002b, # PLUS SIGN, right-left
+ 0x00ac: 0x060c, # ARABIC COMMA
+ 0x00ad: 0x002d, # HYPHEN-MINUS, right-left
+ 0x00ae: 0x002e, # FULL STOP, right-left
+ 0x00af: 0x002f, # SOLIDUS, right-left
+ 0x00b0: 0x0660, # ARABIC-INDIC DIGIT ZERO, right-left (need override)
+ 0x00b1: 0x0661, # ARABIC-INDIC DIGIT ONE, right-left (need override)
+ 0x00b2: 0x0662, # ARABIC-INDIC DIGIT TWO, right-left (need override)
+ 0x00b3: 0x0663, # ARABIC-INDIC DIGIT THREE, right-left (need override)
+ 0x00b4: 0x0664, # ARABIC-INDIC DIGIT FOUR, right-left (need override)
+ 0x00b5: 0x0665, # ARABIC-INDIC DIGIT FIVE, right-left (need override)
+ 0x00b6: 0x0666, # ARABIC-INDIC DIGIT SIX, right-left (need override)
+ 0x00b7: 0x0667, # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+ 0x00b8: 0x0668, # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+ 0x00b9: 0x0669, # ARABIC-INDIC DIGIT NINE, right-left (need override)
+ 0x00ba: 0x003a, # COLON, right-left
+ 0x00bb: 0x061b, # ARABIC SEMICOLON
+ 0x00bc: 0x003c, # LESS-THAN SIGN, right-left
+ 0x00bd: 0x003d, # EQUALS SIGN, right-left
+ 0x00be: 0x003e, # GREATER-THAN SIGN, right-left
+ 0x00bf: 0x061f, # ARABIC QUESTION MARK
+ 0x00c0: 0x274a, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+ 0x00c1: 0x0621, # ARABIC LETTER HAMZA
+ 0x00c2: 0x0622, # ARABIC LETTER ALEF WITH MADDA ABOVE
+ 0x00c3: 0x0623, # ARABIC LETTER ALEF WITH HAMZA ABOVE
+ 0x00c4: 0x0624, # ARABIC LETTER WAW WITH HAMZA ABOVE
+ 0x00c5: 0x0625, # ARABIC LETTER ALEF WITH HAMZA BELOW
+ 0x00c6: 0x0626, # ARABIC LETTER YEH WITH HAMZA ABOVE
+ 0x00c7: 0x0627, # ARABIC LETTER ALEF
+ 0x00c8: 0x0628, # ARABIC LETTER BEH
+ 0x00c9: 0x0629, # ARABIC LETTER TEH MARBUTA
+ 0x00ca: 0x062a, # ARABIC LETTER TEH
+ 0x00cb: 0x062b, # ARABIC LETTER THEH
+ 0x00cc: 0x062c, # ARABIC LETTER JEEM
+ 0x00cd: 0x062d, # ARABIC LETTER HAH
+ 0x00ce: 0x062e, # ARABIC LETTER KHAH
+ 0x00cf: 0x062f, # ARABIC LETTER DAL
+ 0x00d0: 0x0630, # ARABIC LETTER THAL
+ 0x00d1: 0x0631, # ARABIC LETTER REH
+ 0x00d2: 0x0632, # ARABIC LETTER ZAIN
+ 0x00d3: 0x0633, # ARABIC LETTER SEEN
+ 0x00d4: 0x0634, # ARABIC LETTER SHEEN
+ 0x00d5: 0x0635, # ARABIC LETTER SAD
+ 0x00d6: 0x0636, # ARABIC LETTER DAD
+ 0x00d7: 0x0637, # ARABIC LETTER TAH
+ 0x00d8: 0x0638, # ARABIC LETTER ZAH
+ 0x00d9: 0x0639, # ARABIC LETTER AIN
+ 0x00da: 0x063a, # ARABIC LETTER GHAIN
+ 0x00db: 0x005b, # LEFT SQUARE BRACKET, right-left
+ 0x00dc: 0x005c, # REVERSE SOLIDUS, right-left
+ 0x00dd: 0x005d, # RIGHT SQUARE BRACKET, right-left
+ 0x00de: 0x005e, # CIRCUMFLEX ACCENT, right-left
+ 0x00df: 0x005f, # LOW LINE, right-left
+ 0x00e0: 0x0640, # ARABIC TATWEEL
+ 0x00e1: 0x0641, # ARABIC LETTER FEH
+ 0x00e2: 0x0642, # ARABIC LETTER QAF
+ 0x00e3: 0x0643, # ARABIC LETTER KAF
+ 0x00e4: 0x0644, # ARABIC LETTER LAM
+ 0x00e5: 0x0645, # ARABIC LETTER MEEM
+ 0x00e6: 0x0646, # ARABIC LETTER NOON
+ 0x00e7: 0x0647, # ARABIC LETTER HEH
+ 0x00e8: 0x0648, # ARABIC LETTER WAW
+ 0x00e9: 0x0649, # ARABIC LETTER ALEF MAKSURA
+ 0x00ea: 0x064a, # ARABIC LETTER YEH
+ 0x00eb: 0x064b, # ARABIC FATHATAN
+ 0x00ec: 0x064c, # ARABIC DAMMATAN
+ 0x00ed: 0x064d, # ARABIC KASRATAN
+ 0x00ee: 0x064e, # ARABIC FATHA
+ 0x00ef: 0x064f, # ARABIC DAMMA
+ 0x00f0: 0x0650, # ARABIC KASRA
+ 0x00f1: 0x0651, # ARABIC SHADDA
+ 0x00f2: 0x0652, # ARABIC SUKUN
+ 0x00f3: 0x067e, # ARABIC LETTER PEH
+ 0x00f4: 0x0679, # ARABIC LETTER TTEH
+ 0x00f5: 0x0686, # ARABIC LETTER TCHEH
+ 0x00f6: 0x06d5, # ARABIC LETTER AE
+ 0x00f7: 0x06a4, # ARABIC LETTER VEH
+ 0x00f8: 0x06af, # ARABIC LETTER GAF
+ 0x00f9: 0x0688, # ARABIC LETTER DDAL
+ 0x00fa: 0x0691, # ARABIC LETTER RREH
+ 0x00fb: 0x007b, # LEFT CURLY BRACKET, right-left
+ 0x00fc: 0x007c, # VERTICAL LINE, right-left
+ 0x00fd: 0x007d, # RIGHT CURLY BRACKET, right-left
+ 0x00fe: 0x0698, # ARABIC LETTER JEH
+ 0x00ff: 0x06d2, # ARABIC LETTER YEH BARREE
})
### Decoding Table
decoding_table = (
- u'\x00' # 0x0000 -> CONTROL CHARACTER
- u'\x01' # 0x0001 -> CONTROL CHARACTER
- u'\x02' # 0x0002 -> CONTROL CHARACTER
- u'\x03' # 0x0003 -> CONTROL CHARACTER
- u'\x04' # 0x0004 -> CONTROL CHARACTER
- u'\x05' # 0x0005 -> CONTROL CHARACTER
- u'\x06' # 0x0006 -> CONTROL CHARACTER
- u'\x07' # 0x0007 -> CONTROL CHARACTER
- u'\x08' # 0x0008 -> CONTROL CHARACTER
- u'\t' # 0x0009 -> CONTROL CHARACTER
- u'\n' # 0x000a -> CONTROL CHARACTER
- u'\x0b' # 0x000b -> CONTROL CHARACTER
- u'\x0c' # 0x000c -> CONTROL CHARACTER
- u'\r' # 0x000d -> CONTROL CHARACTER
- u'\x0e' # 0x000e -> CONTROL CHARACTER
- u'\x0f' # 0x000f -> CONTROL CHARACTER
- u'\x10' # 0x0010 -> CONTROL CHARACTER
- u'\x11' # 0x0011 -> CONTROL CHARACTER
- u'\x12' # 0x0012 -> CONTROL CHARACTER
- u'\x13' # 0x0013 -> CONTROL CHARACTER
- u'\x14' # 0x0014 -> CONTROL CHARACTER
- u'\x15' # 0x0015 -> CONTROL CHARACTER
- u'\x16' # 0x0016 -> CONTROL CHARACTER
- u'\x17' # 0x0017 -> CONTROL CHARACTER
- u'\x18' # 0x0018 -> CONTROL CHARACTER
- u'\x19' # 0x0019 -> CONTROL CHARACTER
- u'\x1a' # 0x001a -> CONTROL CHARACTER
- u'\x1b' # 0x001b -> CONTROL CHARACTER
- u'\x1c' # 0x001c -> CONTROL CHARACTER
- u'\x1d' # 0x001d -> CONTROL CHARACTER
- u'\x1e' # 0x001e -> CONTROL CHARACTER
- u'\x1f' # 0x001f -> CONTROL CHARACTER
- u' ' # 0x0020 -> SPACE, left-right
- u'!' # 0x0021 -> EXCLAMATION MARK, left-right
- u'"' # 0x0022 -> QUOTATION MARK, left-right
- u'#' # 0x0023 -> NUMBER SIGN, left-right
- u'$' # 0x0024 -> DOLLAR SIGN, left-right
- u'%' # 0x0025 -> PERCENT SIGN, left-right
- u'&' # 0x0026 -> AMPERSAND, left-right
- u"'" # 0x0027 -> APOSTROPHE, left-right
- u'(' # 0x0028 -> LEFT PARENTHESIS, left-right
- u')' # 0x0029 -> RIGHT PARENTHESIS, left-right
- u'*' # 0x002a -> ASTERISK, left-right
- u'+' # 0x002b -> PLUS SIGN, left-right
- u',' # 0x002c -> COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
- u'-' # 0x002d -> HYPHEN-MINUS, left-right
- u'.' # 0x002e -> FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
- u'/' # 0x002f -> SOLIDUS, left-right
- u'0' # 0x0030 -> DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
- u'1' # 0x0031 -> DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
- u'2' # 0x0032 -> DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
- u'3' # 0x0033 -> DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
- u'4' # 0x0034 -> DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
- u'5' # 0x0035 -> DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
- u'6' # 0x0036 -> DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
- u'7' # 0x0037 -> DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
- u'8' # 0x0038 -> DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
- u'9' # 0x0039 -> DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
- u':' # 0x003a -> COLON, left-right
- u';' # 0x003b -> SEMICOLON, left-right
- u'<' # 0x003c -> LESS-THAN SIGN, left-right
- u'=' # 0x003d -> EQUALS SIGN, left-right
- u'>' # 0x003e -> GREATER-THAN SIGN, left-right
- u'?' # 0x003f -> QUESTION MARK, left-right
- u'@' # 0x0040 -> COMMERCIAL AT
- u'A' # 0x0041 -> LATIN CAPITAL LETTER A
- u'B' # 0x0042 -> LATIN CAPITAL LETTER B
- u'C' # 0x0043 -> LATIN CAPITAL LETTER C
- u'D' # 0x0044 -> LATIN CAPITAL LETTER D
- u'E' # 0x0045 -> LATIN CAPITAL LETTER E
- u'F' # 0x0046 -> LATIN CAPITAL LETTER F
- u'G' # 0x0047 -> LATIN CAPITAL LETTER G
- u'H' # 0x0048 -> LATIN CAPITAL LETTER H
- u'I' # 0x0049 -> LATIN CAPITAL LETTER I
- u'J' # 0x004a -> LATIN CAPITAL LETTER J
- u'K' # 0x004b -> LATIN CAPITAL LETTER K
- u'L' # 0x004c -> LATIN CAPITAL LETTER L
- u'M' # 0x004d -> LATIN CAPITAL LETTER M
- u'N' # 0x004e -> LATIN CAPITAL LETTER N
- u'O' # 0x004f -> LATIN CAPITAL LETTER O
- u'P' # 0x0050 -> LATIN CAPITAL LETTER P
- u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
- u'R' # 0x0052 -> LATIN CAPITAL LETTER R
- u'S' # 0x0053 -> LATIN CAPITAL LETTER S
- u'T' # 0x0054 -> LATIN CAPITAL LETTER T
- u'U' # 0x0055 -> LATIN CAPITAL LETTER U
- u'V' # 0x0056 -> LATIN CAPITAL LETTER V
- u'W' # 0x0057 -> LATIN CAPITAL LETTER W
- u'X' # 0x0058 -> LATIN CAPITAL LETTER X
- u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
- u'[' # 0x005b -> LEFT SQUARE BRACKET, left-right
- u'\\' # 0x005c -> REVERSE SOLIDUS, left-right
- u']' # 0x005d -> RIGHT SQUARE BRACKET, left-right
- u'^' # 0x005e -> CIRCUMFLEX ACCENT, left-right
- u'_' # 0x005f -> LOW LINE, left-right
- u'`' # 0x0060 -> GRAVE ACCENT
- u'a' # 0x0061 -> LATIN SMALL LETTER A
- u'b' # 0x0062 -> LATIN SMALL LETTER B
- u'c' # 0x0063 -> LATIN SMALL LETTER C
- u'd' # 0x0064 -> LATIN SMALL LETTER D
- u'e' # 0x0065 -> LATIN SMALL LETTER E
- u'f' # 0x0066 -> LATIN SMALL LETTER F
- u'g' # 0x0067 -> LATIN SMALL LETTER G
- u'h' # 0x0068 -> LATIN SMALL LETTER H
- u'i' # 0x0069 -> LATIN SMALL LETTER I
- u'j' # 0x006a -> LATIN SMALL LETTER J
- u'k' # 0x006b -> LATIN SMALL LETTER K
- u'l' # 0x006c -> LATIN SMALL LETTER L
- u'm' # 0x006d -> LATIN SMALL LETTER M
- u'n' # 0x006e -> LATIN SMALL LETTER N
- u'o' # 0x006f -> LATIN SMALL LETTER O
- u'p' # 0x0070 -> LATIN SMALL LETTER P
- u'q' # 0x0071 -> LATIN SMALL LETTER Q
- u'r' # 0x0072 -> LATIN SMALL LETTER R
- u's' # 0x0073 -> LATIN SMALL LETTER S
- u't' # 0x0074 -> LATIN SMALL LETTER T
- u'u' # 0x0075 -> LATIN SMALL LETTER U
- u'v' # 0x0076 -> LATIN SMALL LETTER V
- u'w' # 0x0077 -> LATIN SMALL LETTER W
- u'x' # 0x0078 -> LATIN SMALL LETTER X
- u'y' # 0x0079 -> LATIN SMALL LETTER Y
- u'z' # 0x007a -> LATIN SMALL LETTER Z
- u'{' # 0x007b -> LEFT CURLY BRACKET, left-right
- u'|' # 0x007c -> VERTICAL LINE, left-right
- u'}' # 0x007d -> RIGHT CURLY BRACKET, left-right
- u'~' # 0x007e -> TILDE
- u'\x7f' # 0x007f -> CONTROL CHARACTER
- u'\xc4' # 0x0080 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xa0' # 0x0081 -> NO-BREAK SPACE, right-left
- u'\xc7' # 0x0082 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x0083 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x0084 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x0085 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x0086 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x0087 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x0088 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x0089 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x008a -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u06ba' # 0x008b -> ARABIC LETTER NOON GHUNNA
- u'\xab' # 0x008c -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- u'\xe7' # 0x008d -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x008e -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x008f -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x0090 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x0091 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x0092 -> LATIN SMALL LETTER I WITH ACUTE
- u'\u2026' # 0x0093 -> HORIZONTAL ELLIPSIS, right-left
- u'\xee' # 0x0094 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x0095 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x0096 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x0097 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xbb' # 0x0098 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- u'\xf4' # 0x0099 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x009a -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0x009b -> DIVISION SIGN, right-left
- u'\xfa' # 0x009c -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x009d -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x009e -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x009f -> LATIN SMALL LETTER U WITH DIAERESIS
- u' ' # 0x00a0 -> SPACE, right-left
- u'!' # 0x00a1 -> EXCLAMATION MARK, right-left
- u'"' # 0x00a2 -> QUOTATION MARK, right-left
- u'#' # 0x00a3 -> NUMBER SIGN, right-left
- u'$' # 0x00a4 -> DOLLAR SIGN, right-left
- u'\u066a' # 0x00a5 -> ARABIC PERCENT SIGN
- u'&' # 0x00a6 -> AMPERSAND, right-left
- u"'" # 0x00a7 -> APOSTROPHE, right-left
- u'(' # 0x00a8 -> LEFT PARENTHESIS, right-left
- u')' # 0x00a9 -> RIGHT PARENTHESIS, right-left
- u'*' # 0x00aa -> ASTERISK, right-left
- u'+' # 0x00ab -> PLUS SIGN, right-left
- u'\u060c' # 0x00ac -> ARABIC COMMA
- u'-' # 0x00ad -> HYPHEN-MINUS, right-left
- u'.' # 0x00ae -> FULL STOP, right-left
- u'/' # 0x00af -> SOLIDUS, right-left
- u'\u0660' # 0x00b0 -> ARABIC-INDIC DIGIT ZERO, right-left (need override)
- u'\u0661' # 0x00b1 -> ARABIC-INDIC DIGIT ONE, right-left (need override)
- u'\u0662' # 0x00b2 -> ARABIC-INDIC DIGIT TWO, right-left (need override)
- u'\u0663' # 0x00b3 -> ARABIC-INDIC DIGIT THREE, right-left (need override)
- u'\u0664' # 0x00b4 -> ARABIC-INDIC DIGIT FOUR, right-left (need override)
- u'\u0665' # 0x00b5 -> ARABIC-INDIC DIGIT FIVE, right-left (need override)
- u'\u0666' # 0x00b6 -> ARABIC-INDIC DIGIT SIX, right-left (need override)
- u'\u0667' # 0x00b7 -> ARABIC-INDIC DIGIT SEVEN, right-left (need override)
- u'\u0668' # 0x00b8 -> ARABIC-INDIC DIGIT EIGHT, right-left (need override)
- u'\u0669' # 0x00b9 -> ARABIC-INDIC DIGIT NINE, right-left (need override)
- u':' # 0x00ba -> COLON, right-left
- u'\u061b' # 0x00bb -> ARABIC SEMICOLON
- u'<' # 0x00bc -> LESS-THAN SIGN, right-left
- u'=' # 0x00bd -> EQUALS SIGN, right-left
- u'>' # 0x00be -> GREATER-THAN SIGN, right-left
- u'\u061f' # 0x00bf -> ARABIC QUESTION MARK
- u'\u274a' # 0x00c0 -> EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
- u'\u0621' # 0x00c1 -> ARABIC LETTER HAMZA
- u'\u0622' # 0x00c2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
- u'\u0623' # 0x00c3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
- u'\u0624' # 0x00c4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
- u'\u0625' # 0x00c5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
- u'\u0626' # 0x00c6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
- u'\u0627' # 0x00c7 -> ARABIC LETTER ALEF
- u'\u0628' # 0x00c8 -> ARABIC LETTER BEH
- u'\u0629' # 0x00c9 -> ARABIC LETTER TEH MARBUTA
- u'\u062a' # 0x00ca -> ARABIC LETTER TEH
- u'\u062b' # 0x00cb -> ARABIC LETTER THEH
- u'\u062c' # 0x00cc -> ARABIC LETTER JEEM
- u'\u062d' # 0x00cd -> ARABIC LETTER HAH
- u'\u062e' # 0x00ce -> ARABIC LETTER KHAH
- u'\u062f' # 0x00cf -> ARABIC LETTER DAL
- u'\u0630' # 0x00d0 -> ARABIC LETTER THAL
- u'\u0631' # 0x00d1 -> ARABIC LETTER REH
- u'\u0632' # 0x00d2 -> ARABIC LETTER ZAIN
- u'\u0633' # 0x00d3 -> ARABIC LETTER SEEN
- u'\u0634' # 0x00d4 -> ARABIC LETTER SHEEN
- u'\u0635' # 0x00d5 -> ARABIC LETTER SAD
- u'\u0636' # 0x00d6 -> ARABIC LETTER DAD
- u'\u0637' # 0x00d7 -> ARABIC LETTER TAH
- u'\u0638' # 0x00d8 -> ARABIC LETTER ZAH
- u'\u0639' # 0x00d9 -> ARABIC LETTER AIN
- u'\u063a' # 0x00da -> ARABIC LETTER GHAIN
- u'[' # 0x00db -> LEFT SQUARE BRACKET, right-left
- u'\\' # 0x00dc -> REVERSE SOLIDUS, right-left
- u']' # 0x00dd -> RIGHT SQUARE BRACKET, right-left
- u'^' # 0x00de -> CIRCUMFLEX ACCENT, right-left
- u'_' # 0x00df -> LOW LINE, right-left
- u'\u0640' # 0x00e0 -> ARABIC TATWEEL
- u'\u0641' # 0x00e1 -> ARABIC LETTER FEH
- u'\u0642' # 0x00e2 -> ARABIC LETTER QAF
- u'\u0643' # 0x00e3 -> ARABIC LETTER KAF
- u'\u0644' # 0x00e4 -> ARABIC LETTER LAM
- u'\u0645' # 0x00e5 -> ARABIC LETTER MEEM
- u'\u0646' # 0x00e6 -> ARABIC LETTER NOON
- u'\u0647' # 0x00e7 -> ARABIC LETTER HEH
- u'\u0648' # 0x00e8 -> ARABIC LETTER WAW
- u'\u0649' # 0x00e9 -> ARABIC LETTER ALEF MAKSURA
- u'\u064a' # 0x00ea -> ARABIC LETTER YEH
- u'\u064b' # 0x00eb -> ARABIC FATHATAN
- u'\u064c' # 0x00ec -> ARABIC DAMMATAN
- u'\u064d' # 0x00ed -> ARABIC KASRATAN
- u'\u064e' # 0x00ee -> ARABIC FATHA
- u'\u064f' # 0x00ef -> ARABIC DAMMA
- u'\u0650' # 0x00f0 -> ARABIC KASRA
- u'\u0651' # 0x00f1 -> ARABIC SHADDA
- u'\u0652' # 0x00f2 -> ARABIC SUKUN
- u'\u067e' # 0x00f3 -> ARABIC LETTER PEH
- u'\u0679' # 0x00f4 -> ARABIC LETTER TTEH
- u'\u0686' # 0x00f5 -> ARABIC LETTER TCHEH
- u'\u06d5' # 0x00f6 -> ARABIC LETTER AE
- u'\u06a4' # 0x00f7 -> ARABIC LETTER VEH
- u'\u06af' # 0x00f8 -> ARABIC LETTER GAF
- u'\u0688' # 0x00f9 -> ARABIC LETTER DDAL
- u'\u0691' # 0x00fa -> ARABIC LETTER RREH
- u'{' # 0x00fb -> LEFT CURLY BRACKET, right-left
- u'|' # 0x00fc -> VERTICAL LINE, right-left
- u'}' # 0x00fd -> RIGHT CURLY BRACKET, right-left
- u'\u0698' # 0x00fe -> ARABIC LETTER JEH
- u'\u06d2' # 0x00ff -> ARABIC LETTER YEH BARREE
+ u'\x00' # 0x0000 -> CONTROL CHARACTER
+ u'\x01' # 0x0001 -> CONTROL CHARACTER
+ u'\x02' # 0x0002 -> CONTROL CHARACTER
+ u'\x03' # 0x0003 -> CONTROL CHARACTER
+ u'\x04' # 0x0004 -> CONTROL CHARACTER
+ u'\x05' # 0x0005 -> CONTROL CHARACTER
+ u'\x06' # 0x0006 -> CONTROL CHARACTER
+ u'\x07' # 0x0007 -> CONTROL CHARACTER
+ u'\x08' # 0x0008 -> CONTROL CHARACTER
+ u'\t' # 0x0009 -> CONTROL CHARACTER
+ u'\n' # 0x000a -> CONTROL CHARACTER
+ u'\x0b' # 0x000b -> CONTROL CHARACTER
+ u'\x0c' # 0x000c -> CONTROL CHARACTER
+ u'\r' # 0x000d -> CONTROL CHARACTER
+ u'\x0e' # 0x000e -> CONTROL CHARACTER
+ u'\x0f' # 0x000f -> CONTROL CHARACTER
+ u'\x10' # 0x0010 -> CONTROL CHARACTER
+ u'\x11' # 0x0011 -> CONTROL CHARACTER
+ u'\x12' # 0x0012 -> CONTROL CHARACTER
+ u'\x13' # 0x0013 -> CONTROL CHARACTER
+ u'\x14' # 0x0014 -> CONTROL CHARACTER
+ u'\x15' # 0x0015 -> CONTROL CHARACTER
+ u'\x16' # 0x0016 -> CONTROL CHARACTER
+ u'\x17' # 0x0017 -> CONTROL CHARACTER
+ u'\x18' # 0x0018 -> CONTROL CHARACTER
+ u'\x19' # 0x0019 -> CONTROL CHARACTER
+ u'\x1a' # 0x001a -> CONTROL CHARACTER
+ u'\x1b' # 0x001b -> CONTROL CHARACTER
+ u'\x1c' # 0x001c -> CONTROL CHARACTER
+ u'\x1d' # 0x001d -> CONTROL CHARACTER
+ u'\x1e' # 0x001e -> CONTROL CHARACTER
+ u'\x1f' # 0x001f -> CONTROL CHARACTER
+ u' ' # 0x0020 -> SPACE, left-right
+ u'!' # 0x0021 -> EXCLAMATION MARK, left-right
+ u'"' # 0x0022 -> QUOTATION MARK, left-right
+ u'#' # 0x0023 -> NUMBER SIGN, left-right
+ u'$' # 0x0024 -> DOLLAR SIGN, left-right
+ u'%' # 0x0025 -> PERCENT SIGN, left-right
+ u'&' # 0x0026 -> AMPERSAND, left-right
+ u"'" # 0x0027 -> APOSTROPHE, left-right
+ u'(' # 0x0028 -> LEFT PARENTHESIS, left-right
+ u')' # 0x0029 -> RIGHT PARENTHESIS, left-right
+ u'*' # 0x002a -> ASTERISK, left-right
+ u'+' # 0x002b -> PLUS SIGN, left-right
+ u',' # 0x002c -> COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+ u'-' # 0x002d -> HYPHEN-MINUS, left-right
+ u'.' # 0x002e -> FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
+ u'/' # 0x002f -> SOLIDUS, left-right
+ u'0' # 0x0030 -> DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
+ u'1' # 0x0031 -> DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
+ u'2' # 0x0032 -> DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
+ u'3' # 0x0033 -> DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
+ u'4' # 0x0034 -> DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
+ u'5' # 0x0035 -> DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
+ u'6' # 0x0036 -> DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
+ u'7' # 0x0037 -> DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
+ u'8' # 0x0038 -> DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
+ u'9' # 0x0039 -> DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
+ u':' # 0x003a -> COLON, left-right
+ u';' # 0x003b -> SEMICOLON, left-right
+ u'<' # 0x003c -> LESS-THAN SIGN, left-right
+ u'=' # 0x003d -> EQUALS SIGN, left-right
+ u'>' # 0x003e -> GREATER-THAN SIGN, left-right
+ u'?' # 0x003f -> QUESTION MARK, left-right
+ u'@' # 0x0040 -> COMMERCIAL AT
+ u'A' # 0x0041 -> LATIN CAPITAL LETTER A
+ u'B' # 0x0042 -> LATIN CAPITAL LETTER B
+ u'C' # 0x0043 -> LATIN CAPITAL LETTER C
+ u'D' # 0x0044 -> LATIN CAPITAL LETTER D
+ u'E' # 0x0045 -> LATIN CAPITAL LETTER E
+ u'F' # 0x0046 -> LATIN CAPITAL LETTER F
+ u'G' # 0x0047 -> LATIN CAPITAL LETTER G
+ u'H' # 0x0048 -> LATIN CAPITAL LETTER H
+ u'I' # 0x0049 -> LATIN CAPITAL LETTER I
+ u'J' # 0x004a -> LATIN CAPITAL LETTER J
+ u'K' # 0x004b -> LATIN CAPITAL LETTER K
+ u'L' # 0x004c -> LATIN CAPITAL LETTER L
+ u'M' # 0x004d -> LATIN CAPITAL LETTER M
+ u'N' # 0x004e -> LATIN CAPITAL LETTER N
+ u'O' # 0x004f -> LATIN CAPITAL LETTER O
+ u'P' # 0x0050 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x0051 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x0052 -> LATIN CAPITAL LETTER R
+ u'S' # 0x0053 -> LATIN CAPITAL LETTER S
+ u'T' # 0x0054 -> LATIN CAPITAL LETTER T
+ u'U' # 0x0055 -> LATIN CAPITAL LETTER U
+ u'V' # 0x0056 -> LATIN CAPITAL LETTER V
+ u'W' # 0x0057 -> LATIN CAPITAL LETTER W
+ u'X' # 0x0058 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x0059 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x005a -> LATIN CAPITAL LETTER Z
+ u'[' # 0x005b -> LEFT SQUARE BRACKET, left-right
+ u'\\' # 0x005c -> REVERSE SOLIDUS, left-right
+ u']' # 0x005d -> RIGHT SQUARE BRACKET, left-right
+ u'^' # 0x005e -> CIRCUMFLEX ACCENT, left-right
+ u'_' # 0x005f -> LOW LINE, left-right
+ u'`' # 0x0060 -> GRAVE ACCENT
+ u'a' # 0x0061 -> LATIN SMALL LETTER A
+ u'b' # 0x0062 -> LATIN SMALL LETTER B
+ u'c' # 0x0063 -> LATIN SMALL LETTER C
+ u'd' # 0x0064 -> LATIN SMALL LETTER D
+ u'e' # 0x0065 -> LATIN SMALL LETTER E
+ u'f' # 0x0066 -> LATIN SMALL LETTER F
+ u'g' # 0x0067 -> LATIN SMALL LETTER G
+ u'h' # 0x0068 -> LATIN SMALL LETTER H
+ u'i' # 0x0069 -> LATIN SMALL LETTER I
+ u'j' # 0x006a -> LATIN SMALL LETTER J
+ u'k' # 0x006b -> LATIN SMALL LETTER K
+ u'l' # 0x006c -> LATIN SMALL LETTER L
+ u'm' # 0x006d -> LATIN SMALL LETTER M
+ u'n' # 0x006e -> LATIN SMALL LETTER N
+ u'o' # 0x006f -> LATIN SMALL LETTER O
+ u'p' # 0x0070 -> LATIN SMALL LETTER P
+ u'q' # 0x0071 -> LATIN SMALL LETTER Q
+ u'r' # 0x0072 -> LATIN SMALL LETTER R
+ u's' # 0x0073 -> LATIN SMALL LETTER S
+ u't' # 0x0074 -> LATIN SMALL LETTER T
+ u'u' # 0x0075 -> LATIN SMALL LETTER U
+ u'v' # 0x0076 -> LATIN SMALL LETTER V
+ u'w' # 0x0077 -> LATIN SMALL LETTER W
+ u'x' # 0x0078 -> LATIN SMALL LETTER X
+ u'y' # 0x0079 -> LATIN SMALL LETTER Y
+ u'z' # 0x007a -> LATIN SMALL LETTER Z
+ u'{' # 0x007b -> LEFT CURLY BRACKET, left-right
+ u'|' # 0x007c -> VERTICAL LINE, left-right
+ u'}' # 0x007d -> RIGHT CURLY BRACKET, left-right
+ u'~' # 0x007e -> TILDE
+ u'\x7f' # 0x007f -> CONTROL CHARACTER
+ u'\xc4' # 0x0080 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xa0' # 0x0081 -> NO-BREAK SPACE, right-left
+ u'\xc7' # 0x0082 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x0083 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x0084 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x0085 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x0086 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x0087 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x0088 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x0089 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x008a -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u06ba' # 0x008b -> ARABIC LETTER NOON GHUNNA
+ u'\xab' # 0x008c -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ u'\xe7' # 0x008d -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x008e -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x008f -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x0090 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x0091 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x0092 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\u2026' # 0x0093 -> HORIZONTAL ELLIPSIS, right-left
+ u'\xee' # 0x0094 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x0095 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x0096 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x0097 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xbb' # 0x0098 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ u'\xf4' # 0x0099 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x009a -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0x009b -> DIVISION SIGN, right-left
+ u'\xfa' # 0x009c -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x009d -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x009e -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x009f -> LATIN SMALL LETTER U WITH DIAERESIS
+ u' ' # 0x00a0 -> SPACE, right-left
+ u'!' # 0x00a1 -> EXCLAMATION MARK, right-left
+ u'"' # 0x00a2 -> QUOTATION MARK, right-left
+ u'#' # 0x00a3 -> NUMBER SIGN, right-left
+ u'$' # 0x00a4 -> DOLLAR SIGN, right-left
+ u'\u066a' # 0x00a5 -> ARABIC PERCENT SIGN
+ u'&' # 0x00a6 -> AMPERSAND, right-left
+ u"'" # 0x00a7 -> APOSTROPHE, right-left
+ u'(' # 0x00a8 -> LEFT PARENTHESIS, right-left
+ u')' # 0x00a9 -> RIGHT PARENTHESIS, right-left
+ u'*' # 0x00aa -> ASTERISK, right-left
+ u'+' # 0x00ab -> PLUS SIGN, right-left
+ u'\u060c' # 0x00ac -> ARABIC COMMA
+ u'-' # 0x00ad -> HYPHEN-MINUS, right-left
+ u'.' # 0x00ae -> FULL STOP, right-left
+ u'/' # 0x00af -> SOLIDUS, right-left
+ u'\u0660' # 0x00b0 -> ARABIC-INDIC DIGIT ZERO, right-left (need override)
+ u'\u0661' # 0x00b1 -> ARABIC-INDIC DIGIT ONE, right-left (need override)
+ u'\u0662' # 0x00b2 -> ARABIC-INDIC DIGIT TWO, right-left (need override)
+ u'\u0663' # 0x00b3 -> ARABIC-INDIC DIGIT THREE, right-left (need override)
+ u'\u0664' # 0x00b4 -> ARABIC-INDIC DIGIT FOUR, right-left (need override)
+ u'\u0665' # 0x00b5 -> ARABIC-INDIC DIGIT FIVE, right-left (need override)
+ u'\u0666' # 0x00b6 -> ARABIC-INDIC DIGIT SIX, right-left (need override)
+ u'\u0667' # 0x00b7 -> ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+ u'\u0668' # 0x00b8 -> ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+ u'\u0669' # 0x00b9 -> ARABIC-INDIC DIGIT NINE, right-left (need override)
+ u':' # 0x00ba -> COLON, right-left
+ u'\u061b' # 0x00bb -> ARABIC SEMICOLON
+ u'<' # 0x00bc -> LESS-THAN SIGN, right-left
+ u'=' # 0x00bd -> EQUALS SIGN, right-left
+ u'>' # 0x00be -> GREATER-THAN SIGN, right-left
+ u'\u061f' # 0x00bf -> ARABIC QUESTION MARK
+ u'\u274a' # 0x00c0 -> EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+ u'\u0621' # 0x00c1 -> ARABIC LETTER HAMZA
+ u'\u0622' # 0x00c2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
+ u'\u0623' # 0x00c3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
+ u'\u0624' # 0x00c4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
+ u'\u0625' # 0x00c5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
+ u'\u0626' # 0x00c6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
+ u'\u0627' # 0x00c7 -> ARABIC LETTER ALEF
+ u'\u0628' # 0x00c8 -> ARABIC LETTER BEH
+ u'\u0629' # 0x00c9 -> ARABIC LETTER TEH MARBUTA
+ u'\u062a' # 0x00ca -> ARABIC LETTER TEH
+ u'\u062b' # 0x00cb -> ARABIC LETTER THEH
+ u'\u062c' # 0x00cc -> ARABIC LETTER JEEM
+ u'\u062d' # 0x00cd -> ARABIC LETTER HAH
+ u'\u062e' # 0x00ce -> ARABIC LETTER KHAH
+ u'\u062f' # 0x00cf -> ARABIC LETTER DAL
+ u'\u0630' # 0x00d0 -> ARABIC LETTER THAL
+ u'\u0631' # 0x00d1 -> ARABIC LETTER REH
+ u'\u0632' # 0x00d2 -> ARABIC LETTER ZAIN
+ u'\u0633' # 0x00d3 -> ARABIC LETTER SEEN
+ u'\u0634' # 0x00d4 -> ARABIC LETTER SHEEN
+ u'\u0635' # 0x00d5 -> ARABIC LETTER SAD
+ u'\u0636' # 0x00d6 -> ARABIC LETTER DAD
+ u'\u0637' # 0x00d7 -> ARABIC LETTER TAH
+ u'\u0638' # 0x00d8 -> ARABIC LETTER ZAH
+ u'\u0639' # 0x00d9 -> ARABIC LETTER AIN
+ u'\u063a' # 0x00da -> ARABIC LETTER GHAIN
+ u'[' # 0x00db -> LEFT SQUARE BRACKET, right-left
+ u'\\' # 0x00dc -> REVERSE SOLIDUS, right-left
+ u']' # 0x00dd -> RIGHT SQUARE BRACKET, right-left
+ u'^' # 0x00de -> CIRCUMFLEX ACCENT, right-left
+ u'_' # 0x00df -> LOW LINE, right-left
+ u'\u0640' # 0x00e0 -> ARABIC TATWEEL
+ u'\u0641' # 0x00e1 -> ARABIC LETTER FEH
+ u'\u0642' # 0x00e2 -> ARABIC LETTER QAF
+ u'\u0643' # 0x00e3 -> ARABIC LETTER KAF
+ u'\u0644' # 0x00e4 -> ARABIC LETTER LAM
+ u'\u0645' # 0x00e5 -> ARABIC LETTER MEEM
+ u'\u0646' # 0x00e6 -> ARABIC LETTER NOON
+ u'\u0647' # 0x00e7 -> ARABIC LETTER HEH
+ u'\u0648' # 0x00e8 -> ARABIC LETTER WAW
+ u'\u0649' # 0x00e9 -> ARABIC LETTER ALEF MAKSURA
+ u'\u064a' # 0x00ea -> ARABIC LETTER YEH
+ u'\u064b' # 0x00eb -> ARABIC FATHATAN
+ u'\u064c' # 0x00ec -> ARABIC DAMMATAN
+ u'\u064d' # 0x00ed -> ARABIC KASRATAN
+ u'\u064e' # 0x00ee -> ARABIC FATHA
+ u'\u064f' # 0x00ef -> ARABIC DAMMA
+ u'\u0650' # 0x00f0 -> ARABIC KASRA
+ u'\u0651' # 0x00f1 -> ARABIC SHADDA
+ u'\u0652' # 0x00f2 -> ARABIC SUKUN
+ u'\u067e' # 0x00f3 -> ARABIC LETTER PEH
+ u'\u0679' # 0x00f4 -> ARABIC LETTER TTEH
+ u'\u0686' # 0x00f5 -> ARABIC LETTER TCHEH
+ u'\u06d5' # 0x00f6 -> ARABIC LETTER AE
+ u'\u06a4' # 0x00f7 -> ARABIC LETTER VEH
+ u'\u06af' # 0x00f8 -> ARABIC LETTER GAF
+ u'\u0688' # 0x00f9 -> ARABIC LETTER DDAL
+ u'\u0691' # 0x00fa -> ARABIC LETTER RREH
+ u'{' # 0x00fb -> LEFT CURLY BRACKET, right-left
+ u'|' # 0x00fc -> VERTICAL LINE, right-left
+ u'}' # 0x00fd -> RIGHT CURLY BRACKET, right-left
+ u'\u0698' # 0x00fe -> ARABIC LETTER JEH
+ u'\u06d2' # 0x00ff -> ARABIC LETTER YEH BARREE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x0000, # CONTROL CHARACTER
- 0x0001: 0x0001, # CONTROL CHARACTER
- 0x0002: 0x0002, # CONTROL CHARACTER
- 0x0003: 0x0003, # CONTROL CHARACTER
- 0x0004: 0x0004, # CONTROL CHARACTER
- 0x0005: 0x0005, # CONTROL CHARACTER
- 0x0006: 0x0006, # CONTROL CHARACTER
- 0x0007: 0x0007, # CONTROL CHARACTER
- 0x0008: 0x0008, # CONTROL CHARACTER
- 0x0009: 0x0009, # CONTROL CHARACTER
- 0x000a: 0x000a, # CONTROL CHARACTER
- 0x000b: 0x000b, # CONTROL CHARACTER
- 0x000c: 0x000c, # CONTROL CHARACTER
- 0x000d: 0x000d, # CONTROL CHARACTER
- 0x000e: 0x000e, # CONTROL CHARACTER
- 0x000f: 0x000f, # CONTROL CHARACTER
- 0x0010: 0x0010, # CONTROL CHARACTER
- 0x0011: 0x0011, # CONTROL CHARACTER
- 0x0012: 0x0012, # CONTROL CHARACTER
- 0x0013: 0x0013, # CONTROL CHARACTER
- 0x0014: 0x0014, # CONTROL CHARACTER
- 0x0015: 0x0015, # CONTROL CHARACTER
- 0x0016: 0x0016, # CONTROL CHARACTER
- 0x0017: 0x0017, # CONTROL CHARACTER
- 0x0018: 0x0018, # CONTROL CHARACTER
- 0x0019: 0x0019, # CONTROL CHARACTER
- 0x001a: 0x001a, # CONTROL CHARACTER
- 0x001b: 0x001b, # CONTROL CHARACTER
- 0x001c: 0x001c, # CONTROL CHARACTER
- 0x001d: 0x001d, # CONTROL CHARACTER
- 0x001e: 0x001e, # CONTROL CHARACTER
- 0x001f: 0x001f, # CONTROL CHARACTER
- 0x0020: 0x0020, # SPACE, left-right
- 0x0020: 0x00a0, # SPACE, right-left
- 0x0021: 0x0021, # EXCLAMATION MARK, left-right
- 0x0021: 0x00a1, # EXCLAMATION MARK, right-left
- 0x0022: 0x0022, # QUOTATION MARK, left-right
- 0x0022: 0x00a2, # QUOTATION MARK, right-left
- 0x0023: 0x0023, # NUMBER SIGN, left-right
- 0x0023: 0x00a3, # NUMBER SIGN, right-left
- 0x0024: 0x0024, # DOLLAR SIGN, left-right
- 0x0024: 0x00a4, # DOLLAR SIGN, right-left
- 0x0025: 0x0025, # PERCENT SIGN, left-right
- 0x0026: 0x0026, # AMPERSAND, left-right
- 0x0026: 0x00a6, # AMPERSAND, right-left
- 0x0027: 0x0027, # APOSTROPHE, left-right
- 0x0027: 0x00a7, # APOSTROPHE, right-left
- 0x0028: 0x0028, # LEFT PARENTHESIS, left-right
- 0x0028: 0x00a8, # LEFT PARENTHESIS, right-left
- 0x0029: 0x0029, # RIGHT PARENTHESIS, left-right
- 0x0029: 0x00a9, # RIGHT PARENTHESIS, right-left
- 0x002a: 0x002a, # ASTERISK, left-right
- 0x002a: 0x00aa, # ASTERISK, right-left
- 0x002b: 0x002b, # PLUS SIGN, left-right
- 0x002b: 0x00ab, # PLUS SIGN, right-left
- 0x002c: 0x002c, # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
- 0x002d: 0x002d, # HYPHEN-MINUS, left-right
- 0x002d: 0x00ad, # HYPHEN-MINUS, right-left
- 0x002e: 0x002e, # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
- 0x002e: 0x00ae, # FULL STOP, right-left
- 0x002f: 0x002f, # SOLIDUS, left-right
- 0x002f: 0x00af, # SOLIDUS, right-left
- 0x0030: 0x0030, # DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
- 0x0031: 0x0031, # DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
- 0x0032: 0x0032, # DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
- 0x0033: 0x0033, # DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
- 0x0034: 0x0034, # DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
- 0x0035: 0x0035, # DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
- 0x0036: 0x0036, # DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
- 0x0037: 0x0037, # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
- 0x0038: 0x0038, # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
- 0x0039: 0x0039, # DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
- 0x003a: 0x003a, # COLON, left-right
- 0x003a: 0x00ba, # COLON, right-left
- 0x003b: 0x003b, # SEMICOLON, left-right
- 0x003c: 0x003c, # LESS-THAN SIGN, left-right
- 0x003c: 0x00bc, # LESS-THAN SIGN, right-left
- 0x003d: 0x003d, # EQUALS SIGN, left-right
- 0x003d: 0x00bd, # EQUALS SIGN, right-left
- 0x003e: 0x003e, # GREATER-THAN SIGN, left-right
- 0x003e: 0x00be, # GREATER-THAN SIGN, right-left
- 0x003f: 0x003f, # QUESTION MARK, left-right
- 0x0040: 0x0040, # COMMERCIAL AT
- 0x0041: 0x0041, # LATIN CAPITAL LETTER A
- 0x0042: 0x0042, # LATIN CAPITAL LETTER B
- 0x0043: 0x0043, # LATIN CAPITAL LETTER C
- 0x0044: 0x0044, # LATIN CAPITAL LETTER D
- 0x0045: 0x0045, # LATIN CAPITAL LETTER E
- 0x0046: 0x0046, # LATIN CAPITAL LETTER F
- 0x0047: 0x0047, # LATIN CAPITAL LETTER G
- 0x0048: 0x0048, # LATIN CAPITAL LETTER H
- 0x0049: 0x0049, # LATIN CAPITAL LETTER I
- 0x004a: 0x004a, # LATIN CAPITAL LETTER J
- 0x004b: 0x004b, # LATIN CAPITAL LETTER K
- 0x004c: 0x004c, # LATIN CAPITAL LETTER L
- 0x004d: 0x004d, # LATIN CAPITAL LETTER M
- 0x004e: 0x004e, # LATIN CAPITAL LETTER N
- 0x004f: 0x004f, # LATIN CAPITAL LETTER O
- 0x0050: 0x0050, # LATIN CAPITAL LETTER P
- 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
- 0x0052: 0x0052, # LATIN CAPITAL LETTER R
- 0x0053: 0x0053, # LATIN CAPITAL LETTER S
- 0x0054: 0x0054, # LATIN CAPITAL LETTER T
- 0x0055: 0x0055, # LATIN CAPITAL LETTER U
- 0x0056: 0x0056, # LATIN CAPITAL LETTER V
- 0x0057: 0x0057, # LATIN CAPITAL LETTER W
- 0x0058: 0x0058, # LATIN CAPITAL LETTER X
- 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
- 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
- 0x005b: 0x005b, # LEFT SQUARE BRACKET, left-right
- 0x005b: 0x00db, # LEFT SQUARE BRACKET, right-left
- 0x005c: 0x005c, # REVERSE SOLIDUS, left-right
- 0x005c: 0x00dc, # REVERSE SOLIDUS, right-left
- 0x005d: 0x005d, # RIGHT SQUARE BRACKET, left-right
- 0x005d: 0x00dd, # RIGHT SQUARE BRACKET, right-left
- 0x005e: 0x005e, # CIRCUMFLEX ACCENT, left-right
- 0x005e: 0x00de, # CIRCUMFLEX ACCENT, right-left
- 0x005f: 0x005f, # LOW LINE, left-right
- 0x005f: 0x00df, # LOW LINE, right-left
- 0x0060: 0x0060, # GRAVE ACCENT
- 0x0061: 0x0061, # LATIN SMALL LETTER A
- 0x0062: 0x0062, # LATIN SMALL LETTER B
- 0x0063: 0x0063, # LATIN SMALL LETTER C
- 0x0064: 0x0064, # LATIN SMALL LETTER D
- 0x0065: 0x0065, # LATIN SMALL LETTER E
- 0x0066: 0x0066, # LATIN SMALL LETTER F
- 0x0067: 0x0067, # LATIN SMALL LETTER G
- 0x0068: 0x0068, # LATIN SMALL LETTER H
- 0x0069: 0x0069, # LATIN SMALL LETTER I
- 0x006a: 0x006a, # LATIN SMALL LETTER J
- 0x006b: 0x006b, # LATIN SMALL LETTER K
- 0x006c: 0x006c, # LATIN SMALL LETTER L
- 0x006d: 0x006d, # LATIN SMALL LETTER M
- 0x006e: 0x006e, # LATIN SMALL LETTER N
- 0x006f: 0x006f, # LATIN SMALL LETTER O
- 0x0070: 0x0070, # LATIN SMALL LETTER P
- 0x0071: 0x0071, # LATIN SMALL LETTER Q
- 0x0072: 0x0072, # LATIN SMALL LETTER R
- 0x0073: 0x0073, # LATIN SMALL LETTER S
- 0x0074: 0x0074, # LATIN SMALL LETTER T
- 0x0075: 0x0075, # LATIN SMALL LETTER U
- 0x0076: 0x0076, # LATIN SMALL LETTER V
- 0x0077: 0x0077, # LATIN SMALL LETTER W
- 0x0078: 0x0078, # LATIN SMALL LETTER X
- 0x0079: 0x0079, # LATIN SMALL LETTER Y
- 0x007a: 0x007a, # LATIN SMALL LETTER Z
- 0x007b: 0x007b, # LEFT CURLY BRACKET, left-right
- 0x007b: 0x00fb, # LEFT CURLY BRACKET, right-left
- 0x007c: 0x007c, # VERTICAL LINE, left-right
- 0x007c: 0x00fc, # VERTICAL LINE, right-left
- 0x007d: 0x007d, # RIGHT CURLY BRACKET, left-right
- 0x007d: 0x00fd, # RIGHT CURLY BRACKET, right-left
- 0x007e: 0x007e, # TILDE
- 0x007f: 0x007f, # CONTROL CHARACTER
- 0x00a0: 0x0081, # NO-BREAK SPACE, right-left
- 0x00ab: 0x008c, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- 0x00bb: 0x0098, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- 0x00c4: 0x0080, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00c7: 0x0082, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00c9: 0x0083, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00d1: 0x0084, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00d6: 0x0085, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00dc: 0x0086, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00e0: 0x0088, # LATIN SMALL LETTER A WITH GRAVE
- 0x00e1: 0x0087, # LATIN SMALL LETTER A WITH ACUTE
- 0x00e2: 0x0089, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00e4: 0x008a, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00e7: 0x008d, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00e8: 0x008f, # LATIN SMALL LETTER E WITH GRAVE
- 0x00e9: 0x008e, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ea: 0x0090, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00eb: 0x0091, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ed: 0x0092, # LATIN SMALL LETTER I WITH ACUTE
- 0x00ee: 0x0094, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00ef: 0x0095, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00f1: 0x0096, # LATIN SMALL LETTER N WITH TILDE
- 0x00f3: 0x0097, # LATIN SMALL LETTER O WITH ACUTE
- 0x00f4: 0x0099, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00f6: 0x009a, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00f7: 0x009b, # DIVISION SIGN, right-left
- 0x00f9: 0x009d, # LATIN SMALL LETTER U WITH GRAVE
- 0x00fa: 0x009c, # LATIN SMALL LETTER U WITH ACUTE
- 0x00fb: 0x009e, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00fc: 0x009f, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x060c: 0x00ac, # ARABIC COMMA
- 0x061b: 0x00bb, # ARABIC SEMICOLON
- 0x061f: 0x00bf, # ARABIC QUESTION MARK
- 0x0621: 0x00c1, # ARABIC LETTER HAMZA
- 0x0622: 0x00c2, # ARABIC LETTER ALEF WITH MADDA ABOVE
- 0x0623: 0x00c3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
- 0x0624: 0x00c4, # ARABIC LETTER WAW WITH HAMZA ABOVE
- 0x0625: 0x00c5, # ARABIC LETTER ALEF WITH HAMZA BELOW
- 0x0626: 0x00c6, # ARABIC LETTER YEH WITH HAMZA ABOVE
- 0x0627: 0x00c7, # ARABIC LETTER ALEF
- 0x0628: 0x00c8, # ARABIC LETTER BEH
- 0x0629: 0x00c9, # ARABIC LETTER TEH MARBUTA
- 0x062a: 0x00ca, # ARABIC LETTER TEH
- 0x062b: 0x00cb, # ARABIC LETTER THEH
- 0x062c: 0x00cc, # ARABIC LETTER JEEM
- 0x062d: 0x00cd, # ARABIC LETTER HAH
- 0x062e: 0x00ce, # ARABIC LETTER KHAH
- 0x062f: 0x00cf, # ARABIC LETTER DAL
- 0x0630: 0x00d0, # ARABIC LETTER THAL
- 0x0631: 0x00d1, # ARABIC LETTER REH
- 0x0632: 0x00d2, # ARABIC LETTER ZAIN
- 0x0633: 0x00d3, # ARABIC LETTER SEEN
- 0x0634: 0x00d4, # ARABIC LETTER SHEEN
- 0x0635: 0x00d5, # ARABIC LETTER SAD
- 0x0636: 0x00d6, # ARABIC LETTER DAD
- 0x0637: 0x00d7, # ARABIC LETTER TAH
- 0x0638: 0x00d8, # ARABIC LETTER ZAH
- 0x0639: 0x00d9, # ARABIC LETTER AIN
- 0x063a: 0x00da, # ARABIC LETTER GHAIN
- 0x0640: 0x00e0, # ARABIC TATWEEL
- 0x0641: 0x00e1, # ARABIC LETTER FEH
- 0x0642: 0x00e2, # ARABIC LETTER QAF
- 0x0643: 0x00e3, # ARABIC LETTER KAF
- 0x0644: 0x00e4, # ARABIC LETTER LAM
- 0x0645: 0x00e5, # ARABIC LETTER MEEM
- 0x0646: 0x00e6, # ARABIC LETTER NOON
- 0x0647: 0x00e7, # ARABIC LETTER HEH
- 0x0648: 0x00e8, # ARABIC LETTER WAW
- 0x0649: 0x00e9, # ARABIC LETTER ALEF MAKSURA
- 0x064a: 0x00ea, # ARABIC LETTER YEH
- 0x064b: 0x00eb, # ARABIC FATHATAN
- 0x064c: 0x00ec, # ARABIC DAMMATAN
- 0x064d: 0x00ed, # ARABIC KASRATAN
- 0x064e: 0x00ee, # ARABIC FATHA
- 0x064f: 0x00ef, # ARABIC DAMMA
- 0x0650: 0x00f0, # ARABIC KASRA
- 0x0651: 0x00f1, # ARABIC SHADDA
- 0x0652: 0x00f2, # ARABIC SUKUN
- 0x0660: 0x00b0, # ARABIC-INDIC DIGIT ZERO, right-left (need override)
- 0x0661: 0x00b1, # ARABIC-INDIC DIGIT ONE, right-left (need override)
- 0x0662: 0x00b2, # ARABIC-INDIC DIGIT TWO, right-left (need override)
- 0x0663: 0x00b3, # ARABIC-INDIC DIGIT THREE, right-left (need override)
- 0x0664: 0x00b4, # ARABIC-INDIC DIGIT FOUR, right-left (need override)
- 0x0665: 0x00b5, # ARABIC-INDIC DIGIT FIVE, right-left (need override)
- 0x0666: 0x00b6, # ARABIC-INDIC DIGIT SIX, right-left (need override)
- 0x0667: 0x00b7, # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
- 0x0668: 0x00b8, # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
- 0x0669: 0x00b9, # ARABIC-INDIC DIGIT NINE, right-left (need override)
- 0x066a: 0x00a5, # ARABIC PERCENT SIGN
- 0x0679: 0x00f4, # ARABIC LETTER TTEH
- 0x067e: 0x00f3, # ARABIC LETTER PEH
- 0x0686: 0x00f5, # ARABIC LETTER TCHEH
- 0x0688: 0x00f9, # ARABIC LETTER DDAL
- 0x0691: 0x00fa, # ARABIC LETTER RREH
- 0x0698: 0x00fe, # ARABIC LETTER JEH
- 0x06a4: 0x00f7, # ARABIC LETTER VEH
- 0x06af: 0x00f8, # ARABIC LETTER GAF
- 0x06ba: 0x008b, # ARABIC LETTER NOON GHUNNA
- 0x06d2: 0x00ff, # ARABIC LETTER YEH BARREE
- 0x06d5: 0x00f6, # ARABIC LETTER AE
- 0x2026: 0x0093, # HORIZONTAL ELLIPSIS, right-left
- 0x274a: 0x00c0, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
-} \ No newline at end of file
+ 0x0000: 0x0000, # CONTROL CHARACTER
+ 0x0001: 0x0001, # CONTROL CHARACTER
+ 0x0002: 0x0002, # CONTROL CHARACTER
+ 0x0003: 0x0003, # CONTROL CHARACTER
+ 0x0004: 0x0004, # CONTROL CHARACTER
+ 0x0005: 0x0005, # CONTROL CHARACTER
+ 0x0006: 0x0006, # CONTROL CHARACTER
+ 0x0007: 0x0007, # CONTROL CHARACTER
+ 0x0008: 0x0008, # CONTROL CHARACTER
+ 0x0009: 0x0009, # CONTROL CHARACTER
+ 0x000a: 0x000a, # CONTROL CHARACTER
+ 0x000b: 0x000b, # CONTROL CHARACTER
+ 0x000c: 0x000c, # CONTROL CHARACTER
+ 0x000d: 0x000d, # CONTROL CHARACTER
+ 0x000e: 0x000e, # CONTROL CHARACTER
+ 0x000f: 0x000f, # CONTROL CHARACTER
+ 0x0010: 0x0010, # CONTROL CHARACTER
+ 0x0011: 0x0011, # CONTROL CHARACTER
+ 0x0012: 0x0012, # CONTROL CHARACTER
+ 0x0013: 0x0013, # CONTROL CHARACTER
+ 0x0014: 0x0014, # CONTROL CHARACTER
+ 0x0015: 0x0015, # CONTROL CHARACTER
+ 0x0016: 0x0016, # CONTROL CHARACTER
+ 0x0017: 0x0017, # CONTROL CHARACTER
+ 0x0018: 0x0018, # CONTROL CHARACTER
+ 0x0019: 0x0019, # CONTROL CHARACTER
+ 0x001a: 0x001a, # CONTROL CHARACTER
+ 0x001b: 0x001b, # CONTROL CHARACTER
+ 0x001c: 0x001c, # CONTROL CHARACTER
+ 0x001d: 0x001d, # CONTROL CHARACTER
+ 0x001e: 0x001e, # CONTROL CHARACTER
+ 0x001f: 0x001f, # CONTROL CHARACTER
+ 0x0020: 0x0020, # SPACE, left-right
+ 0x0020: 0x00a0, # SPACE, right-left
+ 0x0021: 0x0021, # EXCLAMATION MARK, left-right
+ 0x0021: 0x00a1, # EXCLAMATION MARK, right-left
+ 0x0022: 0x0022, # QUOTATION MARK, left-right
+ 0x0022: 0x00a2, # QUOTATION MARK, right-left
+ 0x0023: 0x0023, # NUMBER SIGN, left-right
+ 0x0023: 0x00a3, # NUMBER SIGN, right-left
+ 0x0024: 0x0024, # DOLLAR SIGN, left-right
+ 0x0024: 0x00a4, # DOLLAR SIGN, right-left
+ 0x0025: 0x0025, # PERCENT SIGN, left-right
+ 0x0026: 0x0026, # AMPERSAND, left-right
+ 0x0026: 0x00a6, # AMPERSAND, right-left
+ 0x0027: 0x0027, # APOSTROPHE, left-right
+ 0x0027: 0x00a7, # APOSTROPHE, right-left
+ 0x0028: 0x0028, # LEFT PARENTHESIS, left-right
+ 0x0028: 0x00a8, # LEFT PARENTHESIS, right-left
+ 0x0029: 0x0029, # RIGHT PARENTHESIS, left-right
+ 0x0029: 0x00a9, # RIGHT PARENTHESIS, right-left
+ 0x002a: 0x002a, # ASTERISK, left-right
+ 0x002a: 0x00aa, # ASTERISK, right-left
+ 0x002b: 0x002b, # PLUS SIGN, left-right
+ 0x002b: 0x00ab, # PLUS SIGN, right-left
+ 0x002c: 0x002c, # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+ 0x002d: 0x002d, # HYPHEN-MINUS, left-right
+ 0x002d: 0x00ad, # HYPHEN-MINUS, right-left
+ 0x002e: 0x002e, # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
+ 0x002e: 0x00ae, # FULL STOP, right-left
+ 0x002f: 0x002f, # SOLIDUS, left-right
+ 0x002f: 0x00af, # SOLIDUS, right-left
+ 0x0030: 0x0030, # DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
+ 0x0031: 0x0031, # DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
+ 0x0032: 0x0032, # DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
+ 0x0033: 0x0033, # DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
+ 0x0034: 0x0034, # DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
+ 0x0035: 0x0035, # DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
+ 0x0036: 0x0036, # DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
+ 0x0037: 0x0037, # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
+ 0x0038: 0x0038, # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
+ 0x0039: 0x0039, # DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
+ 0x003a: 0x003a, # COLON, left-right
+ 0x003a: 0x00ba, # COLON, right-left
+ 0x003b: 0x003b, # SEMICOLON, left-right
+ 0x003c: 0x003c, # LESS-THAN SIGN, left-right
+ 0x003c: 0x00bc, # LESS-THAN SIGN, right-left
+ 0x003d: 0x003d, # EQUALS SIGN, left-right
+ 0x003d: 0x00bd, # EQUALS SIGN, right-left
+ 0x003e: 0x003e, # GREATER-THAN SIGN, left-right
+ 0x003e: 0x00be, # GREATER-THAN SIGN, right-left
+ 0x003f: 0x003f, # QUESTION MARK, left-right
+ 0x0040: 0x0040, # COMMERCIAL AT
+ 0x0041: 0x0041, # LATIN CAPITAL LETTER A
+ 0x0042: 0x0042, # LATIN CAPITAL LETTER B
+ 0x0043: 0x0043, # LATIN CAPITAL LETTER C
+ 0x0044: 0x0044, # LATIN CAPITAL LETTER D
+ 0x0045: 0x0045, # LATIN CAPITAL LETTER E
+ 0x0046: 0x0046, # LATIN CAPITAL LETTER F
+ 0x0047: 0x0047, # LATIN CAPITAL LETTER G
+ 0x0048: 0x0048, # LATIN CAPITAL LETTER H
+ 0x0049: 0x0049, # LATIN CAPITAL LETTER I
+ 0x004a: 0x004a, # LATIN CAPITAL LETTER J
+ 0x004b: 0x004b, # LATIN CAPITAL LETTER K
+ 0x004c: 0x004c, # LATIN CAPITAL LETTER L
+ 0x004d: 0x004d, # LATIN CAPITAL LETTER M
+ 0x004e: 0x004e, # LATIN CAPITAL LETTER N
+ 0x004f: 0x004f, # LATIN CAPITAL LETTER O
+ 0x0050: 0x0050, # LATIN CAPITAL LETTER P
+ 0x0051: 0x0051, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x0052, # LATIN CAPITAL LETTER R
+ 0x0053: 0x0053, # LATIN CAPITAL LETTER S
+ 0x0054: 0x0054, # LATIN CAPITAL LETTER T
+ 0x0055: 0x0055, # LATIN CAPITAL LETTER U
+ 0x0056: 0x0056, # LATIN CAPITAL LETTER V
+ 0x0057: 0x0057, # LATIN CAPITAL LETTER W
+ 0x0058: 0x0058, # LATIN CAPITAL LETTER X
+ 0x0059: 0x0059, # LATIN CAPITAL LETTER Y
+ 0x005a: 0x005a, # LATIN CAPITAL LETTER Z
+ 0x005b: 0x005b, # LEFT SQUARE BRACKET, left-right
+ 0x005b: 0x00db, # LEFT SQUARE BRACKET, right-left
+ 0x005c: 0x005c, # REVERSE SOLIDUS, left-right
+ 0x005c: 0x00dc, # REVERSE SOLIDUS, right-left
+ 0x005d: 0x005d, # RIGHT SQUARE BRACKET, left-right
+ 0x005d: 0x00dd, # RIGHT SQUARE BRACKET, right-left
+ 0x005e: 0x005e, # CIRCUMFLEX ACCENT, left-right
+ 0x005e: 0x00de, # CIRCUMFLEX ACCENT, right-left
+ 0x005f: 0x005f, # LOW LINE, left-right
+ 0x005f: 0x00df, # LOW LINE, right-left
+ 0x0060: 0x0060, # GRAVE ACCENT
+ 0x0061: 0x0061, # LATIN SMALL LETTER A
+ 0x0062: 0x0062, # LATIN SMALL LETTER B
+ 0x0063: 0x0063, # LATIN SMALL LETTER C
+ 0x0064: 0x0064, # LATIN SMALL LETTER D
+ 0x0065: 0x0065, # LATIN SMALL LETTER E
+ 0x0066: 0x0066, # LATIN SMALL LETTER F
+ 0x0067: 0x0067, # LATIN SMALL LETTER G
+ 0x0068: 0x0068, # LATIN SMALL LETTER H
+ 0x0069: 0x0069, # LATIN SMALL LETTER I
+ 0x006a: 0x006a, # LATIN SMALL LETTER J
+ 0x006b: 0x006b, # LATIN SMALL LETTER K
+ 0x006c: 0x006c, # LATIN SMALL LETTER L
+ 0x006d: 0x006d, # LATIN SMALL LETTER M
+ 0x006e: 0x006e, # LATIN SMALL LETTER N
+ 0x006f: 0x006f, # LATIN SMALL LETTER O
+ 0x0070: 0x0070, # LATIN SMALL LETTER P
+ 0x0071: 0x0071, # LATIN SMALL LETTER Q
+ 0x0072: 0x0072, # LATIN SMALL LETTER R
+ 0x0073: 0x0073, # LATIN SMALL LETTER S
+ 0x0074: 0x0074, # LATIN SMALL LETTER T
+ 0x0075: 0x0075, # LATIN SMALL LETTER U
+ 0x0076: 0x0076, # LATIN SMALL LETTER V
+ 0x0077: 0x0077, # LATIN SMALL LETTER W
+ 0x0078: 0x0078, # LATIN SMALL LETTER X
+ 0x0079: 0x0079, # LATIN SMALL LETTER Y
+ 0x007a: 0x007a, # LATIN SMALL LETTER Z
+ 0x007b: 0x007b, # LEFT CURLY BRACKET, left-right
+ 0x007b: 0x00fb, # LEFT CURLY BRACKET, right-left
+ 0x007c: 0x007c, # VERTICAL LINE, left-right
+ 0x007c: 0x00fc, # VERTICAL LINE, right-left
+ 0x007d: 0x007d, # RIGHT CURLY BRACKET, left-right
+ 0x007d: 0x00fd, # RIGHT CURLY BRACKET, right-left
+ 0x007e: 0x007e, # TILDE
+ 0x007f: 0x007f, # CONTROL CHARACTER
+ 0x00a0: 0x0081, # NO-BREAK SPACE, right-left
+ 0x00ab: 0x008c, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ 0x00bb: 0x0098, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ 0x00c4: 0x0080, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00c7: 0x0082, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00c9: 0x0083, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00d1: 0x0084, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00d6: 0x0085, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00dc: 0x0086, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00e0: 0x0088, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00e1: 0x0087, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00e2: 0x0089, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00e4: 0x008a, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00e7: 0x008d, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00e8: 0x008f, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00e9: 0x008e, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ea: 0x0090, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00eb: 0x0091, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ed: 0x0092, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00ee: 0x0094, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00ef: 0x0095, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00f1: 0x0096, # LATIN SMALL LETTER N WITH TILDE
+ 0x00f3: 0x0097, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00f4: 0x0099, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00f6: 0x009a, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00f7: 0x009b, # DIVISION SIGN, right-left
+ 0x00f9: 0x009d, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00fa: 0x009c, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00fb: 0x009e, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00fc: 0x009f, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x060c: 0x00ac, # ARABIC COMMA
+ 0x061b: 0x00bb, # ARABIC SEMICOLON
+ 0x061f: 0x00bf, # ARABIC QUESTION MARK
+ 0x0621: 0x00c1, # ARABIC LETTER HAMZA
+ 0x0622: 0x00c2, # ARABIC LETTER ALEF WITH MADDA ABOVE
+ 0x0623: 0x00c3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
+ 0x0624: 0x00c4, # ARABIC LETTER WAW WITH HAMZA ABOVE
+ 0x0625: 0x00c5, # ARABIC LETTER ALEF WITH HAMZA BELOW
+ 0x0626: 0x00c6, # ARABIC LETTER YEH WITH HAMZA ABOVE
+ 0x0627: 0x00c7, # ARABIC LETTER ALEF
+ 0x0628: 0x00c8, # ARABIC LETTER BEH
+ 0x0629: 0x00c9, # ARABIC LETTER TEH MARBUTA
+ 0x062a: 0x00ca, # ARABIC LETTER TEH
+ 0x062b: 0x00cb, # ARABIC LETTER THEH
+ 0x062c: 0x00cc, # ARABIC LETTER JEEM
+ 0x062d: 0x00cd, # ARABIC LETTER HAH
+ 0x062e: 0x00ce, # ARABIC LETTER KHAH
+ 0x062f: 0x00cf, # ARABIC LETTER DAL
+ 0x0630: 0x00d0, # ARABIC LETTER THAL
+ 0x0631: 0x00d1, # ARABIC LETTER REH
+ 0x0632: 0x00d2, # ARABIC LETTER ZAIN
+ 0x0633: 0x00d3, # ARABIC LETTER SEEN
+ 0x0634: 0x00d4, # ARABIC LETTER SHEEN
+ 0x0635: 0x00d5, # ARABIC LETTER SAD
+ 0x0636: 0x00d6, # ARABIC LETTER DAD
+ 0x0637: 0x00d7, # ARABIC LETTER TAH
+ 0x0638: 0x00d8, # ARABIC LETTER ZAH
+ 0x0639: 0x00d9, # ARABIC LETTER AIN
+ 0x063a: 0x00da, # ARABIC LETTER GHAIN
+ 0x0640: 0x00e0, # ARABIC TATWEEL
+ 0x0641: 0x00e1, # ARABIC LETTER FEH
+ 0x0642: 0x00e2, # ARABIC LETTER QAF
+ 0x0643: 0x00e3, # ARABIC LETTER KAF
+ 0x0644: 0x00e4, # ARABIC LETTER LAM
+ 0x0645: 0x00e5, # ARABIC LETTER MEEM
+ 0x0646: 0x00e6, # ARABIC LETTER NOON
+ 0x0647: 0x00e7, # ARABIC LETTER HEH
+ 0x0648: 0x00e8, # ARABIC LETTER WAW
+ 0x0649: 0x00e9, # ARABIC LETTER ALEF MAKSURA
+ 0x064a: 0x00ea, # ARABIC LETTER YEH
+ 0x064b: 0x00eb, # ARABIC FATHATAN
+ 0x064c: 0x00ec, # ARABIC DAMMATAN
+ 0x064d: 0x00ed, # ARABIC KASRATAN
+ 0x064e: 0x00ee, # ARABIC FATHA
+ 0x064f: 0x00ef, # ARABIC DAMMA
+ 0x0650: 0x00f0, # ARABIC KASRA
+ 0x0651: 0x00f1, # ARABIC SHADDA
+ 0x0652: 0x00f2, # ARABIC SUKUN
+ 0x0660: 0x00b0, # ARABIC-INDIC DIGIT ZERO, right-left (need override)
+ 0x0661: 0x00b1, # ARABIC-INDIC DIGIT ONE, right-left (need override)
+ 0x0662: 0x00b2, # ARABIC-INDIC DIGIT TWO, right-left (need override)
+ 0x0663: 0x00b3, # ARABIC-INDIC DIGIT THREE, right-left (need override)
+ 0x0664: 0x00b4, # ARABIC-INDIC DIGIT FOUR, right-left (need override)
+ 0x0665: 0x00b5, # ARABIC-INDIC DIGIT FIVE, right-left (need override)
+ 0x0666: 0x00b6, # ARABIC-INDIC DIGIT SIX, right-left (need override)
+ 0x0667: 0x00b7, # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+ 0x0668: 0x00b8, # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+ 0x0669: 0x00b9, # ARABIC-INDIC DIGIT NINE, right-left (need override)
+ 0x066a: 0x00a5, # ARABIC PERCENT SIGN
+ 0x0679: 0x00f4, # ARABIC LETTER TTEH
+ 0x067e: 0x00f3, # ARABIC LETTER PEH
+ 0x0686: 0x00f5, # ARABIC LETTER TCHEH
+ 0x0688: 0x00f9, # ARABIC LETTER DDAL
+ 0x0691: 0x00fa, # ARABIC LETTER RREH
+ 0x0698: 0x00fe, # ARABIC LETTER JEH
+ 0x06a4: 0x00f7, # ARABIC LETTER VEH
+ 0x06af: 0x00f8, # ARABIC LETTER GAF
+ 0x06ba: 0x008b, # ARABIC LETTER NOON GHUNNA
+ 0x06d2: 0x00ff, # ARABIC LETTER YEH BARREE
+ 0x06d5: 0x00f6, # ARABIC LETTER AE
+ 0x2026: 0x0093, # HORIZONTAL ELLIPSIS, right-left
+ 0x274a: 0x00c0, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+}
diff --git a/Lib/encodings/mac_centeuro.py b/Lib/encodings/mac_centeuro.py
index dffc025..d7d67ec 100644
--- a/Lib/encodings/mac_centeuro.py
+++ b/Lib/encodings/mac_centeuro.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\u0100' # 0x81 -> LATIN CAPITAL LETTER A WITH MACRON
- u'\u0101' # 0x82 -> LATIN SMALL LETTER A WITH MACRON
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\u0104' # 0x84 -> LATIN CAPITAL LETTER A WITH OGONEK
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\u0105' # 0x88 -> LATIN SMALL LETTER A WITH OGONEK
- u'\u010c' # 0x89 -> LATIN CAPITAL LETTER C WITH CARON
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u010d' # 0x8B -> LATIN SMALL LETTER C WITH CARON
- u'\u0106' # 0x8C -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\u0107' # 0x8D -> LATIN SMALL LETTER C WITH ACUTE
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\u0179' # 0x8F -> LATIN CAPITAL LETTER Z WITH ACUTE
- u'\u017a' # 0x90 -> LATIN SMALL LETTER Z WITH ACUTE
- u'\u010e' # 0x91 -> LATIN CAPITAL LETTER D WITH CARON
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\u010f' # 0x93 -> LATIN SMALL LETTER D WITH CARON
- u'\u0112' # 0x94 -> LATIN CAPITAL LETTER E WITH MACRON
- u'\u0113' # 0x95 -> LATIN SMALL LETTER E WITH MACRON
- u'\u0116' # 0x96 -> LATIN CAPITAL LETTER E WITH DOT ABOVE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\u0117' # 0x98 -> LATIN SMALL LETTER E WITH DOT ABOVE
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\u011a' # 0x9D -> LATIN CAPITAL LETTER E WITH CARON
- u'\u011b' # 0x9E -> LATIN SMALL LETTER E WITH CARON
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u2020' # 0xA0 -> DAGGER
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\u0118' # 0xA2 -> LATIN CAPITAL LETTER E WITH OGONEK
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\u0119' # 0xAB -> LATIN SMALL LETTER E WITH OGONEK
- u'\xa8' # 0xAC -> DIAERESIS
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\u0123' # 0xAE -> LATIN SMALL LETTER G WITH CEDILLA
- u'\u012e' # 0xAF -> LATIN CAPITAL LETTER I WITH OGONEK
- u'\u012f' # 0xB0 -> LATIN SMALL LETTER I WITH OGONEK
- u'\u012a' # 0xB1 -> LATIN CAPITAL LETTER I WITH MACRON
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\u012b' # 0xB4 -> LATIN SMALL LETTER I WITH MACRON
- u'\u0136' # 0xB5 -> LATIN CAPITAL LETTER K WITH CEDILLA
- u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
- u'\u2211' # 0xB7 -> N-ARY SUMMATION
- u'\u0142' # 0xB8 -> LATIN SMALL LETTER L WITH STROKE
- u'\u013b' # 0xB9 -> LATIN CAPITAL LETTER L WITH CEDILLA
- u'\u013c' # 0xBA -> LATIN SMALL LETTER L WITH CEDILLA
- u'\u013d' # 0xBB -> LATIN CAPITAL LETTER L WITH CARON
- u'\u013e' # 0xBC -> LATIN SMALL LETTER L WITH CARON
- u'\u0139' # 0xBD -> LATIN CAPITAL LETTER L WITH ACUTE
- u'\u013a' # 0xBE -> LATIN SMALL LETTER L WITH ACUTE
- u'\u0145' # 0xBF -> LATIN CAPITAL LETTER N WITH CEDILLA
- u'\u0146' # 0xC0 -> LATIN SMALL LETTER N WITH CEDILLA
- u'\u0143' # 0xC1 -> LATIN CAPITAL LETTER N WITH ACUTE
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0144' # 0xC4 -> LATIN SMALL LETTER N WITH ACUTE
- u'\u0147' # 0xC5 -> LATIN CAPITAL LETTER N WITH CARON
- u'\u2206' # 0xC6 -> INCREMENT
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\u0148' # 0xCB -> LATIN SMALL LETTER N WITH CARON
- u'\u0150' # 0xCC -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
- u'\u0151' # 0xCE -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
- u'\u014c' # 0xCF -> LATIN CAPITAL LETTER O WITH MACRON
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u25ca' # 0xD7 -> LOZENGE
- u'\u014d' # 0xD8 -> LATIN SMALL LETTER O WITH MACRON
- u'\u0154' # 0xD9 -> LATIN CAPITAL LETTER R WITH ACUTE
- u'\u0155' # 0xDA -> LATIN SMALL LETTER R WITH ACUTE
- u'\u0158' # 0xDB -> LATIN CAPITAL LETTER R WITH CARON
- u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u0159' # 0xDE -> LATIN SMALL LETTER R WITH CARON
- u'\u0156' # 0xDF -> LATIN CAPITAL LETTER R WITH CEDILLA
- u'\u0157' # 0xE0 -> LATIN SMALL LETTER R WITH CEDILLA
- u'\u0160' # 0xE1 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
- u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u0161' # 0xE4 -> LATIN SMALL LETTER S WITH CARON
- u'\u015a' # 0xE5 -> LATIN CAPITAL LETTER S WITH ACUTE
- u'\u015b' # 0xE6 -> LATIN SMALL LETTER S WITH ACUTE
- u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\u0164' # 0xE8 -> LATIN CAPITAL LETTER T WITH CARON
- u'\u0165' # 0xE9 -> LATIN SMALL LETTER T WITH CARON
- u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\u017d' # 0xEB -> LATIN CAPITAL LETTER Z WITH CARON
- u'\u017e' # 0xEC -> LATIN SMALL LETTER Z WITH CARON
- u'\u016a' # 0xED -> LATIN CAPITAL LETTER U WITH MACRON
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u016b' # 0xF0 -> LATIN SMALL LETTER U WITH MACRON
- u'\u016e' # 0xF1 -> LATIN CAPITAL LETTER U WITH RING ABOVE
- u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\u016f' # 0xF3 -> LATIN SMALL LETTER U WITH RING ABOVE
- u'\u0170' # 0xF4 -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- u'\u0171' # 0xF5 -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
- u'\u0172' # 0xF6 -> LATIN CAPITAL LETTER U WITH OGONEK
- u'\u0173' # 0xF7 -> LATIN SMALL LETTER U WITH OGONEK
- u'\xdd' # 0xF8 -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xfd' # 0xF9 -> LATIN SMALL LETTER Y WITH ACUTE
- u'\u0137' # 0xFA -> LATIN SMALL LETTER K WITH CEDILLA
- u'\u017b' # 0xFB -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
- u'\u0141' # 0xFC -> LATIN CAPITAL LETTER L WITH STROKE
- u'\u017c' # 0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE
- u'\u0122' # 0xFE -> LATIN CAPITAL LETTER G WITH CEDILLA
- u'\u02c7' # 0xFF -> CARON
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\u0100' # 0x81 -> LATIN CAPITAL LETTER A WITH MACRON
+ u'\u0101' # 0x82 -> LATIN SMALL LETTER A WITH MACRON
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\u0104' # 0x84 -> LATIN CAPITAL LETTER A WITH OGONEK
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\u0105' # 0x88 -> LATIN SMALL LETTER A WITH OGONEK
+ u'\u010c' # 0x89 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u010d' # 0x8B -> LATIN SMALL LETTER C WITH CARON
+ u'\u0106' # 0x8C -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\u0107' # 0x8D -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\u0179' # 0x8F -> LATIN CAPITAL LETTER Z WITH ACUTE
+ u'\u017a' # 0x90 -> LATIN SMALL LETTER Z WITH ACUTE
+ u'\u010e' # 0x91 -> LATIN CAPITAL LETTER D WITH CARON
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\u010f' # 0x93 -> LATIN SMALL LETTER D WITH CARON
+ u'\u0112' # 0x94 -> LATIN CAPITAL LETTER E WITH MACRON
+ u'\u0113' # 0x95 -> LATIN SMALL LETTER E WITH MACRON
+ u'\u0116' # 0x96 -> LATIN CAPITAL LETTER E WITH DOT ABOVE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\u0117' # 0x98 -> LATIN SMALL LETTER E WITH DOT ABOVE
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\u011a' # 0x9D -> LATIN CAPITAL LETTER E WITH CARON
+ u'\u011b' # 0x9E -> LATIN SMALL LETTER E WITH CARON
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\u0118' # 0xA2 -> LATIN CAPITAL LETTER E WITH OGONEK
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\u0119' # 0xAB -> LATIN SMALL LETTER E WITH OGONEK
+ u'\xa8' # 0xAC -> DIAERESIS
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\u0123' # 0xAE -> LATIN SMALL LETTER G WITH CEDILLA
+ u'\u012e' # 0xAF -> LATIN CAPITAL LETTER I WITH OGONEK
+ u'\u012f' # 0xB0 -> LATIN SMALL LETTER I WITH OGONEK
+ u'\u012a' # 0xB1 -> LATIN CAPITAL LETTER I WITH MACRON
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\u012b' # 0xB4 -> LATIN SMALL LETTER I WITH MACRON
+ u'\u0136' # 0xB5 -> LATIN CAPITAL LETTER K WITH CEDILLA
+ u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
+ u'\u2211' # 0xB7 -> N-ARY SUMMATION
+ u'\u0142' # 0xB8 -> LATIN SMALL LETTER L WITH STROKE
+ u'\u013b' # 0xB9 -> LATIN CAPITAL LETTER L WITH CEDILLA
+ u'\u013c' # 0xBA -> LATIN SMALL LETTER L WITH CEDILLA
+ u'\u013d' # 0xBB -> LATIN CAPITAL LETTER L WITH CARON
+ u'\u013e' # 0xBC -> LATIN SMALL LETTER L WITH CARON
+ u'\u0139' # 0xBD -> LATIN CAPITAL LETTER L WITH ACUTE
+ u'\u013a' # 0xBE -> LATIN SMALL LETTER L WITH ACUTE
+ u'\u0145' # 0xBF -> LATIN CAPITAL LETTER N WITH CEDILLA
+ u'\u0146' # 0xC0 -> LATIN SMALL LETTER N WITH CEDILLA
+ u'\u0143' # 0xC1 -> LATIN CAPITAL LETTER N WITH ACUTE
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0144' # 0xC4 -> LATIN SMALL LETTER N WITH ACUTE
+ u'\u0147' # 0xC5 -> LATIN CAPITAL LETTER N WITH CARON
+ u'\u2206' # 0xC6 -> INCREMENT
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\u0148' # 0xCB -> LATIN SMALL LETTER N WITH CARON
+ u'\u0150' # 0xCC -> LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\u0151' # 0xCE -> LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ u'\u014c' # 0xCF -> LATIN CAPITAL LETTER O WITH MACRON
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u25ca' # 0xD7 -> LOZENGE
+ u'\u014d' # 0xD8 -> LATIN SMALL LETTER O WITH MACRON
+ u'\u0154' # 0xD9 -> LATIN CAPITAL LETTER R WITH ACUTE
+ u'\u0155' # 0xDA -> LATIN SMALL LETTER R WITH ACUTE
+ u'\u0158' # 0xDB -> LATIN CAPITAL LETTER R WITH CARON
+ u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u0159' # 0xDE -> LATIN SMALL LETTER R WITH CARON
+ u'\u0156' # 0xDF -> LATIN CAPITAL LETTER R WITH CEDILLA
+ u'\u0157' # 0xE0 -> LATIN SMALL LETTER R WITH CEDILLA
+ u'\u0160' # 0xE1 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u0161' # 0xE4 -> LATIN SMALL LETTER S WITH CARON
+ u'\u015a' # 0xE5 -> LATIN CAPITAL LETTER S WITH ACUTE
+ u'\u015b' # 0xE6 -> LATIN SMALL LETTER S WITH ACUTE
+ u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\u0164' # 0xE8 -> LATIN CAPITAL LETTER T WITH CARON
+ u'\u0165' # 0xE9 -> LATIN SMALL LETTER T WITH CARON
+ u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\u017d' # 0xEB -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\u017e' # 0xEC -> LATIN SMALL LETTER Z WITH CARON
+ u'\u016a' # 0xED -> LATIN CAPITAL LETTER U WITH MACRON
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u016b' # 0xF0 -> LATIN SMALL LETTER U WITH MACRON
+ u'\u016e' # 0xF1 -> LATIN CAPITAL LETTER U WITH RING ABOVE
+ u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\u016f' # 0xF3 -> LATIN SMALL LETTER U WITH RING ABOVE
+ u'\u0170' # 0xF4 -> LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ u'\u0171' # 0xF5 -> LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ u'\u0172' # 0xF6 -> LATIN CAPITAL LETTER U WITH OGONEK
+ u'\u0173' # 0xF7 -> LATIN SMALL LETTER U WITH OGONEK
+ u'\xdd' # 0xF8 -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xfd' # 0xF9 -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\u0137' # 0xFA -> LATIN SMALL LETTER K WITH CEDILLA
+ u'\u017b' # 0xFB -> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ u'\u0141' # 0xFC -> LATIN CAPITAL LETTER L WITH STROKE
+ u'\u017c' # 0xFD -> LATIN SMALL LETTER Z WITH DOT ABOVE
+ u'\u0122' # 0xFE -> LATIN CAPITAL LETTER G WITH CEDILLA
+ u'\u02c7' # 0xFF -> CARON
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A8: 0xAC, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xF8, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xF9, # LATIN SMALL LETTER Y WITH ACUTE
- 0x0100: 0x81, # LATIN CAPITAL LETTER A WITH MACRON
- 0x0101: 0x82, # LATIN SMALL LETTER A WITH MACRON
- 0x0104: 0x84, # LATIN CAPITAL LETTER A WITH OGONEK
- 0x0105: 0x88, # LATIN SMALL LETTER A WITH OGONEK
- 0x0106: 0x8C, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0x8D, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0x89, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0x8B, # LATIN SMALL LETTER C WITH CARON
- 0x010E: 0x91, # LATIN CAPITAL LETTER D WITH CARON
- 0x010F: 0x93, # LATIN SMALL LETTER D WITH CARON
- 0x0112: 0x94, # LATIN CAPITAL LETTER E WITH MACRON
- 0x0113: 0x95, # LATIN SMALL LETTER E WITH MACRON
- 0x0116: 0x96, # LATIN CAPITAL LETTER E WITH DOT ABOVE
- 0x0117: 0x98, # LATIN SMALL LETTER E WITH DOT ABOVE
- 0x0118: 0xA2, # LATIN CAPITAL LETTER E WITH OGONEK
- 0x0119: 0xAB, # LATIN SMALL LETTER E WITH OGONEK
- 0x011A: 0x9D, # LATIN CAPITAL LETTER E WITH CARON
- 0x011B: 0x9E, # LATIN SMALL LETTER E WITH CARON
- 0x0122: 0xFE, # LATIN CAPITAL LETTER G WITH CEDILLA
- 0x0123: 0xAE, # LATIN SMALL LETTER G WITH CEDILLA
- 0x012A: 0xB1, # LATIN CAPITAL LETTER I WITH MACRON
- 0x012B: 0xB4, # LATIN SMALL LETTER I WITH MACRON
- 0x012E: 0xAF, # LATIN CAPITAL LETTER I WITH OGONEK
- 0x012F: 0xB0, # LATIN SMALL LETTER I WITH OGONEK
- 0x0136: 0xB5, # LATIN CAPITAL LETTER K WITH CEDILLA
- 0x0137: 0xFA, # LATIN SMALL LETTER K WITH CEDILLA
- 0x0139: 0xBD, # LATIN CAPITAL LETTER L WITH ACUTE
- 0x013A: 0xBE, # LATIN SMALL LETTER L WITH ACUTE
- 0x013B: 0xB9, # LATIN CAPITAL LETTER L WITH CEDILLA
- 0x013C: 0xBA, # LATIN SMALL LETTER L WITH CEDILLA
- 0x013D: 0xBB, # LATIN CAPITAL LETTER L WITH CARON
- 0x013E: 0xBC, # LATIN SMALL LETTER L WITH CARON
- 0x0141: 0xFC, # LATIN CAPITAL LETTER L WITH STROKE
- 0x0142: 0xB8, # LATIN SMALL LETTER L WITH STROKE
- 0x0143: 0xC1, # LATIN CAPITAL LETTER N WITH ACUTE
- 0x0144: 0xC4, # LATIN SMALL LETTER N WITH ACUTE
- 0x0145: 0xBF, # LATIN CAPITAL LETTER N WITH CEDILLA
- 0x0146: 0xC0, # LATIN SMALL LETTER N WITH CEDILLA
- 0x0147: 0xC5, # LATIN CAPITAL LETTER N WITH CARON
- 0x0148: 0xCB, # LATIN SMALL LETTER N WITH CARON
- 0x014C: 0xCF, # LATIN CAPITAL LETTER O WITH MACRON
- 0x014D: 0xD8, # LATIN SMALL LETTER O WITH MACRON
- 0x0150: 0xCC, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- 0x0151: 0xCE, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
- 0x0154: 0xD9, # LATIN CAPITAL LETTER R WITH ACUTE
- 0x0155: 0xDA, # LATIN SMALL LETTER R WITH ACUTE
- 0x0156: 0xDF, # LATIN CAPITAL LETTER R WITH CEDILLA
- 0x0157: 0xE0, # LATIN SMALL LETTER R WITH CEDILLA
- 0x0158: 0xDB, # LATIN CAPITAL LETTER R WITH CARON
- 0x0159: 0xDE, # LATIN SMALL LETTER R WITH CARON
- 0x015A: 0xE5, # LATIN CAPITAL LETTER S WITH ACUTE
- 0x015B: 0xE6, # LATIN SMALL LETTER S WITH ACUTE
- 0x0160: 0xE1, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xE4, # LATIN SMALL LETTER S WITH CARON
- 0x0164: 0xE8, # LATIN CAPITAL LETTER T WITH CARON
- 0x0165: 0xE9, # LATIN SMALL LETTER T WITH CARON
- 0x016A: 0xED, # LATIN CAPITAL LETTER U WITH MACRON
- 0x016B: 0xF0, # LATIN SMALL LETTER U WITH MACRON
- 0x016E: 0xF1, # LATIN CAPITAL LETTER U WITH RING ABOVE
- 0x016F: 0xF3, # LATIN SMALL LETTER U WITH RING ABOVE
- 0x0170: 0xF4, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- 0x0171: 0xF5, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
- 0x0172: 0xF6, # LATIN CAPITAL LETTER U WITH OGONEK
- 0x0173: 0xF7, # LATIN SMALL LETTER U WITH OGONEK
- 0x0179: 0x8F, # LATIN CAPITAL LETTER Z WITH ACUTE
- 0x017A: 0x90, # LATIN SMALL LETTER Z WITH ACUTE
- 0x017B: 0xFB, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
- 0x017C: 0xFD, # LATIN SMALL LETTER Z WITH DOT ABOVE
- 0x017D: 0xEB, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xEC, # LATIN SMALL LETTER Z WITH CARON
- 0x02C7: 0xFF, # CARON
- 0x2013: 0xD0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
- 0x2206: 0xC6, # INCREMENT
- 0x2211: 0xB7, # N-ARY SUMMATION
- 0x221A: 0xC3, # SQUARE ROOT
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
- 0x25CA: 0xD7, # LOZENGE
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A8: 0xAC, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xF8, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xF9, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x0100: 0x81, # LATIN CAPITAL LETTER A WITH MACRON
+ 0x0101: 0x82, # LATIN SMALL LETTER A WITH MACRON
+ 0x0104: 0x84, # LATIN CAPITAL LETTER A WITH OGONEK
+ 0x0105: 0x88, # LATIN SMALL LETTER A WITH OGONEK
+ 0x0106: 0x8C, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0x8D, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0x89, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0x8B, # LATIN SMALL LETTER C WITH CARON
+ 0x010E: 0x91, # LATIN CAPITAL LETTER D WITH CARON
+ 0x010F: 0x93, # LATIN SMALL LETTER D WITH CARON
+ 0x0112: 0x94, # LATIN CAPITAL LETTER E WITH MACRON
+ 0x0113: 0x95, # LATIN SMALL LETTER E WITH MACRON
+ 0x0116: 0x96, # LATIN CAPITAL LETTER E WITH DOT ABOVE
+ 0x0117: 0x98, # LATIN SMALL LETTER E WITH DOT ABOVE
+ 0x0118: 0xA2, # LATIN CAPITAL LETTER E WITH OGONEK
+ 0x0119: 0xAB, # LATIN SMALL LETTER E WITH OGONEK
+ 0x011A: 0x9D, # LATIN CAPITAL LETTER E WITH CARON
+ 0x011B: 0x9E, # LATIN SMALL LETTER E WITH CARON
+ 0x0122: 0xFE, # LATIN CAPITAL LETTER G WITH CEDILLA
+ 0x0123: 0xAE, # LATIN SMALL LETTER G WITH CEDILLA
+ 0x012A: 0xB1, # LATIN CAPITAL LETTER I WITH MACRON
+ 0x012B: 0xB4, # LATIN SMALL LETTER I WITH MACRON
+ 0x012E: 0xAF, # LATIN CAPITAL LETTER I WITH OGONEK
+ 0x012F: 0xB0, # LATIN SMALL LETTER I WITH OGONEK
+ 0x0136: 0xB5, # LATIN CAPITAL LETTER K WITH CEDILLA
+ 0x0137: 0xFA, # LATIN SMALL LETTER K WITH CEDILLA
+ 0x0139: 0xBD, # LATIN CAPITAL LETTER L WITH ACUTE
+ 0x013A: 0xBE, # LATIN SMALL LETTER L WITH ACUTE
+ 0x013B: 0xB9, # LATIN CAPITAL LETTER L WITH CEDILLA
+ 0x013C: 0xBA, # LATIN SMALL LETTER L WITH CEDILLA
+ 0x013D: 0xBB, # LATIN CAPITAL LETTER L WITH CARON
+ 0x013E: 0xBC, # LATIN SMALL LETTER L WITH CARON
+ 0x0141: 0xFC, # LATIN CAPITAL LETTER L WITH STROKE
+ 0x0142: 0xB8, # LATIN SMALL LETTER L WITH STROKE
+ 0x0143: 0xC1, # LATIN CAPITAL LETTER N WITH ACUTE
+ 0x0144: 0xC4, # LATIN SMALL LETTER N WITH ACUTE
+ 0x0145: 0xBF, # LATIN CAPITAL LETTER N WITH CEDILLA
+ 0x0146: 0xC0, # LATIN SMALL LETTER N WITH CEDILLA
+ 0x0147: 0xC5, # LATIN CAPITAL LETTER N WITH CARON
+ 0x0148: 0xCB, # LATIN SMALL LETTER N WITH CARON
+ 0x014C: 0xCF, # LATIN CAPITAL LETTER O WITH MACRON
+ 0x014D: 0xD8, # LATIN SMALL LETTER O WITH MACRON
+ 0x0150: 0xCC, # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ 0x0151: 0xCE, # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ 0x0154: 0xD9, # LATIN CAPITAL LETTER R WITH ACUTE
+ 0x0155: 0xDA, # LATIN SMALL LETTER R WITH ACUTE
+ 0x0156: 0xDF, # LATIN CAPITAL LETTER R WITH CEDILLA
+ 0x0157: 0xE0, # LATIN SMALL LETTER R WITH CEDILLA
+ 0x0158: 0xDB, # LATIN CAPITAL LETTER R WITH CARON
+ 0x0159: 0xDE, # LATIN SMALL LETTER R WITH CARON
+ 0x015A: 0xE5, # LATIN CAPITAL LETTER S WITH ACUTE
+ 0x015B: 0xE6, # LATIN SMALL LETTER S WITH ACUTE
+ 0x0160: 0xE1, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xE4, # LATIN SMALL LETTER S WITH CARON
+ 0x0164: 0xE8, # LATIN CAPITAL LETTER T WITH CARON
+ 0x0165: 0xE9, # LATIN SMALL LETTER T WITH CARON
+ 0x016A: 0xED, # LATIN CAPITAL LETTER U WITH MACRON
+ 0x016B: 0xF0, # LATIN SMALL LETTER U WITH MACRON
+ 0x016E: 0xF1, # LATIN CAPITAL LETTER U WITH RING ABOVE
+ 0x016F: 0xF3, # LATIN SMALL LETTER U WITH RING ABOVE
+ 0x0170: 0xF4, # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ 0x0171: 0xF5, # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ 0x0172: 0xF6, # LATIN CAPITAL LETTER U WITH OGONEK
+ 0x0173: 0xF7, # LATIN SMALL LETTER U WITH OGONEK
+ 0x0179: 0x8F, # LATIN CAPITAL LETTER Z WITH ACUTE
+ 0x017A: 0x90, # LATIN SMALL LETTER Z WITH ACUTE
+ 0x017B: 0xFB, # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ 0x017C: 0xFD, # LATIN SMALL LETTER Z WITH DOT ABOVE
+ 0x017D: 0xEB, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xEC, # LATIN SMALL LETTER Z WITH CARON
+ 0x02C7: 0xFF, # CARON
+ 0x2013: 0xD0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
+ 0x2206: 0xC6, # INCREMENT
+ 0x2211: 0xB7, # N-ARY SUMMATION
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x25CA: 0xD7, # LOZENGE
}
-
diff --git a/Lib/encodings/mac_croatian.py b/Lib/encodings/mac_croatian.py
index 8cdf8d1..96e1187 100644
--- a/Lib/encodings/mac_croatian.py
+++ b/Lib/encodings/mac_croatian.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u2020' # 0xA0 -> DAGGER
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\u0160' # 0xA9 -> LATIN CAPITAL LETTER S WITH CARON
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\xb4' # 0xAB -> ACUTE ACCENT
- u'\xa8' # 0xAC -> DIAERESIS
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\u017d' # 0xAE -> LATIN CAPITAL LETTER Z WITH CARON
- u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u221e' # 0xB0 -> INFINITY
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\u2206' # 0xB4 -> INCREMENT
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
- u'\u2211' # 0xB7 -> N-ARY SUMMATION
- u'\u220f' # 0xB8 -> N-ARY PRODUCT
- u'\u0161' # 0xB9 -> LATIN SMALL LETTER S WITH CARON
- u'\u222b' # 0xBA -> INTEGRAL
- u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
- u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
- u'\u017e' # 0xBE -> LATIN SMALL LETTER Z WITH CARON
- u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
- u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
- u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u0106' # 0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
- u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
- u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u25ca' # 0xD7 -> LOZENGE
- u'\uf8ff' # 0xD8 -> Apple logo
- u'\xa9' # 0xD9 -> COPYRIGHT SIGN
- u'\u2044' # 0xDA -> FRACTION SLASH
- u'\u20ac' # 0xDB -> EURO SIGN
- u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\xc6' # 0xDE -> LATIN CAPITAL LETTER AE
- u'\xbb' # 0xDF -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2013' # 0xE0 -> EN DASH
- u'\xb7' # 0xE1 -> MIDDLE DOT
- u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
- u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2030' # 0xE4 -> PER MILLE SIGN
- u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\u0107' # 0xE6 -> LATIN SMALL LETTER C WITH ACUTE
- u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
- u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
- u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
- u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u02dc' # 0xF7 -> SMALL TILDE
- u'\xaf' # 0xF8 -> MACRON
- u'\u03c0' # 0xF9 -> GREEK SMALL LETTER PI
- u'\xcb' # 0xFA -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\u02da' # 0xFB -> RING ABOVE
- u'\xb8' # 0xFC -> CEDILLA
- u'\xca' # 0xFD -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xe6' # 0xFE -> LATIN SMALL LETTER AE
- u'\u02c7' # 0xFF -> CARON
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\u0160' # 0xA9 -> LATIN CAPITAL LETTER S WITH CARON
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\xb4' # 0xAB -> ACUTE ACCENT
+ u'\xa8' # 0xAC -> DIAERESIS
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\u017d' # 0xAE -> LATIN CAPITAL LETTER Z WITH CARON
+ u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u221e' # 0xB0 -> INFINITY
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\u2206' # 0xB4 -> INCREMENT
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
+ u'\u2211' # 0xB7 -> N-ARY SUMMATION
+ u'\u220f' # 0xB8 -> N-ARY PRODUCT
+ u'\u0161' # 0xB9 -> LATIN SMALL LETTER S WITH CARON
+ u'\u222b' # 0xBA -> INTEGRAL
+ u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
+ u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
+ u'\u017e' # 0xBE -> LATIN SMALL LETTER Z WITH CARON
+ u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
+ u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
+ u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u0106' # 0xC6 -> LATIN CAPITAL LETTER C WITH ACUTE
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u010c' # 0xC8 -> LATIN CAPITAL LETTER C WITH CARON
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
+ u'\u0110' # 0xD0 -> LATIN CAPITAL LETTER D WITH STROKE
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u25ca' # 0xD7 -> LOZENGE
+ u'\uf8ff' # 0xD8 -> Apple logo
+ u'\xa9' # 0xD9 -> COPYRIGHT SIGN
+ u'\u2044' # 0xDA -> FRACTION SLASH
+ u'\u20ac' # 0xDB -> EURO SIGN
+ u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\xc6' # 0xDE -> LATIN CAPITAL LETTER AE
+ u'\xbb' # 0xDF -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2013' # 0xE0 -> EN DASH
+ u'\xb7' # 0xE1 -> MIDDLE DOT
+ u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2030' # 0xE4 -> PER MILLE SIGN
+ u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\u0107' # 0xE6 -> LATIN SMALL LETTER C WITH ACUTE
+ u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\u010d' # 0xE8 -> LATIN SMALL LETTER C WITH CARON
+ u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\u0111' # 0xF0 -> LATIN SMALL LETTER D WITH STROKE
+ u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
+ u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u02dc' # 0xF7 -> SMALL TILDE
+ u'\xaf' # 0xF8 -> MACRON
+ u'\u03c0' # 0xF9 -> GREEK SMALL LETTER PI
+ u'\xcb' # 0xFA -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\u02da' # 0xFB -> RING ABOVE
+ u'\xb8' # 0xFC -> CEDILLA
+ u'\xca' # 0xFD -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xe6' # 0xFE -> LATIN SMALL LETTER AE
+ u'\u02c7' # 0xFF -> CARON
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A8: 0xAC, # DIAERESIS
- 0x00A9: 0xD9, # COPYRIGHT SIGN
- 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00AF: 0xF8, # MACRON
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B4: 0xAB, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00B7: 0xE1, # MIDDLE DOT
- 0x00B8: 0xFC, # CEDILLA
- 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xDF, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BF: 0xC0, # INVERTED QUESTION MARK
- 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xDE, # LATIN CAPITAL LETTER AE
- 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xFD, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xFA, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xFE, # LATIN SMALL LETTER AE
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0106: 0xC6, # LATIN CAPITAL LETTER C WITH ACUTE
- 0x0107: 0xE6, # LATIN SMALL LETTER C WITH ACUTE
- 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
- 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
- 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
- 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
- 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
- 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
- 0x0160: 0xA9, # LATIN CAPITAL LETTER S WITH CARON
- 0x0161: 0xB9, # LATIN SMALL LETTER S WITH CARON
- 0x017D: 0xAE, # LATIN CAPITAL LETTER Z WITH CARON
- 0x017E: 0xBE, # LATIN SMALL LETTER Z WITH CARON
- 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02C7: 0xFF, # CARON
- 0x02DA: 0xFB, # RING ABOVE
- 0x02DC: 0xF7, # SMALL TILDE
- 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
- 0x03C0: 0xF9, # GREEK SMALL LETTER PI
- 0x2013: 0xE0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2030: 0xE4, # PER MILLE SIGN
- 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x2044: 0xDA, # FRACTION SLASH
- 0x20AC: 0xDB, # EURO SIGN
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
- 0x2206: 0xB4, # INCREMENT
- 0x220F: 0xB8, # N-ARY PRODUCT
- 0x2211: 0xB7, # N-ARY SUMMATION
- 0x221A: 0xC3, # SQUARE ROOT
- 0x221E: 0xB0, # INFINITY
- 0x222B: 0xBA, # INTEGRAL
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
- 0x25CA: 0xD7, # LOZENGE
- 0xF8FF: 0xD8, # Apple logo
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A8: 0xAC, # DIAERESIS
+ 0x00A9: 0xD9, # COPYRIGHT SIGN
+ 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00AF: 0xF8, # MACRON
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B4: 0xAB, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00B7: 0xE1, # MIDDLE DOT
+ 0x00B8: 0xFC, # CEDILLA
+ 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xDF, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BF: 0xC0, # INVERTED QUESTION MARK
+ 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xDE, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xFD, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xFA, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xFE, # LATIN SMALL LETTER AE
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0106: 0xC6, # LATIN CAPITAL LETTER C WITH ACUTE
+ 0x0107: 0xE6, # LATIN SMALL LETTER C WITH ACUTE
+ 0x010C: 0xC8, # LATIN CAPITAL LETTER C WITH CARON
+ 0x010D: 0xE8, # LATIN SMALL LETTER C WITH CARON
+ 0x0110: 0xD0, # LATIN CAPITAL LETTER D WITH STROKE
+ 0x0111: 0xF0, # LATIN SMALL LETTER D WITH STROKE
+ 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
+ 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
+ 0x0160: 0xA9, # LATIN CAPITAL LETTER S WITH CARON
+ 0x0161: 0xB9, # LATIN SMALL LETTER S WITH CARON
+ 0x017D: 0xAE, # LATIN CAPITAL LETTER Z WITH CARON
+ 0x017E: 0xBE, # LATIN SMALL LETTER Z WITH CARON
+ 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02C7: 0xFF, # CARON
+ 0x02DA: 0xFB, # RING ABOVE
+ 0x02DC: 0xF7, # SMALL TILDE
+ 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
+ 0x03C0: 0xF9, # GREEK SMALL LETTER PI
+ 0x2013: 0xE0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2030: 0xE4, # PER MILLE SIGN
+ 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x2044: 0xDA, # FRACTION SLASH
+ 0x20AC: 0xDB, # EURO SIGN
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
+ 0x2206: 0xB4, # INCREMENT
+ 0x220F: 0xB8, # N-ARY PRODUCT
+ 0x2211: 0xB7, # N-ARY SUMMATION
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x221E: 0xB0, # INFINITY
+ 0x222B: 0xBA, # INTEGRAL
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x25CA: 0xD7, # LOZENGE
+ 0xF8FF: 0xD8, # Apple logo
}
-
diff --git a/Lib/encodings/mac_cyrillic.py b/Lib/encodings/mac_cyrillic.py
index 22624ca..f1b1fb0 100644
--- a/Lib/encodings/mac_cyrillic.py
+++ b/Lib/encodings/mac_cyrillic.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\u0410' # 0x80 -> CYRILLIC CAPITAL LETTER A
- u'\u0411' # 0x81 -> CYRILLIC CAPITAL LETTER BE
- u'\u0412' # 0x82 -> CYRILLIC CAPITAL LETTER VE
- u'\u0413' # 0x83 -> CYRILLIC CAPITAL LETTER GHE
- u'\u0414' # 0x84 -> CYRILLIC CAPITAL LETTER DE
- u'\u0415' # 0x85 -> CYRILLIC CAPITAL LETTER IE
- u'\u0416' # 0x86 -> CYRILLIC CAPITAL LETTER ZHE
- u'\u0417' # 0x87 -> CYRILLIC CAPITAL LETTER ZE
- u'\u0418' # 0x88 -> CYRILLIC CAPITAL LETTER I
- u'\u0419' # 0x89 -> CYRILLIC CAPITAL LETTER SHORT I
- u'\u041a' # 0x8A -> CYRILLIC CAPITAL LETTER KA
- u'\u041b' # 0x8B -> CYRILLIC CAPITAL LETTER EL
- u'\u041c' # 0x8C -> CYRILLIC CAPITAL LETTER EM
- u'\u041d' # 0x8D -> CYRILLIC CAPITAL LETTER EN
- u'\u041e' # 0x8E -> CYRILLIC CAPITAL LETTER O
- u'\u041f' # 0x8F -> CYRILLIC CAPITAL LETTER PE
- u'\u0420' # 0x90 -> CYRILLIC CAPITAL LETTER ER
- u'\u0421' # 0x91 -> CYRILLIC CAPITAL LETTER ES
- u'\u0422' # 0x92 -> CYRILLIC CAPITAL LETTER TE
- u'\u0423' # 0x93 -> CYRILLIC CAPITAL LETTER U
- u'\u0424' # 0x94 -> CYRILLIC CAPITAL LETTER EF
- u'\u0425' # 0x95 -> CYRILLIC CAPITAL LETTER HA
- u'\u0426' # 0x96 -> CYRILLIC CAPITAL LETTER TSE
- u'\u0427' # 0x97 -> CYRILLIC CAPITAL LETTER CHE
- u'\u0428' # 0x98 -> CYRILLIC CAPITAL LETTER SHA
- u'\u0429' # 0x99 -> CYRILLIC CAPITAL LETTER SHCHA
- u'\u042a' # 0x9A -> CYRILLIC CAPITAL LETTER HARD SIGN
- u'\u042b' # 0x9B -> CYRILLIC CAPITAL LETTER YERU
- u'\u042c' # 0x9C -> CYRILLIC CAPITAL LETTER SOFT SIGN
- u'\u042d' # 0x9D -> CYRILLIC CAPITAL LETTER E
- u'\u042e' # 0x9E -> CYRILLIC CAPITAL LETTER YU
- u'\u042f' # 0x9F -> CYRILLIC CAPITAL LETTER YA
- u'\u2020' # 0xA0 -> DAGGER
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\u0490' # 0xA2 -> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\u0406' # 0xA7 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\u0402' # 0xAB -> CYRILLIC CAPITAL LETTER DJE
- u'\u0452' # 0xAC -> CYRILLIC SMALL LETTER DJE
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\u0403' # 0xAE -> CYRILLIC CAPITAL LETTER GJE
- u'\u0453' # 0xAF -> CYRILLIC SMALL LETTER GJE
- u'\u221e' # 0xB0 -> INFINITY
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\u0456' # 0xB4 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u0491' # 0xB6 -> CYRILLIC SMALL LETTER GHE WITH UPTURN
- u'\u0408' # 0xB7 -> CYRILLIC CAPITAL LETTER JE
- u'\u0404' # 0xB8 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
- u'\u0454' # 0xB9 -> CYRILLIC SMALL LETTER UKRAINIAN IE
- u'\u0407' # 0xBA -> CYRILLIC CAPITAL LETTER YI
- u'\u0457' # 0xBB -> CYRILLIC SMALL LETTER YI
- u'\u0409' # 0xBC -> CYRILLIC CAPITAL LETTER LJE
- u'\u0459' # 0xBD -> CYRILLIC SMALL LETTER LJE
- u'\u040a' # 0xBE -> CYRILLIC CAPITAL LETTER NJE
- u'\u045a' # 0xBF -> CYRILLIC SMALL LETTER NJE
- u'\u0458' # 0xC0 -> CYRILLIC SMALL LETTER JE
- u'\u0405' # 0xC1 -> CYRILLIC CAPITAL LETTER DZE
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u2206' # 0xC6 -> INCREMENT
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\u040b' # 0xCB -> CYRILLIC CAPITAL LETTER TSHE
- u'\u045b' # 0xCC -> CYRILLIC SMALL LETTER TSHE
- u'\u040c' # 0xCD -> CYRILLIC CAPITAL LETTER KJE
- u'\u045c' # 0xCE -> CYRILLIC SMALL LETTER KJE
- u'\u0455' # 0xCF -> CYRILLIC SMALL LETTER DZE
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u201e' # 0xD7 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u040e' # 0xD8 -> CYRILLIC CAPITAL LETTER SHORT U
- u'\u045e' # 0xD9 -> CYRILLIC SMALL LETTER SHORT U
- u'\u040f' # 0xDA -> CYRILLIC CAPITAL LETTER DZHE
- u'\u045f' # 0xDB -> CYRILLIC SMALL LETTER DZHE
- u'\u2116' # 0xDC -> NUMERO SIGN
- u'\u0401' # 0xDD -> CYRILLIC CAPITAL LETTER IO
- u'\u0451' # 0xDE -> CYRILLIC SMALL LETTER IO
- u'\u044f' # 0xDF -> CYRILLIC SMALL LETTER YA
- u'\u0430' # 0xE0 -> CYRILLIC SMALL LETTER A
- u'\u0431' # 0xE1 -> CYRILLIC SMALL LETTER BE
- u'\u0432' # 0xE2 -> CYRILLIC SMALL LETTER VE
- u'\u0433' # 0xE3 -> CYRILLIC SMALL LETTER GHE
- u'\u0434' # 0xE4 -> CYRILLIC SMALL LETTER DE
- u'\u0435' # 0xE5 -> CYRILLIC SMALL LETTER IE
- u'\u0436' # 0xE6 -> CYRILLIC SMALL LETTER ZHE
- u'\u0437' # 0xE7 -> CYRILLIC SMALL LETTER ZE
- u'\u0438' # 0xE8 -> CYRILLIC SMALL LETTER I
- u'\u0439' # 0xE9 -> CYRILLIC SMALL LETTER SHORT I
- u'\u043a' # 0xEA -> CYRILLIC SMALL LETTER KA
- u'\u043b' # 0xEB -> CYRILLIC SMALL LETTER EL
- u'\u043c' # 0xEC -> CYRILLIC SMALL LETTER EM
- u'\u043d' # 0xED -> CYRILLIC SMALL LETTER EN
- u'\u043e' # 0xEE -> CYRILLIC SMALL LETTER O
- u'\u043f' # 0xEF -> CYRILLIC SMALL LETTER PE
- u'\u0440' # 0xF0 -> CYRILLIC SMALL LETTER ER
- u'\u0441' # 0xF1 -> CYRILLIC SMALL LETTER ES
- u'\u0442' # 0xF2 -> CYRILLIC SMALL LETTER TE
- u'\u0443' # 0xF3 -> CYRILLIC SMALL LETTER U
- u'\u0444' # 0xF4 -> CYRILLIC SMALL LETTER EF
- u'\u0445' # 0xF5 -> CYRILLIC SMALL LETTER HA
- u'\u0446' # 0xF6 -> CYRILLIC SMALL LETTER TSE
- u'\u0447' # 0xF7 -> CYRILLIC SMALL LETTER CHE
- u'\u0448' # 0xF8 -> CYRILLIC SMALL LETTER SHA
- u'\u0449' # 0xF9 -> CYRILLIC SMALL LETTER SHCHA
- u'\u044a' # 0xFA -> CYRILLIC SMALL LETTER HARD SIGN
- u'\u044b' # 0xFB -> CYRILLIC SMALL LETTER YERU
- u'\u044c' # 0xFC -> CYRILLIC SMALL LETTER SOFT SIGN
- u'\u044d' # 0xFD -> CYRILLIC SMALL LETTER E
- u'\u044e' # 0xFE -> CYRILLIC SMALL LETTER YU
- u'\u20ac' # 0xFF -> EURO SIGN
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\u0410' # 0x80 -> CYRILLIC CAPITAL LETTER A
+ u'\u0411' # 0x81 -> CYRILLIC CAPITAL LETTER BE
+ u'\u0412' # 0x82 -> CYRILLIC CAPITAL LETTER VE
+ u'\u0413' # 0x83 -> CYRILLIC CAPITAL LETTER GHE
+ u'\u0414' # 0x84 -> CYRILLIC CAPITAL LETTER DE
+ u'\u0415' # 0x85 -> CYRILLIC CAPITAL LETTER IE
+ u'\u0416' # 0x86 -> CYRILLIC CAPITAL LETTER ZHE
+ u'\u0417' # 0x87 -> CYRILLIC CAPITAL LETTER ZE
+ u'\u0418' # 0x88 -> CYRILLIC CAPITAL LETTER I
+ u'\u0419' # 0x89 -> CYRILLIC CAPITAL LETTER SHORT I
+ u'\u041a' # 0x8A -> CYRILLIC CAPITAL LETTER KA
+ u'\u041b' # 0x8B -> CYRILLIC CAPITAL LETTER EL
+ u'\u041c' # 0x8C -> CYRILLIC CAPITAL LETTER EM
+ u'\u041d' # 0x8D -> CYRILLIC CAPITAL LETTER EN
+ u'\u041e' # 0x8E -> CYRILLIC CAPITAL LETTER O
+ u'\u041f' # 0x8F -> CYRILLIC CAPITAL LETTER PE
+ u'\u0420' # 0x90 -> CYRILLIC CAPITAL LETTER ER
+ u'\u0421' # 0x91 -> CYRILLIC CAPITAL LETTER ES
+ u'\u0422' # 0x92 -> CYRILLIC CAPITAL LETTER TE
+ u'\u0423' # 0x93 -> CYRILLIC CAPITAL LETTER U
+ u'\u0424' # 0x94 -> CYRILLIC CAPITAL LETTER EF
+ u'\u0425' # 0x95 -> CYRILLIC CAPITAL LETTER HA
+ u'\u0426' # 0x96 -> CYRILLIC CAPITAL LETTER TSE
+ u'\u0427' # 0x97 -> CYRILLIC CAPITAL LETTER CHE
+ u'\u0428' # 0x98 -> CYRILLIC CAPITAL LETTER SHA
+ u'\u0429' # 0x99 -> CYRILLIC CAPITAL LETTER SHCHA
+ u'\u042a' # 0x9A -> CYRILLIC CAPITAL LETTER HARD SIGN
+ u'\u042b' # 0x9B -> CYRILLIC CAPITAL LETTER YERU
+ u'\u042c' # 0x9C -> CYRILLIC CAPITAL LETTER SOFT SIGN
+ u'\u042d' # 0x9D -> CYRILLIC CAPITAL LETTER E
+ u'\u042e' # 0x9E -> CYRILLIC CAPITAL LETTER YU
+ u'\u042f' # 0x9F -> CYRILLIC CAPITAL LETTER YA
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\u0490' # 0xA2 -> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\u0406' # 0xA7 -> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\u0402' # 0xAB -> CYRILLIC CAPITAL LETTER DJE
+ u'\u0452' # 0xAC -> CYRILLIC SMALL LETTER DJE
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\u0403' # 0xAE -> CYRILLIC CAPITAL LETTER GJE
+ u'\u0453' # 0xAF -> CYRILLIC SMALL LETTER GJE
+ u'\u221e' # 0xB0 -> INFINITY
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\u0456' # 0xB4 -> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u0491' # 0xB6 -> CYRILLIC SMALL LETTER GHE WITH UPTURN
+ u'\u0408' # 0xB7 -> CYRILLIC CAPITAL LETTER JE
+ u'\u0404' # 0xB8 -> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ u'\u0454' # 0xB9 -> CYRILLIC SMALL LETTER UKRAINIAN IE
+ u'\u0407' # 0xBA -> CYRILLIC CAPITAL LETTER YI
+ u'\u0457' # 0xBB -> CYRILLIC SMALL LETTER YI
+ u'\u0409' # 0xBC -> CYRILLIC CAPITAL LETTER LJE
+ u'\u0459' # 0xBD -> CYRILLIC SMALL LETTER LJE
+ u'\u040a' # 0xBE -> CYRILLIC CAPITAL LETTER NJE
+ u'\u045a' # 0xBF -> CYRILLIC SMALL LETTER NJE
+ u'\u0458' # 0xC0 -> CYRILLIC SMALL LETTER JE
+ u'\u0405' # 0xC1 -> CYRILLIC CAPITAL LETTER DZE
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u2206' # 0xC6 -> INCREMENT
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\u040b' # 0xCB -> CYRILLIC CAPITAL LETTER TSHE
+ u'\u045b' # 0xCC -> CYRILLIC SMALL LETTER TSHE
+ u'\u040c' # 0xCD -> CYRILLIC CAPITAL LETTER KJE
+ u'\u045c' # 0xCE -> CYRILLIC SMALL LETTER KJE
+ u'\u0455' # 0xCF -> CYRILLIC SMALL LETTER DZE
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u201e' # 0xD7 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u040e' # 0xD8 -> CYRILLIC CAPITAL LETTER SHORT U
+ u'\u045e' # 0xD9 -> CYRILLIC SMALL LETTER SHORT U
+ u'\u040f' # 0xDA -> CYRILLIC CAPITAL LETTER DZHE
+ u'\u045f' # 0xDB -> CYRILLIC SMALL LETTER DZHE
+ u'\u2116' # 0xDC -> NUMERO SIGN
+ u'\u0401' # 0xDD -> CYRILLIC CAPITAL LETTER IO
+ u'\u0451' # 0xDE -> CYRILLIC SMALL LETTER IO
+ u'\u044f' # 0xDF -> CYRILLIC SMALL LETTER YA
+ u'\u0430' # 0xE0 -> CYRILLIC SMALL LETTER A
+ u'\u0431' # 0xE1 -> CYRILLIC SMALL LETTER BE
+ u'\u0432' # 0xE2 -> CYRILLIC SMALL LETTER VE
+ u'\u0433' # 0xE3 -> CYRILLIC SMALL LETTER GHE
+ u'\u0434' # 0xE4 -> CYRILLIC SMALL LETTER DE
+ u'\u0435' # 0xE5 -> CYRILLIC SMALL LETTER IE
+ u'\u0436' # 0xE6 -> CYRILLIC SMALL LETTER ZHE
+ u'\u0437' # 0xE7 -> CYRILLIC SMALL LETTER ZE
+ u'\u0438' # 0xE8 -> CYRILLIC SMALL LETTER I
+ u'\u0439' # 0xE9 -> CYRILLIC SMALL LETTER SHORT I
+ u'\u043a' # 0xEA -> CYRILLIC SMALL LETTER KA
+ u'\u043b' # 0xEB -> CYRILLIC SMALL LETTER EL
+ u'\u043c' # 0xEC -> CYRILLIC SMALL LETTER EM
+ u'\u043d' # 0xED -> CYRILLIC SMALL LETTER EN
+ u'\u043e' # 0xEE -> CYRILLIC SMALL LETTER O
+ u'\u043f' # 0xEF -> CYRILLIC SMALL LETTER PE
+ u'\u0440' # 0xF0 -> CYRILLIC SMALL LETTER ER
+ u'\u0441' # 0xF1 -> CYRILLIC SMALL LETTER ES
+ u'\u0442' # 0xF2 -> CYRILLIC SMALL LETTER TE
+ u'\u0443' # 0xF3 -> CYRILLIC SMALL LETTER U
+ u'\u0444' # 0xF4 -> CYRILLIC SMALL LETTER EF
+ u'\u0445' # 0xF5 -> CYRILLIC SMALL LETTER HA
+ u'\u0446' # 0xF6 -> CYRILLIC SMALL LETTER TSE
+ u'\u0447' # 0xF7 -> CYRILLIC SMALL LETTER CHE
+ u'\u0448' # 0xF8 -> CYRILLIC SMALL LETTER SHA
+ u'\u0449' # 0xF9 -> CYRILLIC SMALL LETTER SHCHA
+ u'\u044a' # 0xFA -> CYRILLIC SMALL LETTER HARD SIGN
+ u'\u044b' # 0xFB -> CYRILLIC SMALL LETTER YERU
+ u'\u044c' # 0xFC -> CYRILLIC SMALL LETTER SOFT SIGN
+ u'\u044d' # 0xFD -> CYRILLIC SMALL LETTER E
+ u'\u044e' # 0xFE -> CYRILLIC SMALL LETTER YU
+ u'\u20ac' # 0xFF -> EURO SIGN
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
- 0x0401: 0xDD, # CYRILLIC CAPITAL LETTER IO
- 0x0402: 0xAB, # CYRILLIC CAPITAL LETTER DJE
- 0x0403: 0xAE, # CYRILLIC CAPITAL LETTER GJE
- 0x0404: 0xB8, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
- 0x0405: 0xC1, # CYRILLIC CAPITAL LETTER DZE
- 0x0406: 0xA7, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0407: 0xBA, # CYRILLIC CAPITAL LETTER YI
- 0x0408: 0xB7, # CYRILLIC CAPITAL LETTER JE
- 0x0409: 0xBC, # CYRILLIC CAPITAL LETTER LJE
- 0x040A: 0xBE, # CYRILLIC CAPITAL LETTER NJE
- 0x040B: 0xCB, # CYRILLIC CAPITAL LETTER TSHE
- 0x040C: 0xCD, # CYRILLIC CAPITAL LETTER KJE
- 0x040E: 0xD8, # CYRILLIC CAPITAL LETTER SHORT U
- 0x040F: 0xDA, # CYRILLIC CAPITAL LETTER DZHE
- 0x0410: 0x80, # CYRILLIC CAPITAL LETTER A
- 0x0411: 0x81, # CYRILLIC CAPITAL LETTER BE
- 0x0412: 0x82, # CYRILLIC CAPITAL LETTER VE
- 0x0413: 0x83, # CYRILLIC CAPITAL LETTER GHE
- 0x0414: 0x84, # CYRILLIC CAPITAL LETTER DE
- 0x0415: 0x85, # CYRILLIC CAPITAL LETTER IE
- 0x0416: 0x86, # CYRILLIC CAPITAL LETTER ZHE
- 0x0417: 0x87, # CYRILLIC CAPITAL LETTER ZE
- 0x0418: 0x88, # CYRILLIC CAPITAL LETTER I
- 0x0419: 0x89, # CYRILLIC CAPITAL LETTER SHORT I
- 0x041A: 0x8A, # CYRILLIC CAPITAL LETTER KA
- 0x041B: 0x8B, # CYRILLIC CAPITAL LETTER EL
- 0x041C: 0x8C, # CYRILLIC CAPITAL LETTER EM
- 0x041D: 0x8D, # CYRILLIC CAPITAL LETTER EN
- 0x041E: 0x8E, # CYRILLIC CAPITAL LETTER O
- 0x041F: 0x8F, # CYRILLIC CAPITAL LETTER PE
- 0x0420: 0x90, # CYRILLIC CAPITAL LETTER ER
- 0x0421: 0x91, # CYRILLIC CAPITAL LETTER ES
- 0x0422: 0x92, # CYRILLIC CAPITAL LETTER TE
- 0x0423: 0x93, # CYRILLIC CAPITAL LETTER U
- 0x0424: 0x94, # CYRILLIC CAPITAL LETTER EF
- 0x0425: 0x95, # CYRILLIC CAPITAL LETTER HA
- 0x0426: 0x96, # CYRILLIC CAPITAL LETTER TSE
- 0x0427: 0x97, # CYRILLIC CAPITAL LETTER CHE
- 0x0428: 0x98, # CYRILLIC CAPITAL LETTER SHA
- 0x0429: 0x99, # CYRILLIC CAPITAL LETTER SHCHA
- 0x042A: 0x9A, # CYRILLIC CAPITAL LETTER HARD SIGN
- 0x042B: 0x9B, # CYRILLIC CAPITAL LETTER YERU
- 0x042C: 0x9C, # CYRILLIC CAPITAL LETTER SOFT SIGN
- 0x042D: 0x9D, # CYRILLIC CAPITAL LETTER E
- 0x042E: 0x9E, # CYRILLIC CAPITAL LETTER YU
- 0x042F: 0x9F, # CYRILLIC CAPITAL LETTER YA
- 0x0430: 0xE0, # CYRILLIC SMALL LETTER A
- 0x0431: 0xE1, # CYRILLIC SMALL LETTER BE
- 0x0432: 0xE2, # CYRILLIC SMALL LETTER VE
- 0x0433: 0xE3, # CYRILLIC SMALL LETTER GHE
- 0x0434: 0xE4, # CYRILLIC SMALL LETTER DE
- 0x0435: 0xE5, # CYRILLIC SMALL LETTER IE
- 0x0436: 0xE6, # CYRILLIC SMALL LETTER ZHE
- 0x0437: 0xE7, # CYRILLIC SMALL LETTER ZE
- 0x0438: 0xE8, # CYRILLIC SMALL LETTER I
- 0x0439: 0xE9, # CYRILLIC SMALL LETTER SHORT I
- 0x043A: 0xEA, # CYRILLIC SMALL LETTER KA
- 0x043B: 0xEB, # CYRILLIC SMALL LETTER EL
- 0x043C: 0xEC, # CYRILLIC SMALL LETTER EM
- 0x043D: 0xED, # CYRILLIC SMALL LETTER EN
- 0x043E: 0xEE, # CYRILLIC SMALL LETTER O
- 0x043F: 0xEF, # CYRILLIC SMALL LETTER PE
- 0x0440: 0xF0, # CYRILLIC SMALL LETTER ER
- 0x0441: 0xF1, # CYRILLIC SMALL LETTER ES
- 0x0442: 0xF2, # CYRILLIC SMALL LETTER TE
- 0x0443: 0xF3, # CYRILLIC SMALL LETTER U
- 0x0444: 0xF4, # CYRILLIC SMALL LETTER EF
- 0x0445: 0xF5, # CYRILLIC SMALL LETTER HA
- 0x0446: 0xF6, # CYRILLIC SMALL LETTER TSE
- 0x0447: 0xF7, # CYRILLIC SMALL LETTER CHE
- 0x0448: 0xF8, # CYRILLIC SMALL LETTER SHA
- 0x0449: 0xF9, # CYRILLIC SMALL LETTER SHCHA
- 0x044A: 0xFA, # CYRILLIC SMALL LETTER HARD SIGN
- 0x044B: 0xFB, # CYRILLIC SMALL LETTER YERU
- 0x044C: 0xFC, # CYRILLIC SMALL LETTER SOFT SIGN
- 0x044D: 0xFD, # CYRILLIC SMALL LETTER E
- 0x044E: 0xFE, # CYRILLIC SMALL LETTER YU
- 0x044F: 0xDF, # CYRILLIC SMALL LETTER YA
- 0x0451: 0xDE, # CYRILLIC SMALL LETTER IO
- 0x0452: 0xAC, # CYRILLIC SMALL LETTER DJE
- 0x0453: 0xAF, # CYRILLIC SMALL LETTER GJE
- 0x0454: 0xB9, # CYRILLIC SMALL LETTER UKRAINIAN IE
- 0x0455: 0xCF, # CYRILLIC SMALL LETTER DZE
- 0x0456: 0xB4, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
- 0x0457: 0xBB, # CYRILLIC SMALL LETTER YI
- 0x0458: 0xC0, # CYRILLIC SMALL LETTER JE
- 0x0459: 0xBD, # CYRILLIC SMALL LETTER LJE
- 0x045A: 0xBF, # CYRILLIC SMALL LETTER NJE
- 0x045B: 0xCC, # CYRILLIC SMALL LETTER TSHE
- 0x045C: 0xCE, # CYRILLIC SMALL LETTER KJE
- 0x045E: 0xD9, # CYRILLIC SMALL LETTER SHORT U
- 0x045F: 0xDB, # CYRILLIC SMALL LETTER DZHE
- 0x0490: 0xA2, # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
- 0x0491: 0xB6, # CYRILLIC SMALL LETTER GHE WITH UPTURN
- 0x2013: 0xD0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xD7, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x20AC: 0xFF, # EURO SIGN
- 0x2116: 0xDC, # NUMERO SIGN
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2206: 0xC6, # INCREMENT
- 0x221A: 0xC3, # SQUARE ROOT
- 0x221E: 0xB0, # INFINITY
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
+ 0x0401: 0xDD, # CYRILLIC CAPITAL LETTER IO
+ 0x0402: 0xAB, # CYRILLIC CAPITAL LETTER DJE
+ 0x0403: 0xAE, # CYRILLIC CAPITAL LETTER GJE
+ 0x0404: 0xB8, # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+ 0x0405: 0xC1, # CYRILLIC CAPITAL LETTER DZE
+ 0x0406: 0xA7, # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0407: 0xBA, # CYRILLIC CAPITAL LETTER YI
+ 0x0408: 0xB7, # CYRILLIC CAPITAL LETTER JE
+ 0x0409: 0xBC, # CYRILLIC CAPITAL LETTER LJE
+ 0x040A: 0xBE, # CYRILLIC CAPITAL LETTER NJE
+ 0x040B: 0xCB, # CYRILLIC CAPITAL LETTER TSHE
+ 0x040C: 0xCD, # CYRILLIC CAPITAL LETTER KJE
+ 0x040E: 0xD8, # CYRILLIC CAPITAL LETTER SHORT U
+ 0x040F: 0xDA, # CYRILLIC CAPITAL LETTER DZHE
+ 0x0410: 0x80, # CYRILLIC CAPITAL LETTER A
+ 0x0411: 0x81, # CYRILLIC CAPITAL LETTER BE
+ 0x0412: 0x82, # CYRILLIC CAPITAL LETTER VE
+ 0x0413: 0x83, # CYRILLIC CAPITAL LETTER GHE
+ 0x0414: 0x84, # CYRILLIC CAPITAL LETTER DE
+ 0x0415: 0x85, # CYRILLIC CAPITAL LETTER IE
+ 0x0416: 0x86, # CYRILLIC CAPITAL LETTER ZHE
+ 0x0417: 0x87, # CYRILLIC CAPITAL LETTER ZE
+ 0x0418: 0x88, # CYRILLIC CAPITAL LETTER I
+ 0x0419: 0x89, # CYRILLIC CAPITAL LETTER SHORT I
+ 0x041A: 0x8A, # CYRILLIC CAPITAL LETTER KA
+ 0x041B: 0x8B, # CYRILLIC CAPITAL LETTER EL
+ 0x041C: 0x8C, # CYRILLIC CAPITAL LETTER EM
+ 0x041D: 0x8D, # CYRILLIC CAPITAL LETTER EN
+ 0x041E: 0x8E, # CYRILLIC CAPITAL LETTER O
+ 0x041F: 0x8F, # CYRILLIC CAPITAL LETTER PE
+ 0x0420: 0x90, # CYRILLIC CAPITAL LETTER ER
+ 0x0421: 0x91, # CYRILLIC CAPITAL LETTER ES
+ 0x0422: 0x92, # CYRILLIC CAPITAL LETTER TE
+ 0x0423: 0x93, # CYRILLIC CAPITAL LETTER U
+ 0x0424: 0x94, # CYRILLIC CAPITAL LETTER EF
+ 0x0425: 0x95, # CYRILLIC CAPITAL LETTER HA
+ 0x0426: 0x96, # CYRILLIC CAPITAL LETTER TSE
+ 0x0427: 0x97, # CYRILLIC CAPITAL LETTER CHE
+ 0x0428: 0x98, # CYRILLIC CAPITAL LETTER SHA
+ 0x0429: 0x99, # CYRILLIC CAPITAL LETTER SHCHA
+ 0x042A: 0x9A, # CYRILLIC CAPITAL LETTER HARD SIGN
+ 0x042B: 0x9B, # CYRILLIC CAPITAL LETTER YERU
+ 0x042C: 0x9C, # CYRILLIC CAPITAL LETTER SOFT SIGN
+ 0x042D: 0x9D, # CYRILLIC CAPITAL LETTER E
+ 0x042E: 0x9E, # CYRILLIC CAPITAL LETTER YU
+ 0x042F: 0x9F, # CYRILLIC CAPITAL LETTER YA
+ 0x0430: 0xE0, # CYRILLIC SMALL LETTER A
+ 0x0431: 0xE1, # CYRILLIC SMALL LETTER BE
+ 0x0432: 0xE2, # CYRILLIC SMALL LETTER VE
+ 0x0433: 0xE3, # CYRILLIC SMALL LETTER GHE
+ 0x0434: 0xE4, # CYRILLIC SMALL LETTER DE
+ 0x0435: 0xE5, # CYRILLIC SMALL LETTER IE
+ 0x0436: 0xE6, # CYRILLIC SMALL LETTER ZHE
+ 0x0437: 0xE7, # CYRILLIC SMALL LETTER ZE
+ 0x0438: 0xE8, # CYRILLIC SMALL LETTER I
+ 0x0439: 0xE9, # CYRILLIC SMALL LETTER SHORT I
+ 0x043A: 0xEA, # CYRILLIC SMALL LETTER KA
+ 0x043B: 0xEB, # CYRILLIC SMALL LETTER EL
+ 0x043C: 0xEC, # CYRILLIC SMALL LETTER EM
+ 0x043D: 0xED, # CYRILLIC SMALL LETTER EN
+ 0x043E: 0xEE, # CYRILLIC SMALL LETTER O
+ 0x043F: 0xEF, # CYRILLIC SMALL LETTER PE
+ 0x0440: 0xF0, # CYRILLIC SMALL LETTER ER
+ 0x0441: 0xF1, # CYRILLIC SMALL LETTER ES
+ 0x0442: 0xF2, # CYRILLIC SMALL LETTER TE
+ 0x0443: 0xF3, # CYRILLIC SMALL LETTER U
+ 0x0444: 0xF4, # CYRILLIC SMALL LETTER EF
+ 0x0445: 0xF5, # CYRILLIC SMALL LETTER HA
+ 0x0446: 0xF6, # CYRILLIC SMALL LETTER TSE
+ 0x0447: 0xF7, # CYRILLIC SMALL LETTER CHE
+ 0x0448: 0xF8, # CYRILLIC SMALL LETTER SHA
+ 0x0449: 0xF9, # CYRILLIC SMALL LETTER SHCHA
+ 0x044A: 0xFA, # CYRILLIC SMALL LETTER HARD SIGN
+ 0x044B: 0xFB, # CYRILLIC SMALL LETTER YERU
+ 0x044C: 0xFC, # CYRILLIC SMALL LETTER SOFT SIGN
+ 0x044D: 0xFD, # CYRILLIC SMALL LETTER E
+ 0x044E: 0xFE, # CYRILLIC SMALL LETTER YU
+ 0x044F: 0xDF, # CYRILLIC SMALL LETTER YA
+ 0x0451: 0xDE, # CYRILLIC SMALL LETTER IO
+ 0x0452: 0xAC, # CYRILLIC SMALL LETTER DJE
+ 0x0453: 0xAF, # CYRILLIC SMALL LETTER GJE
+ 0x0454: 0xB9, # CYRILLIC SMALL LETTER UKRAINIAN IE
+ 0x0455: 0xCF, # CYRILLIC SMALL LETTER DZE
+ 0x0456: 0xB4, # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+ 0x0457: 0xBB, # CYRILLIC SMALL LETTER YI
+ 0x0458: 0xC0, # CYRILLIC SMALL LETTER JE
+ 0x0459: 0xBD, # CYRILLIC SMALL LETTER LJE
+ 0x045A: 0xBF, # CYRILLIC SMALL LETTER NJE
+ 0x045B: 0xCC, # CYRILLIC SMALL LETTER TSHE
+ 0x045C: 0xCE, # CYRILLIC SMALL LETTER KJE
+ 0x045E: 0xD9, # CYRILLIC SMALL LETTER SHORT U
+ 0x045F: 0xDB, # CYRILLIC SMALL LETTER DZHE
+ 0x0490: 0xA2, # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ 0x0491: 0xB6, # CYRILLIC SMALL LETTER GHE WITH UPTURN
+ 0x2013: 0xD0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xD7, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x20AC: 0xFF, # EURO SIGN
+ 0x2116: 0xDC, # NUMERO SIGN
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2206: 0xC6, # INCREMENT
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x221E: 0xB0, # INFINITY
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
}
-
diff --git a/Lib/encodings/mac_farsi.py b/Lib/encodings/mac_farsi.py
index f5ecc4c..2b61e27 100644
--- a/Lib/encodings/mac_farsi.py
+++ b/Lib/encodings/mac_farsi.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE, left-right
- u'!' # 0x21 -> EXCLAMATION MARK, left-right
- u'"' # 0x22 -> QUOTATION MARK, left-right
- u'#' # 0x23 -> NUMBER SIGN, left-right
- u'$' # 0x24 -> DOLLAR SIGN, left-right
- u'%' # 0x25 -> PERCENT SIGN, left-right
- u'&' # 0x26 -> AMPERSAND, left-right
- u"'" # 0x27 -> APOSTROPHE, left-right
- u'(' # 0x28 -> LEFT PARENTHESIS, left-right
- u')' # 0x29 -> RIGHT PARENTHESIS, left-right
- u'*' # 0x2A -> ASTERISK, left-right
- u'+' # 0x2B -> PLUS SIGN, left-right
- u',' # 0x2C -> COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
- u'-' # 0x2D -> HYPHEN-MINUS, left-right
- u'.' # 0x2E -> FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
- u'/' # 0x2F -> SOLIDUS, left-right
- u'0' # 0x30 -> DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
- u':' # 0x3A -> COLON, left-right
- u';' # 0x3B -> SEMICOLON, left-right
- u'<' # 0x3C -> LESS-THAN SIGN, left-right
- u'=' # 0x3D -> EQUALS SIGN, left-right
- u'>' # 0x3E -> GREATER-THAN SIGN, left-right
- u'?' # 0x3F -> QUESTION MARK, left-right
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET, left-right
- u'\\' # 0x5C -> REVERSE SOLIDUS, left-right
- u']' # 0x5D -> RIGHT SQUARE BRACKET, left-right
- u'^' # 0x5E -> CIRCUMFLEX ACCENT, left-right
- u'_' # 0x5F -> LOW LINE, left-right
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET, left-right
- u'|' # 0x7C -> VERTICAL LINE, left-right
- u'}' # 0x7D -> RIGHT CURLY BRACKET, left-right
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xa0' # 0x81 -> NO-BREAK SPACE, right-left
- u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u06ba' # 0x8B -> ARABIC LETTER NOON GHUNNA
- u'\xab' # 0x8C -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\u2026' # 0x93 -> HORIZONTAL ELLIPSIS, right-left
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xbb' # 0x98 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf7' # 0x9B -> DIVISION SIGN, right-left
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u' ' # 0xA0 -> SPACE, right-left
- u'!' # 0xA1 -> EXCLAMATION MARK, right-left
- u'"' # 0xA2 -> QUOTATION MARK, right-left
- u'#' # 0xA3 -> NUMBER SIGN, right-left
- u'$' # 0xA4 -> DOLLAR SIGN, right-left
- u'\u066a' # 0xA5 -> ARABIC PERCENT SIGN
- u'&' # 0xA6 -> AMPERSAND, right-left
- u"'" # 0xA7 -> APOSTROPHE, right-left
- u'(' # 0xA8 -> LEFT PARENTHESIS, right-left
- u')' # 0xA9 -> RIGHT PARENTHESIS, right-left
- u'*' # 0xAA -> ASTERISK, right-left
- u'+' # 0xAB -> PLUS SIGN, right-left
- u'\u060c' # 0xAC -> ARABIC COMMA
- u'-' # 0xAD -> HYPHEN-MINUS, right-left
- u'.' # 0xAE -> FULL STOP, right-left
- u'/' # 0xAF -> SOLIDUS, right-left
- u'\u06f0' # 0xB0 -> EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
- u'\u06f1' # 0xB1 -> EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
- u'\u06f2' # 0xB2 -> EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
- u'\u06f3' # 0xB3 -> EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
- u'\u06f4' # 0xB4 -> EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
- u'\u06f5' # 0xB5 -> EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
- u'\u06f6' # 0xB6 -> EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
- u'\u06f7' # 0xB7 -> EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
- u'\u06f8' # 0xB8 -> EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
- u'\u06f9' # 0xB9 -> EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
- u':' # 0xBA -> COLON, right-left
- u'\u061b' # 0xBB -> ARABIC SEMICOLON
- u'<' # 0xBC -> LESS-THAN SIGN, right-left
- u'=' # 0xBD -> EQUALS SIGN, right-left
- u'>' # 0xBE -> GREATER-THAN SIGN, right-left
- u'\u061f' # 0xBF -> ARABIC QUESTION MARK
- u'\u274a' # 0xC0 -> EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
- u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
- u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
- u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
- u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
- u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
- u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
- u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
- u'\u0628' # 0xC8 -> ARABIC LETTER BEH
- u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
- u'\u062a' # 0xCA -> ARABIC LETTER TEH
- u'\u062b' # 0xCB -> ARABIC LETTER THEH
- u'\u062c' # 0xCC -> ARABIC LETTER JEEM
- u'\u062d' # 0xCD -> ARABIC LETTER HAH
- u'\u062e' # 0xCE -> ARABIC LETTER KHAH
- u'\u062f' # 0xCF -> ARABIC LETTER DAL
- u'\u0630' # 0xD0 -> ARABIC LETTER THAL
- u'\u0631' # 0xD1 -> ARABIC LETTER REH
- u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
- u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
- u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
- u'\u0635' # 0xD5 -> ARABIC LETTER SAD
- u'\u0636' # 0xD6 -> ARABIC LETTER DAD
- u'\u0637' # 0xD7 -> ARABIC LETTER TAH
- u'\u0638' # 0xD8 -> ARABIC LETTER ZAH
- u'\u0639' # 0xD9 -> ARABIC LETTER AIN
- u'\u063a' # 0xDA -> ARABIC LETTER GHAIN
- u'[' # 0xDB -> LEFT SQUARE BRACKET, right-left
- u'\\' # 0xDC -> REVERSE SOLIDUS, right-left
- u']' # 0xDD -> RIGHT SQUARE BRACKET, right-left
- u'^' # 0xDE -> CIRCUMFLEX ACCENT, right-left
- u'_' # 0xDF -> LOW LINE, right-left
- u'\u0640' # 0xE0 -> ARABIC TATWEEL
- u'\u0641' # 0xE1 -> ARABIC LETTER FEH
- u'\u0642' # 0xE2 -> ARABIC LETTER QAF
- u'\u0643' # 0xE3 -> ARABIC LETTER KAF
- u'\u0644' # 0xE4 -> ARABIC LETTER LAM
- u'\u0645' # 0xE5 -> ARABIC LETTER MEEM
- u'\u0646' # 0xE6 -> ARABIC LETTER NOON
- u'\u0647' # 0xE7 -> ARABIC LETTER HEH
- u'\u0648' # 0xE8 -> ARABIC LETTER WAW
- u'\u0649' # 0xE9 -> ARABIC LETTER ALEF MAKSURA
- u'\u064a' # 0xEA -> ARABIC LETTER YEH
- u'\u064b' # 0xEB -> ARABIC FATHATAN
- u'\u064c' # 0xEC -> ARABIC DAMMATAN
- u'\u064d' # 0xED -> ARABIC KASRATAN
- u'\u064e' # 0xEE -> ARABIC FATHA
- u'\u064f' # 0xEF -> ARABIC DAMMA
- u'\u0650' # 0xF0 -> ARABIC KASRA
- u'\u0651' # 0xF1 -> ARABIC SHADDA
- u'\u0652' # 0xF2 -> ARABIC SUKUN
- u'\u067e' # 0xF3 -> ARABIC LETTER PEH
- u'\u0679' # 0xF4 -> ARABIC LETTER TTEH
- u'\u0686' # 0xF5 -> ARABIC LETTER TCHEH
- u'\u06d5' # 0xF6 -> ARABIC LETTER AE
- u'\u06a4' # 0xF7 -> ARABIC LETTER VEH
- u'\u06af' # 0xF8 -> ARABIC LETTER GAF
- u'\u0688' # 0xF9 -> ARABIC LETTER DDAL
- u'\u0691' # 0xFA -> ARABIC LETTER RREH
- u'{' # 0xFB -> LEFT CURLY BRACKET, right-left
- u'|' # 0xFC -> VERTICAL LINE, right-left
- u'}' # 0xFD -> RIGHT CURLY BRACKET, right-left
- u'\u0698' # 0xFE -> ARABIC LETTER JEH
- u'\u06d2' # 0xFF -> ARABIC LETTER YEH BARREE
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE, left-right
+ u'!' # 0x21 -> EXCLAMATION MARK, left-right
+ u'"' # 0x22 -> QUOTATION MARK, left-right
+ u'#' # 0x23 -> NUMBER SIGN, left-right
+ u'$' # 0x24 -> DOLLAR SIGN, left-right
+ u'%' # 0x25 -> PERCENT SIGN, left-right
+ u'&' # 0x26 -> AMPERSAND, left-right
+ u"'" # 0x27 -> APOSTROPHE, left-right
+ u'(' # 0x28 -> LEFT PARENTHESIS, left-right
+ u')' # 0x29 -> RIGHT PARENTHESIS, left-right
+ u'*' # 0x2A -> ASTERISK, left-right
+ u'+' # 0x2B -> PLUS SIGN, left-right
+ u',' # 0x2C -> COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+ u'-' # 0x2D -> HYPHEN-MINUS, left-right
+ u'.' # 0x2E -> FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
+ u'/' # 0x2F -> SOLIDUS, left-right
+ u'0' # 0x30 -> DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+ u':' # 0x3A -> COLON, left-right
+ u';' # 0x3B -> SEMICOLON, left-right
+ u'<' # 0x3C -> LESS-THAN SIGN, left-right
+ u'=' # 0x3D -> EQUALS SIGN, left-right
+ u'>' # 0x3E -> GREATER-THAN SIGN, left-right
+ u'?' # 0x3F -> QUESTION MARK, left-right
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET, left-right
+ u'\\' # 0x5C -> REVERSE SOLIDUS, left-right
+ u']' # 0x5D -> RIGHT SQUARE BRACKET, left-right
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT, left-right
+ u'_' # 0x5F -> LOW LINE, left-right
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET, left-right
+ u'|' # 0x7C -> VERTICAL LINE, left-right
+ u'}' # 0x7D -> RIGHT CURLY BRACKET, left-right
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xa0' # 0x81 -> NO-BREAK SPACE, right-left
+ u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u06ba' # 0x8B -> ARABIC LETTER NOON GHUNNA
+ u'\xab' # 0x8C -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\u2026' # 0x93 -> HORIZONTAL ELLIPSIS, right-left
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xbb' # 0x98 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf7' # 0x9B -> DIVISION SIGN, right-left
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u' ' # 0xA0 -> SPACE, right-left
+ u'!' # 0xA1 -> EXCLAMATION MARK, right-left
+ u'"' # 0xA2 -> QUOTATION MARK, right-left
+ u'#' # 0xA3 -> NUMBER SIGN, right-left
+ u'$' # 0xA4 -> DOLLAR SIGN, right-left
+ u'\u066a' # 0xA5 -> ARABIC PERCENT SIGN
+ u'&' # 0xA6 -> AMPERSAND, right-left
+ u"'" # 0xA7 -> APOSTROPHE, right-left
+ u'(' # 0xA8 -> LEFT PARENTHESIS, right-left
+ u')' # 0xA9 -> RIGHT PARENTHESIS, right-left
+ u'*' # 0xAA -> ASTERISK, right-left
+ u'+' # 0xAB -> PLUS SIGN, right-left
+ u'\u060c' # 0xAC -> ARABIC COMMA
+ u'-' # 0xAD -> HYPHEN-MINUS, right-left
+ u'.' # 0xAE -> FULL STOP, right-left
+ u'/' # 0xAF -> SOLIDUS, right-left
+ u'\u06f0' # 0xB0 -> EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
+ u'\u06f1' # 0xB1 -> EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
+ u'\u06f2' # 0xB2 -> EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
+ u'\u06f3' # 0xB3 -> EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
+ u'\u06f4' # 0xB4 -> EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
+ u'\u06f5' # 0xB5 -> EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
+ u'\u06f6' # 0xB6 -> EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
+ u'\u06f7' # 0xB7 -> EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+ u'\u06f8' # 0xB8 -> EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+ u'\u06f9' # 0xB9 -> EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
+ u':' # 0xBA -> COLON, right-left
+ u'\u061b' # 0xBB -> ARABIC SEMICOLON
+ u'<' # 0xBC -> LESS-THAN SIGN, right-left
+ u'=' # 0xBD -> EQUALS SIGN, right-left
+ u'>' # 0xBE -> GREATER-THAN SIGN, right-left
+ u'\u061f' # 0xBF -> ARABIC QUESTION MARK
+ u'\u274a' # 0xC0 -> EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+ u'\u0621' # 0xC1 -> ARABIC LETTER HAMZA
+ u'\u0622' # 0xC2 -> ARABIC LETTER ALEF WITH MADDA ABOVE
+ u'\u0623' # 0xC3 -> ARABIC LETTER ALEF WITH HAMZA ABOVE
+ u'\u0624' # 0xC4 -> ARABIC LETTER WAW WITH HAMZA ABOVE
+ u'\u0625' # 0xC5 -> ARABIC LETTER ALEF WITH HAMZA BELOW
+ u'\u0626' # 0xC6 -> ARABIC LETTER YEH WITH HAMZA ABOVE
+ u'\u0627' # 0xC7 -> ARABIC LETTER ALEF
+ u'\u0628' # 0xC8 -> ARABIC LETTER BEH
+ u'\u0629' # 0xC9 -> ARABIC LETTER TEH MARBUTA
+ u'\u062a' # 0xCA -> ARABIC LETTER TEH
+ u'\u062b' # 0xCB -> ARABIC LETTER THEH
+ u'\u062c' # 0xCC -> ARABIC LETTER JEEM
+ u'\u062d' # 0xCD -> ARABIC LETTER HAH
+ u'\u062e' # 0xCE -> ARABIC LETTER KHAH
+ u'\u062f' # 0xCF -> ARABIC LETTER DAL
+ u'\u0630' # 0xD0 -> ARABIC LETTER THAL
+ u'\u0631' # 0xD1 -> ARABIC LETTER REH
+ u'\u0632' # 0xD2 -> ARABIC LETTER ZAIN
+ u'\u0633' # 0xD3 -> ARABIC LETTER SEEN
+ u'\u0634' # 0xD4 -> ARABIC LETTER SHEEN
+ u'\u0635' # 0xD5 -> ARABIC LETTER SAD
+ u'\u0636' # 0xD6 -> ARABIC LETTER DAD
+ u'\u0637' # 0xD7 -> ARABIC LETTER TAH
+ u'\u0638' # 0xD8 -> ARABIC LETTER ZAH
+ u'\u0639' # 0xD9 -> ARABIC LETTER AIN
+ u'\u063a' # 0xDA -> ARABIC LETTER GHAIN
+ u'[' # 0xDB -> LEFT SQUARE BRACKET, right-left
+ u'\\' # 0xDC -> REVERSE SOLIDUS, right-left
+ u']' # 0xDD -> RIGHT SQUARE BRACKET, right-left
+ u'^' # 0xDE -> CIRCUMFLEX ACCENT, right-left
+ u'_' # 0xDF -> LOW LINE, right-left
+ u'\u0640' # 0xE0 -> ARABIC TATWEEL
+ u'\u0641' # 0xE1 -> ARABIC LETTER FEH
+ u'\u0642' # 0xE2 -> ARABIC LETTER QAF
+ u'\u0643' # 0xE3 -> ARABIC LETTER KAF
+ u'\u0644' # 0xE4 -> ARABIC LETTER LAM
+ u'\u0645' # 0xE5 -> ARABIC LETTER MEEM
+ u'\u0646' # 0xE6 -> ARABIC LETTER NOON
+ u'\u0647' # 0xE7 -> ARABIC LETTER HEH
+ u'\u0648' # 0xE8 -> ARABIC LETTER WAW
+ u'\u0649' # 0xE9 -> ARABIC LETTER ALEF MAKSURA
+ u'\u064a' # 0xEA -> ARABIC LETTER YEH
+ u'\u064b' # 0xEB -> ARABIC FATHATAN
+ u'\u064c' # 0xEC -> ARABIC DAMMATAN
+ u'\u064d' # 0xED -> ARABIC KASRATAN
+ u'\u064e' # 0xEE -> ARABIC FATHA
+ u'\u064f' # 0xEF -> ARABIC DAMMA
+ u'\u0650' # 0xF0 -> ARABIC KASRA
+ u'\u0651' # 0xF1 -> ARABIC SHADDA
+ u'\u0652' # 0xF2 -> ARABIC SUKUN
+ u'\u067e' # 0xF3 -> ARABIC LETTER PEH
+ u'\u0679' # 0xF4 -> ARABIC LETTER TTEH
+ u'\u0686' # 0xF5 -> ARABIC LETTER TCHEH
+ u'\u06d5' # 0xF6 -> ARABIC LETTER AE
+ u'\u06a4' # 0xF7 -> ARABIC LETTER VEH
+ u'\u06af' # 0xF8 -> ARABIC LETTER GAF
+ u'\u0688' # 0xF9 -> ARABIC LETTER DDAL
+ u'\u0691' # 0xFA -> ARABIC LETTER RREH
+ u'{' # 0xFB -> LEFT CURLY BRACKET, right-left
+ u'|' # 0xFC -> VERTICAL LINE, right-left
+ u'}' # 0xFD -> RIGHT CURLY BRACKET, right-left
+ u'\u0698' # 0xFE -> ARABIC LETTER JEH
+ u'\u06d2' # 0xFF -> ARABIC LETTER YEH BARREE
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE, left-right
- 0x0020: 0xA0, # SPACE, right-left
- 0x0021: 0x21, # EXCLAMATION MARK, left-right
- 0x0021: 0xA1, # EXCLAMATION MARK, right-left
- 0x0022: 0x22, # QUOTATION MARK, left-right
- 0x0022: 0xA2, # QUOTATION MARK, right-left
- 0x0023: 0x23, # NUMBER SIGN, left-right
- 0x0023: 0xA3, # NUMBER SIGN, right-left
- 0x0024: 0x24, # DOLLAR SIGN, left-right
- 0x0024: 0xA4, # DOLLAR SIGN, right-left
- 0x0025: 0x25, # PERCENT SIGN, left-right
- 0x0026: 0x26, # AMPERSAND, left-right
- 0x0026: 0xA6, # AMPERSAND, right-left
- 0x0027: 0x27, # APOSTROPHE, left-right
- 0x0027: 0xA7, # APOSTROPHE, right-left
- 0x0028: 0x28, # LEFT PARENTHESIS, left-right
- 0x0028: 0xA8, # LEFT PARENTHESIS, right-left
- 0x0029: 0x29, # RIGHT PARENTHESIS, left-right
- 0x0029: 0xA9, # RIGHT PARENTHESIS, right-left
- 0x002A: 0x2A, # ASTERISK, left-right
- 0x002A: 0xAA, # ASTERISK, right-left
- 0x002B: 0x2B, # PLUS SIGN, left-right
- 0x002B: 0xAB, # PLUS SIGN, right-left
- 0x002C: 0x2C, # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
- 0x002D: 0x2D, # HYPHEN-MINUS, left-right
- 0x002D: 0xAD, # HYPHEN-MINUS, right-left
- 0x002E: 0x2E, # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
- 0x002E: 0xAE, # FULL STOP, right-left
- 0x002F: 0x2F, # SOLIDUS, left-right
- 0x002F: 0xAF, # SOLIDUS, right-left
- 0x0030: 0x30, # DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
- 0x003A: 0x3A, # COLON, left-right
- 0x003A: 0xBA, # COLON, right-left
- 0x003B: 0x3B, # SEMICOLON, left-right
- 0x003C: 0x3C, # LESS-THAN SIGN, left-right
- 0x003C: 0xBC, # LESS-THAN SIGN, right-left
- 0x003D: 0x3D, # EQUALS SIGN, left-right
- 0x003D: 0xBD, # EQUALS SIGN, right-left
- 0x003E: 0x3E, # GREATER-THAN SIGN, left-right
- 0x003E: 0xBE, # GREATER-THAN SIGN, right-left
- 0x003F: 0x3F, # QUESTION MARK, left-right
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET, left-right
- 0x005B: 0xDB, # LEFT SQUARE BRACKET, right-left
- 0x005C: 0x5C, # REVERSE SOLIDUS, left-right
- 0x005C: 0xDC, # REVERSE SOLIDUS, right-left
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET, left-right
- 0x005D: 0xDD, # RIGHT SQUARE BRACKET, right-left
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT, left-right
- 0x005E: 0xDE, # CIRCUMFLEX ACCENT, right-left
- 0x005F: 0x5F, # LOW LINE, left-right
- 0x005F: 0xDF, # LOW LINE, right-left
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET, left-right
- 0x007B: 0xFB, # LEFT CURLY BRACKET, right-left
- 0x007C: 0x7C, # VERTICAL LINE, left-right
- 0x007C: 0xFC, # VERTICAL LINE, right-left
- 0x007D: 0x7D, # RIGHT CURLY BRACKET, left-right
- 0x007D: 0xFD, # RIGHT CURLY BRACKET, right-left
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0x81, # NO-BREAK SPACE, right-left
- 0x00AB: 0x8C, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- 0x00BB: 0x98, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0x9B, # DIVISION SIGN, right-left
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x060C: 0xAC, # ARABIC COMMA
- 0x061B: 0xBB, # ARABIC SEMICOLON
- 0x061F: 0xBF, # ARABIC QUESTION MARK
- 0x0621: 0xC1, # ARABIC LETTER HAMZA
- 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
- 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
- 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
- 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
- 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
- 0x0627: 0xC7, # ARABIC LETTER ALEF
- 0x0628: 0xC8, # ARABIC LETTER BEH
- 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
- 0x062A: 0xCA, # ARABIC LETTER TEH
- 0x062B: 0xCB, # ARABIC LETTER THEH
- 0x062C: 0xCC, # ARABIC LETTER JEEM
- 0x062D: 0xCD, # ARABIC LETTER HAH
- 0x062E: 0xCE, # ARABIC LETTER KHAH
- 0x062F: 0xCF, # ARABIC LETTER DAL
- 0x0630: 0xD0, # ARABIC LETTER THAL
- 0x0631: 0xD1, # ARABIC LETTER REH
- 0x0632: 0xD2, # ARABIC LETTER ZAIN
- 0x0633: 0xD3, # ARABIC LETTER SEEN
- 0x0634: 0xD4, # ARABIC LETTER SHEEN
- 0x0635: 0xD5, # ARABIC LETTER SAD
- 0x0636: 0xD6, # ARABIC LETTER DAD
- 0x0637: 0xD7, # ARABIC LETTER TAH
- 0x0638: 0xD8, # ARABIC LETTER ZAH
- 0x0639: 0xD9, # ARABIC LETTER AIN
- 0x063A: 0xDA, # ARABIC LETTER GHAIN
- 0x0640: 0xE0, # ARABIC TATWEEL
- 0x0641: 0xE1, # ARABIC LETTER FEH
- 0x0642: 0xE2, # ARABIC LETTER QAF
- 0x0643: 0xE3, # ARABIC LETTER KAF
- 0x0644: 0xE4, # ARABIC LETTER LAM
- 0x0645: 0xE5, # ARABIC LETTER MEEM
- 0x0646: 0xE6, # ARABIC LETTER NOON
- 0x0647: 0xE7, # ARABIC LETTER HEH
- 0x0648: 0xE8, # ARABIC LETTER WAW
- 0x0649: 0xE9, # ARABIC LETTER ALEF MAKSURA
- 0x064A: 0xEA, # ARABIC LETTER YEH
- 0x064B: 0xEB, # ARABIC FATHATAN
- 0x064C: 0xEC, # ARABIC DAMMATAN
- 0x064D: 0xED, # ARABIC KASRATAN
- 0x064E: 0xEE, # ARABIC FATHA
- 0x064F: 0xEF, # ARABIC DAMMA
- 0x0650: 0xF0, # ARABIC KASRA
- 0x0651: 0xF1, # ARABIC SHADDA
- 0x0652: 0xF2, # ARABIC SUKUN
- 0x066A: 0xA5, # ARABIC PERCENT SIGN
- 0x0679: 0xF4, # ARABIC LETTER TTEH
- 0x067E: 0xF3, # ARABIC LETTER PEH
- 0x0686: 0xF5, # ARABIC LETTER TCHEH
- 0x0688: 0xF9, # ARABIC LETTER DDAL
- 0x0691: 0xFA, # ARABIC LETTER RREH
- 0x0698: 0xFE, # ARABIC LETTER JEH
- 0x06A4: 0xF7, # ARABIC LETTER VEH
- 0x06AF: 0xF8, # ARABIC LETTER GAF
- 0x06BA: 0x8B, # ARABIC LETTER NOON GHUNNA
- 0x06D2: 0xFF, # ARABIC LETTER YEH BARREE
- 0x06D5: 0xF6, # ARABIC LETTER AE
- 0x06F0: 0xB0, # EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
- 0x06F1: 0xB1, # EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
- 0x06F2: 0xB2, # EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
- 0x06F3: 0xB3, # EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
- 0x06F4: 0xB4, # EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
- 0x06F5: 0xB5, # EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
- 0x06F6: 0xB6, # EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
- 0x06F7: 0xB7, # EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
- 0x06F8: 0xB8, # EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
- 0x06F9: 0xB9, # EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
- 0x2026: 0x93, # HORIZONTAL ELLIPSIS, right-left
- 0x274A: 0xC0, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE, left-right
+ 0x0020: 0xA0, # SPACE, right-left
+ 0x0021: 0x21, # EXCLAMATION MARK, left-right
+ 0x0021: 0xA1, # EXCLAMATION MARK, right-left
+ 0x0022: 0x22, # QUOTATION MARK, left-right
+ 0x0022: 0xA2, # QUOTATION MARK, right-left
+ 0x0023: 0x23, # NUMBER SIGN, left-right
+ 0x0023: 0xA3, # NUMBER SIGN, right-left
+ 0x0024: 0x24, # DOLLAR SIGN, left-right
+ 0x0024: 0xA4, # DOLLAR SIGN, right-left
+ 0x0025: 0x25, # PERCENT SIGN, left-right
+ 0x0026: 0x26, # AMPERSAND, left-right
+ 0x0026: 0xA6, # AMPERSAND, right-left
+ 0x0027: 0x27, # APOSTROPHE, left-right
+ 0x0027: 0xA7, # APOSTROPHE, right-left
+ 0x0028: 0x28, # LEFT PARENTHESIS, left-right
+ 0x0028: 0xA8, # LEFT PARENTHESIS, right-left
+ 0x0029: 0x29, # RIGHT PARENTHESIS, left-right
+ 0x0029: 0xA9, # RIGHT PARENTHESIS, right-left
+ 0x002A: 0x2A, # ASTERISK, left-right
+ 0x002A: 0xAA, # ASTERISK, right-left
+ 0x002B: 0x2B, # PLUS SIGN, left-right
+ 0x002B: 0xAB, # PLUS SIGN, right-left
+ 0x002C: 0x2C, # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+ 0x002D: 0x2D, # HYPHEN-MINUS, left-right
+ 0x002D: 0xAD, # HYPHEN-MINUS, right-left
+ 0x002E: 0x2E, # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
+ 0x002E: 0xAE, # FULL STOP, right-left
+ 0x002F: 0x2F, # SOLIDUS, left-right
+ 0x002F: 0xAF, # SOLIDUS, right-left
+ 0x0030: 0x30, # DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+ 0x003A: 0x3A, # COLON, left-right
+ 0x003A: 0xBA, # COLON, right-left
+ 0x003B: 0x3B, # SEMICOLON, left-right
+ 0x003C: 0x3C, # LESS-THAN SIGN, left-right
+ 0x003C: 0xBC, # LESS-THAN SIGN, right-left
+ 0x003D: 0x3D, # EQUALS SIGN, left-right
+ 0x003D: 0xBD, # EQUALS SIGN, right-left
+ 0x003E: 0x3E, # GREATER-THAN SIGN, left-right
+ 0x003E: 0xBE, # GREATER-THAN SIGN, right-left
+ 0x003F: 0x3F, # QUESTION MARK, left-right
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET, left-right
+ 0x005B: 0xDB, # LEFT SQUARE BRACKET, right-left
+ 0x005C: 0x5C, # REVERSE SOLIDUS, left-right
+ 0x005C: 0xDC, # REVERSE SOLIDUS, right-left
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET, left-right
+ 0x005D: 0xDD, # RIGHT SQUARE BRACKET, right-left
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT, left-right
+ 0x005E: 0xDE, # CIRCUMFLEX ACCENT, right-left
+ 0x005F: 0x5F, # LOW LINE, left-right
+ 0x005F: 0xDF, # LOW LINE, right-left
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET, left-right
+ 0x007B: 0xFB, # LEFT CURLY BRACKET, right-left
+ 0x007C: 0x7C, # VERTICAL LINE, left-right
+ 0x007C: 0xFC, # VERTICAL LINE, right-left
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET, left-right
+ 0x007D: 0xFD, # RIGHT CURLY BRACKET, right-left
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0x81, # NO-BREAK SPACE, right-left
+ 0x00AB: 0x8C, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ 0x00BB: 0x98, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0x9B, # DIVISION SIGN, right-left
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x060C: 0xAC, # ARABIC COMMA
+ 0x061B: 0xBB, # ARABIC SEMICOLON
+ 0x061F: 0xBF, # ARABIC QUESTION MARK
+ 0x0621: 0xC1, # ARABIC LETTER HAMZA
+ 0x0622: 0xC2, # ARABIC LETTER ALEF WITH MADDA ABOVE
+ 0x0623: 0xC3, # ARABIC LETTER ALEF WITH HAMZA ABOVE
+ 0x0624: 0xC4, # ARABIC LETTER WAW WITH HAMZA ABOVE
+ 0x0625: 0xC5, # ARABIC LETTER ALEF WITH HAMZA BELOW
+ 0x0626: 0xC6, # ARABIC LETTER YEH WITH HAMZA ABOVE
+ 0x0627: 0xC7, # ARABIC LETTER ALEF
+ 0x0628: 0xC8, # ARABIC LETTER BEH
+ 0x0629: 0xC9, # ARABIC LETTER TEH MARBUTA
+ 0x062A: 0xCA, # ARABIC LETTER TEH
+ 0x062B: 0xCB, # ARABIC LETTER THEH
+ 0x062C: 0xCC, # ARABIC LETTER JEEM
+ 0x062D: 0xCD, # ARABIC LETTER HAH
+ 0x062E: 0xCE, # ARABIC LETTER KHAH
+ 0x062F: 0xCF, # ARABIC LETTER DAL
+ 0x0630: 0xD0, # ARABIC LETTER THAL
+ 0x0631: 0xD1, # ARABIC LETTER REH
+ 0x0632: 0xD2, # ARABIC LETTER ZAIN
+ 0x0633: 0xD3, # ARABIC LETTER SEEN
+ 0x0634: 0xD4, # ARABIC LETTER SHEEN
+ 0x0635: 0xD5, # ARABIC LETTER SAD
+ 0x0636: 0xD6, # ARABIC LETTER DAD
+ 0x0637: 0xD7, # ARABIC LETTER TAH
+ 0x0638: 0xD8, # ARABIC LETTER ZAH
+ 0x0639: 0xD9, # ARABIC LETTER AIN
+ 0x063A: 0xDA, # ARABIC LETTER GHAIN
+ 0x0640: 0xE0, # ARABIC TATWEEL
+ 0x0641: 0xE1, # ARABIC LETTER FEH
+ 0x0642: 0xE2, # ARABIC LETTER QAF
+ 0x0643: 0xE3, # ARABIC LETTER KAF
+ 0x0644: 0xE4, # ARABIC LETTER LAM
+ 0x0645: 0xE5, # ARABIC LETTER MEEM
+ 0x0646: 0xE6, # ARABIC LETTER NOON
+ 0x0647: 0xE7, # ARABIC LETTER HEH
+ 0x0648: 0xE8, # ARABIC LETTER WAW
+ 0x0649: 0xE9, # ARABIC LETTER ALEF MAKSURA
+ 0x064A: 0xEA, # ARABIC LETTER YEH
+ 0x064B: 0xEB, # ARABIC FATHATAN
+ 0x064C: 0xEC, # ARABIC DAMMATAN
+ 0x064D: 0xED, # ARABIC KASRATAN
+ 0x064E: 0xEE, # ARABIC FATHA
+ 0x064F: 0xEF, # ARABIC DAMMA
+ 0x0650: 0xF0, # ARABIC KASRA
+ 0x0651: 0xF1, # ARABIC SHADDA
+ 0x0652: 0xF2, # ARABIC SUKUN
+ 0x066A: 0xA5, # ARABIC PERCENT SIGN
+ 0x0679: 0xF4, # ARABIC LETTER TTEH
+ 0x067E: 0xF3, # ARABIC LETTER PEH
+ 0x0686: 0xF5, # ARABIC LETTER TCHEH
+ 0x0688: 0xF9, # ARABIC LETTER DDAL
+ 0x0691: 0xFA, # ARABIC LETTER RREH
+ 0x0698: 0xFE, # ARABIC LETTER JEH
+ 0x06A4: 0xF7, # ARABIC LETTER VEH
+ 0x06AF: 0xF8, # ARABIC LETTER GAF
+ 0x06BA: 0x8B, # ARABIC LETTER NOON GHUNNA
+ 0x06D2: 0xFF, # ARABIC LETTER YEH BARREE
+ 0x06D5: 0xF6, # ARABIC LETTER AE
+ 0x06F0: 0xB0, # EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
+ 0x06F1: 0xB1, # EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
+ 0x06F2: 0xB2, # EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
+ 0x06F3: 0xB3, # EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
+ 0x06F4: 0xB4, # EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
+ 0x06F5: 0xB5, # EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
+ 0x06F6: 0xB6, # EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
+ 0x06F7: 0xB7, # EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+ 0x06F8: 0xB8, # EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+ 0x06F9: 0xB9, # EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
+ 0x2026: 0x93, # HORIZONTAL ELLIPSIS, right-left
+ 0x274A: 0xC0, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
}
-
diff --git a/Lib/encodings/mac_greek.py b/Lib/encodings/mac_greek.py
index 872e92d..c2dd26f 100644
--- a/Lib/encodings/mac_greek.py
+++ b/Lib/encodings/mac_greek.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xb9' # 0x81 -> SUPERSCRIPT ONE
- u'\xb2' # 0x82 -> SUPERSCRIPT TWO
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xb3' # 0x84 -> SUPERSCRIPT THREE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\u0385' # 0x87 -> GREEK DIALYTIKA TONOS
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\u0384' # 0x8B -> GREEK TONOS
- u'\xa8' # 0x8C -> DIAERESIS
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xa3' # 0x92 -> POUND SIGN
- u'\u2122' # 0x93 -> TRADE MARK SIGN
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\u2022' # 0x96 -> BULLET
- u'\xbd' # 0x97 -> VULGAR FRACTION ONE HALF
- u'\u2030' # 0x98 -> PER MILLE SIGN
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xa6' # 0x9B -> BROKEN BAR
- u'\u20ac' # 0x9C -> EURO SIGN # before Mac OS 9.2.2, was SOFT HYPHEN
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u2020' # 0xA0 -> DAGGER
- u'\u0393' # 0xA1 -> GREEK CAPITAL LETTER GAMMA
- u'\u0394' # 0xA2 -> GREEK CAPITAL LETTER DELTA
- u'\u0398' # 0xA3 -> GREEK CAPITAL LETTER THETA
- u'\u039b' # 0xA4 -> GREEK CAPITAL LETTER LAMDA
- u'\u039e' # 0xA5 -> GREEK CAPITAL LETTER XI
- u'\u03a0' # 0xA6 -> GREEK CAPITAL LETTER PI
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u03a3' # 0xAA -> GREEK CAPITAL LETTER SIGMA
- u'\u03aa' # 0xAB -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- u'\xa7' # 0xAC -> SECTION SIGN
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\xb0' # 0xAE -> DEGREE SIGN
- u'\xb7' # 0xAF -> MIDDLE DOT
- u'\u0391' # 0xB0 -> GREEK CAPITAL LETTER ALPHA
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\xa5' # 0xB4 -> YEN SIGN
- u'\u0392' # 0xB5 -> GREEK CAPITAL LETTER BETA
- u'\u0395' # 0xB6 -> GREEK CAPITAL LETTER EPSILON
- u'\u0396' # 0xB7 -> GREEK CAPITAL LETTER ZETA
- u'\u0397' # 0xB8 -> GREEK CAPITAL LETTER ETA
- u'\u0399' # 0xB9 -> GREEK CAPITAL LETTER IOTA
- u'\u039a' # 0xBA -> GREEK CAPITAL LETTER KAPPA
- u'\u039c' # 0xBB -> GREEK CAPITAL LETTER MU
- u'\u03a6' # 0xBC -> GREEK CAPITAL LETTER PHI
- u'\u03ab' # 0xBD -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- u'\u03a8' # 0xBE -> GREEK CAPITAL LETTER PSI
- u'\u03a9' # 0xBF -> GREEK CAPITAL LETTER OMEGA
- u'\u03ac' # 0xC0 -> GREEK SMALL LETTER ALPHA WITH TONOS
- u'\u039d' # 0xC1 -> GREEK CAPITAL LETTER NU
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u039f' # 0xC3 -> GREEK CAPITAL LETTER OMICRON
- u'\u03a1' # 0xC4 -> GREEK CAPITAL LETTER RHO
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u03a4' # 0xC6 -> GREEK CAPITAL LETTER TAU
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\u03a5' # 0xCB -> GREEK CAPITAL LETTER UPSILON
- u'\u03a7' # 0xCC -> GREEK CAPITAL LETTER CHI
- u'\u0386' # 0xCD -> GREEK CAPITAL LETTER ALPHA WITH TONOS
- u'\u0388' # 0xCE -> GREEK CAPITAL LETTER EPSILON WITH TONOS
- u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2015' # 0xD1 -> HORIZONTAL BAR
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u0389' # 0xD7 -> GREEK CAPITAL LETTER ETA WITH TONOS
- u'\u038a' # 0xD8 -> GREEK CAPITAL LETTER IOTA WITH TONOS
- u'\u038c' # 0xD9 -> GREEK CAPITAL LETTER OMICRON WITH TONOS
- u'\u038e' # 0xDA -> GREEK CAPITAL LETTER UPSILON WITH TONOS
- u'\u03ad' # 0xDB -> GREEK SMALL LETTER EPSILON WITH TONOS
- u'\u03ae' # 0xDC -> GREEK SMALL LETTER ETA WITH TONOS
- u'\u03af' # 0xDD -> GREEK SMALL LETTER IOTA WITH TONOS
- u'\u03cc' # 0xDE -> GREEK SMALL LETTER OMICRON WITH TONOS
- u'\u038f' # 0xDF -> GREEK CAPITAL LETTER OMEGA WITH TONOS
- u'\u03cd' # 0xE0 -> GREEK SMALL LETTER UPSILON WITH TONOS
- u'\u03b1' # 0xE1 -> GREEK SMALL LETTER ALPHA
- u'\u03b2' # 0xE2 -> GREEK SMALL LETTER BETA
- u'\u03c8' # 0xE3 -> GREEK SMALL LETTER PSI
- u'\u03b4' # 0xE4 -> GREEK SMALL LETTER DELTA
- u'\u03b5' # 0xE5 -> GREEK SMALL LETTER EPSILON
- u'\u03c6' # 0xE6 -> GREEK SMALL LETTER PHI
- u'\u03b3' # 0xE7 -> GREEK SMALL LETTER GAMMA
- u'\u03b7' # 0xE8 -> GREEK SMALL LETTER ETA
- u'\u03b9' # 0xE9 -> GREEK SMALL LETTER IOTA
- u'\u03be' # 0xEA -> GREEK SMALL LETTER XI
- u'\u03ba' # 0xEB -> GREEK SMALL LETTER KAPPA
- u'\u03bb' # 0xEC -> GREEK SMALL LETTER LAMDA
- u'\u03bc' # 0xED -> GREEK SMALL LETTER MU
- u'\u03bd' # 0xEE -> GREEK SMALL LETTER NU
- u'\u03bf' # 0xEF -> GREEK SMALL LETTER OMICRON
- u'\u03c0' # 0xF0 -> GREEK SMALL LETTER PI
- u'\u03ce' # 0xF1 -> GREEK SMALL LETTER OMEGA WITH TONOS
- u'\u03c1' # 0xF2 -> GREEK SMALL LETTER RHO
- u'\u03c3' # 0xF3 -> GREEK SMALL LETTER SIGMA
- u'\u03c4' # 0xF4 -> GREEK SMALL LETTER TAU
- u'\u03b8' # 0xF5 -> GREEK SMALL LETTER THETA
- u'\u03c9' # 0xF6 -> GREEK SMALL LETTER OMEGA
- u'\u03c2' # 0xF7 -> GREEK SMALL LETTER FINAL SIGMA
- u'\u03c7' # 0xF8 -> GREEK SMALL LETTER CHI
- u'\u03c5' # 0xF9 -> GREEK SMALL LETTER UPSILON
- u'\u03b6' # 0xFA -> GREEK SMALL LETTER ZETA
- u'\u03ca' # 0xFB -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
- u'\u03cb' # 0xFC -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- u'\u0390' # 0xFD -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- u'\u03b0' # 0xFE -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- u'\xad' # 0xFF -> SOFT HYPHEN # before Mac OS 9.2.2, was undefined
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xb9' # 0x81 -> SUPERSCRIPT ONE
+ u'\xb2' # 0x82 -> SUPERSCRIPT TWO
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xb3' # 0x84 -> SUPERSCRIPT THREE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\u0385' # 0x87 -> GREEK DIALYTIKA TONOS
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\u0384' # 0x8B -> GREEK TONOS
+ u'\xa8' # 0x8C -> DIAERESIS
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xa3' # 0x92 -> POUND SIGN
+ u'\u2122' # 0x93 -> TRADE MARK SIGN
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\u2022' # 0x96 -> BULLET
+ u'\xbd' # 0x97 -> VULGAR FRACTION ONE HALF
+ u'\u2030' # 0x98 -> PER MILLE SIGN
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xa6' # 0x9B -> BROKEN BAR
+ u'\u20ac' # 0x9C -> EURO SIGN # before Mac OS 9.2.2, was SOFT HYPHEN
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\u0393' # 0xA1 -> GREEK CAPITAL LETTER GAMMA
+ u'\u0394' # 0xA2 -> GREEK CAPITAL LETTER DELTA
+ u'\u0398' # 0xA3 -> GREEK CAPITAL LETTER THETA
+ u'\u039b' # 0xA4 -> GREEK CAPITAL LETTER LAMDA
+ u'\u039e' # 0xA5 -> GREEK CAPITAL LETTER XI
+ u'\u03a0' # 0xA6 -> GREEK CAPITAL LETTER PI
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u03a3' # 0xAA -> GREEK CAPITAL LETTER SIGMA
+ u'\u03aa' # 0xAB -> GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ u'\xa7' # 0xAC -> SECTION SIGN
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\xb0' # 0xAE -> DEGREE SIGN
+ u'\xb7' # 0xAF -> MIDDLE DOT
+ u'\u0391' # 0xB0 -> GREEK CAPITAL LETTER ALPHA
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\xa5' # 0xB4 -> YEN SIGN
+ u'\u0392' # 0xB5 -> GREEK CAPITAL LETTER BETA
+ u'\u0395' # 0xB6 -> GREEK CAPITAL LETTER EPSILON
+ u'\u0396' # 0xB7 -> GREEK CAPITAL LETTER ZETA
+ u'\u0397' # 0xB8 -> GREEK CAPITAL LETTER ETA
+ u'\u0399' # 0xB9 -> GREEK CAPITAL LETTER IOTA
+ u'\u039a' # 0xBA -> GREEK CAPITAL LETTER KAPPA
+ u'\u039c' # 0xBB -> GREEK CAPITAL LETTER MU
+ u'\u03a6' # 0xBC -> GREEK CAPITAL LETTER PHI
+ u'\u03ab' # 0xBD -> GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ u'\u03a8' # 0xBE -> GREEK CAPITAL LETTER PSI
+ u'\u03a9' # 0xBF -> GREEK CAPITAL LETTER OMEGA
+ u'\u03ac' # 0xC0 -> GREEK SMALL LETTER ALPHA WITH TONOS
+ u'\u039d' # 0xC1 -> GREEK CAPITAL LETTER NU
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u039f' # 0xC3 -> GREEK CAPITAL LETTER OMICRON
+ u'\u03a1' # 0xC4 -> GREEK CAPITAL LETTER RHO
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u03a4' # 0xC6 -> GREEK CAPITAL LETTER TAU
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\u03a5' # 0xCB -> GREEK CAPITAL LETTER UPSILON
+ u'\u03a7' # 0xCC -> GREEK CAPITAL LETTER CHI
+ u'\u0386' # 0xCD -> GREEK CAPITAL LETTER ALPHA WITH TONOS
+ u'\u0388' # 0xCE -> GREEK CAPITAL LETTER EPSILON WITH TONOS
+ u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2015' # 0xD1 -> HORIZONTAL BAR
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u0389' # 0xD7 -> GREEK CAPITAL LETTER ETA WITH TONOS
+ u'\u038a' # 0xD8 -> GREEK CAPITAL LETTER IOTA WITH TONOS
+ u'\u038c' # 0xD9 -> GREEK CAPITAL LETTER OMICRON WITH TONOS
+ u'\u038e' # 0xDA -> GREEK CAPITAL LETTER UPSILON WITH TONOS
+ u'\u03ad' # 0xDB -> GREEK SMALL LETTER EPSILON WITH TONOS
+ u'\u03ae' # 0xDC -> GREEK SMALL LETTER ETA WITH TONOS
+ u'\u03af' # 0xDD -> GREEK SMALL LETTER IOTA WITH TONOS
+ u'\u03cc' # 0xDE -> GREEK SMALL LETTER OMICRON WITH TONOS
+ u'\u038f' # 0xDF -> GREEK CAPITAL LETTER OMEGA WITH TONOS
+ u'\u03cd' # 0xE0 -> GREEK SMALL LETTER UPSILON WITH TONOS
+ u'\u03b1' # 0xE1 -> GREEK SMALL LETTER ALPHA
+ u'\u03b2' # 0xE2 -> GREEK SMALL LETTER BETA
+ u'\u03c8' # 0xE3 -> GREEK SMALL LETTER PSI
+ u'\u03b4' # 0xE4 -> GREEK SMALL LETTER DELTA
+ u'\u03b5' # 0xE5 -> GREEK SMALL LETTER EPSILON
+ u'\u03c6' # 0xE6 -> GREEK SMALL LETTER PHI
+ u'\u03b3' # 0xE7 -> GREEK SMALL LETTER GAMMA
+ u'\u03b7' # 0xE8 -> GREEK SMALL LETTER ETA
+ u'\u03b9' # 0xE9 -> GREEK SMALL LETTER IOTA
+ u'\u03be' # 0xEA -> GREEK SMALL LETTER XI
+ u'\u03ba' # 0xEB -> GREEK SMALL LETTER KAPPA
+ u'\u03bb' # 0xEC -> GREEK SMALL LETTER LAMDA
+ u'\u03bc' # 0xED -> GREEK SMALL LETTER MU
+ u'\u03bd' # 0xEE -> GREEK SMALL LETTER NU
+ u'\u03bf' # 0xEF -> GREEK SMALL LETTER OMICRON
+ u'\u03c0' # 0xF0 -> GREEK SMALL LETTER PI
+ u'\u03ce' # 0xF1 -> GREEK SMALL LETTER OMEGA WITH TONOS
+ u'\u03c1' # 0xF2 -> GREEK SMALL LETTER RHO
+ u'\u03c3' # 0xF3 -> GREEK SMALL LETTER SIGMA
+ u'\u03c4' # 0xF4 -> GREEK SMALL LETTER TAU
+ u'\u03b8' # 0xF5 -> GREEK SMALL LETTER THETA
+ u'\u03c9' # 0xF6 -> GREEK SMALL LETTER OMEGA
+ u'\u03c2' # 0xF7 -> GREEK SMALL LETTER FINAL SIGMA
+ u'\u03c7' # 0xF8 -> GREEK SMALL LETTER CHI
+ u'\u03c5' # 0xF9 -> GREEK SMALL LETTER UPSILON
+ u'\u03b6' # 0xFA -> GREEK SMALL LETTER ZETA
+ u'\u03ca' # 0xFB -> GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ u'\u03cb' # 0xFC -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ u'\u0390' # 0xFD -> GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ u'\u03b0' # 0xFE -> GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ u'\xad' # 0xFF -> SOFT HYPHEN # before Mac OS 9.2.2, was undefined
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A3: 0x92, # POUND SIGN
- 0x00A5: 0xB4, # YEN SIGN
- 0x00A6: 0x9B, # BROKEN BAR
- 0x00A7: 0xAC, # SECTION SIGN
- 0x00A8: 0x8C, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AD: 0xFF, # SOFT HYPHEN # before Mac OS 9.2.2, was undefined
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00B0: 0xAE, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B2: 0x82, # SUPERSCRIPT TWO
- 0x00B3: 0x84, # SUPERSCRIPT THREE
- 0x00B7: 0xAF, # MIDDLE DOT
- 0x00B9: 0x81, # SUPERSCRIPT ONE
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BD: 0x97, # VULGAR FRACTION ONE HALF
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
- 0x0384: 0x8B, # GREEK TONOS
- 0x0385: 0x87, # GREEK DIALYTIKA TONOS
- 0x0386: 0xCD, # GREEK CAPITAL LETTER ALPHA WITH TONOS
- 0x0388: 0xCE, # GREEK CAPITAL LETTER EPSILON WITH TONOS
- 0x0389: 0xD7, # GREEK CAPITAL LETTER ETA WITH TONOS
- 0x038A: 0xD8, # GREEK CAPITAL LETTER IOTA WITH TONOS
- 0x038C: 0xD9, # GREEK CAPITAL LETTER OMICRON WITH TONOS
- 0x038E: 0xDA, # GREEK CAPITAL LETTER UPSILON WITH TONOS
- 0x038F: 0xDF, # GREEK CAPITAL LETTER OMEGA WITH TONOS
- 0x0390: 0xFD, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
- 0x0391: 0xB0, # GREEK CAPITAL LETTER ALPHA
- 0x0392: 0xB5, # GREEK CAPITAL LETTER BETA
- 0x0393: 0xA1, # GREEK CAPITAL LETTER GAMMA
- 0x0394: 0xA2, # GREEK CAPITAL LETTER DELTA
- 0x0395: 0xB6, # GREEK CAPITAL LETTER EPSILON
- 0x0396: 0xB7, # GREEK CAPITAL LETTER ZETA
- 0x0397: 0xB8, # GREEK CAPITAL LETTER ETA
- 0x0398: 0xA3, # GREEK CAPITAL LETTER THETA
- 0x0399: 0xB9, # GREEK CAPITAL LETTER IOTA
- 0x039A: 0xBA, # GREEK CAPITAL LETTER KAPPA
- 0x039B: 0xA4, # GREEK CAPITAL LETTER LAMDA
- 0x039C: 0xBB, # GREEK CAPITAL LETTER MU
- 0x039D: 0xC1, # GREEK CAPITAL LETTER NU
- 0x039E: 0xA5, # GREEK CAPITAL LETTER XI
- 0x039F: 0xC3, # GREEK CAPITAL LETTER OMICRON
- 0x03A0: 0xA6, # GREEK CAPITAL LETTER PI
- 0x03A1: 0xC4, # GREEK CAPITAL LETTER RHO
- 0x03A3: 0xAA, # GREEK CAPITAL LETTER SIGMA
- 0x03A4: 0xC6, # GREEK CAPITAL LETTER TAU
- 0x03A5: 0xCB, # GREEK CAPITAL LETTER UPSILON
- 0x03A6: 0xBC, # GREEK CAPITAL LETTER PHI
- 0x03A7: 0xCC, # GREEK CAPITAL LETTER CHI
- 0x03A8: 0xBE, # GREEK CAPITAL LETTER PSI
- 0x03A9: 0xBF, # GREEK CAPITAL LETTER OMEGA
- 0x03AA: 0xAB, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
- 0x03AB: 0xBD, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
- 0x03AC: 0xC0, # GREEK SMALL LETTER ALPHA WITH TONOS
- 0x03AD: 0xDB, # GREEK SMALL LETTER EPSILON WITH TONOS
- 0x03AE: 0xDC, # GREEK SMALL LETTER ETA WITH TONOS
- 0x03AF: 0xDD, # GREEK SMALL LETTER IOTA WITH TONOS
- 0x03B0: 0xFE, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
- 0x03B1: 0xE1, # GREEK SMALL LETTER ALPHA
- 0x03B2: 0xE2, # GREEK SMALL LETTER BETA
- 0x03B3: 0xE7, # GREEK SMALL LETTER GAMMA
- 0x03B4: 0xE4, # GREEK SMALL LETTER DELTA
- 0x03B5: 0xE5, # GREEK SMALL LETTER EPSILON
- 0x03B6: 0xFA, # GREEK SMALL LETTER ZETA
- 0x03B7: 0xE8, # GREEK SMALL LETTER ETA
- 0x03B8: 0xF5, # GREEK SMALL LETTER THETA
- 0x03B9: 0xE9, # GREEK SMALL LETTER IOTA
- 0x03BA: 0xEB, # GREEK SMALL LETTER KAPPA
- 0x03BB: 0xEC, # GREEK SMALL LETTER LAMDA
- 0x03BC: 0xED, # GREEK SMALL LETTER MU
- 0x03BD: 0xEE, # GREEK SMALL LETTER NU
- 0x03BE: 0xEA, # GREEK SMALL LETTER XI
- 0x03BF: 0xEF, # GREEK SMALL LETTER OMICRON
- 0x03C0: 0xF0, # GREEK SMALL LETTER PI
- 0x03C1: 0xF2, # GREEK SMALL LETTER RHO
- 0x03C2: 0xF7, # GREEK SMALL LETTER FINAL SIGMA
- 0x03C3: 0xF3, # GREEK SMALL LETTER SIGMA
- 0x03C4: 0xF4, # GREEK SMALL LETTER TAU
- 0x03C5: 0xF9, # GREEK SMALL LETTER UPSILON
- 0x03C6: 0xE6, # GREEK SMALL LETTER PHI
- 0x03C7: 0xF8, # GREEK SMALL LETTER CHI
- 0x03C8: 0xE3, # GREEK SMALL LETTER PSI
- 0x03C9: 0xF6, # GREEK SMALL LETTER OMEGA
- 0x03CA: 0xFB, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
- 0x03CB: 0xFC, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
- 0x03CC: 0xDE, # GREEK SMALL LETTER OMICRON WITH TONOS
- 0x03CD: 0xE0, # GREEK SMALL LETTER UPSILON WITH TONOS
- 0x03CE: 0xF1, # GREEK SMALL LETTER OMEGA WITH TONOS
- 0x2013: 0xD0, # EN DASH
- 0x2015: 0xD1, # HORIZONTAL BAR
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2022: 0x96, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2030: 0x98, # PER MILLE SIGN
- 0x20AC: 0x9C, # EURO SIGN # before Mac OS 9.2.2, was SOFT HYPHEN
- 0x2122: 0x93, # TRADE MARK SIGN
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A3: 0x92, # POUND SIGN
+ 0x00A5: 0xB4, # YEN SIGN
+ 0x00A6: 0x9B, # BROKEN BAR
+ 0x00A7: 0xAC, # SECTION SIGN
+ 0x00A8: 0x8C, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AD: 0xFF, # SOFT HYPHEN # before Mac OS 9.2.2, was undefined
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00B0: 0xAE, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B2: 0x82, # SUPERSCRIPT TWO
+ 0x00B3: 0x84, # SUPERSCRIPT THREE
+ 0x00B7: 0xAF, # MIDDLE DOT
+ 0x00B9: 0x81, # SUPERSCRIPT ONE
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BD: 0x97, # VULGAR FRACTION ONE HALF
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
+ 0x0384: 0x8B, # GREEK TONOS
+ 0x0385: 0x87, # GREEK DIALYTIKA TONOS
+ 0x0386: 0xCD, # GREEK CAPITAL LETTER ALPHA WITH TONOS
+ 0x0388: 0xCE, # GREEK CAPITAL LETTER EPSILON WITH TONOS
+ 0x0389: 0xD7, # GREEK CAPITAL LETTER ETA WITH TONOS
+ 0x038A: 0xD8, # GREEK CAPITAL LETTER IOTA WITH TONOS
+ 0x038C: 0xD9, # GREEK CAPITAL LETTER OMICRON WITH TONOS
+ 0x038E: 0xDA, # GREEK CAPITAL LETTER UPSILON WITH TONOS
+ 0x038F: 0xDF, # GREEK CAPITAL LETTER OMEGA WITH TONOS
+ 0x0390: 0xFD, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+ 0x0391: 0xB0, # GREEK CAPITAL LETTER ALPHA
+ 0x0392: 0xB5, # GREEK CAPITAL LETTER BETA
+ 0x0393: 0xA1, # GREEK CAPITAL LETTER GAMMA
+ 0x0394: 0xA2, # GREEK CAPITAL LETTER DELTA
+ 0x0395: 0xB6, # GREEK CAPITAL LETTER EPSILON
+ 0x0396: 0xB7, # GREEK CAPITAL LETTER ZETA
+ 0x0397: 0xB8, # GREEK CAPITAL LETTER ETA
+ 0x0398: 0xA3, # GREEK CAPITAL LETTER THETA
+ 0x0399: 0xB9, # GREEK CAPITAL LETTER IOTA
+ 0x039A: 0xBA, # GREEK CAPITAL LETTER KAPPA
+ 0x039B: 0xA4, # GREEK CAPITAL LETTER LAMDA
+ 0x039C: 0xBB, # GREEK CAPITAL LETTER MU
+ 0x039D: 0xC1, # GREEK CAPITAL LETTER NU
+ 0x039E: 0xA5, # GREEK CAPITAL LETTER XI
+ 0x039F: 0xC3, # GREEK CAPITAL LETTER OMICRON
+ 0x03A0: 0xA6, # GREEK CAPITAL LETTER PI
+ 0x03A1: 0xC4, # GREEK CAPITAL LETTER RHO
+ 0x03A3: 0xAA, # GREEK CAPITAL LETTER SIGMA
+ 0x03A4: 0xC6, # GREEK CAPITAL LETTER TAU
+ 0x03A5: 0xCB, # GREEK CAPITAL LETTER UPSILON
+ 0x03A6: 0xBC, # GREEK CAPITAL LETTER PHI
+ 0x03A7: 0xCC, # GREEK CAPITAL LETTER CHI
+ 0x03A8: 0xBE, # GREEK CAPITAL LETTER PSI
+ 0x03A9: 0xBF, # GREEK CAPITAL LETTER OMEGA
+ 0x03AA: 0xAB, # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+ 0x03AB: 0xBD, # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+ 0x03AC: 0xC0, # GREEK SMALL LETTER ALPHA WITH TONOS
+ 0x03AD: 0xDB, # GREEK SMALL LETTER EPSILON WITH TONOS
+ 0x03AE: 0xDC, # GREEK SMALL LETTER ETA WITH TONOS
+ 0x03AF: 0xDD, # GREEK SMALL LETTER IOTA WITH TONOS
+ 0x03B0: 0xFE, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+ 0x03B1: 0xE1, # GREEK SMALL LETTER ALPHA
+ 0x03B2: 0xE2, # GREEK SMALL LETTER BETA
+ 0x03B3: 0xE7, # GREEK SMALL LETTER GAMMA
+ 0x03B4: 0xE4, # GREEK SMALL LETTER DELTA
+ 0x03B5: 0xE5, # GREEK SMALL LETTER EPSILON
+ 0x03B6: 0xFA, # GREEK SMALL LETTER ZETA
+ 0x03B7: 0xE8, # GREEK SMALL LETTER ETA
+ 0x03B8: 0xF5, # GREEK SMALL LETTER THETA
+ 0x03B9: 0xE9, # GREEK SMALL LETTER IOTA
+ 0x03BA: 0xEB, # GREEK SMALL LETTER KAPPA
+ 0x03BB: 0xEC, # GREEK SMALL LETTER LAMDA
+ 0x03BC: 0xED, # GREEK SMALL LETTER MU
+ 0x03BD: 0xEE, # GREEK SMALL LETTER NU
+ 0x03BE: 0xEA, # GREEK SMALL LETTER XI
+ 0x03BF: 0xEF, # GREEK SMALL LETTER OMICRON
+ 0x03C0: 0xF0, # GREEK SMALL LETTER PI
+ 0x03C1: 0xF2, # GREEK SMALL LETTER RHO
+ 0x03C2: 0xF7, # GREEK SMALL LETTER FINAL SIGMA
+ 0x03C3: 0xF3, # GREEK SMALL LETTER SIGMA
+ 0x03C4: 0xF4, # GREEK SMALL LETTER TAU
+ 0x03C5: 0xF9, # GREEK SMALL LETTER UPSILON
+ 0x03C6: 0xE6, # GREEK SMALL LETTER PHI
+ 0x03C7: 0xF8, # GREEK SMALL LETTER CHI
+ 0x03C8: 0xE3, # GREEK SMALL LETTER PSI
+ 0x03C9: 0xF6, # GREEK SMALL LETTER OMEGA
+ 0x03CA: 0xFB, # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+ 0x03CB: 0xFC, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+ 0x03CC: 0xDE, # GREEK SMALL LETTER OMICRON WITH TONOS
+ 0x03CD: 0xE0, # GREEK SMALL LETTER UPSILON WITH TONOS
+ 0x03CE: 0xF1, # GREEK SMALL LETTER OMEGA WITH TONOS
+ 0x2013: 0xD0, # EN DASH
+ 0x2015: 0xD1, # HORIZONTAL BAR
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2022: 0x96, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2030: 0x98, # PER MILLE SIGN
+ 0x20AC: 0x9C, # EURO SIGN # before Mac OS 9.2.2, was SOFT HYPHEN
+ 0x2122: 0x93, # TRADE MARK SIGN
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
}
-
diff --git a/Lib/encodings/mac_iceland.py b/Lib/encodings/mac_iceland.py
index 5a2aabc..d305d29 100644
--- a/Lib/encodings/mac_iceland.py
+++ b/Lib/encodings/mac_iceland.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\xdd' # 0xA0 -> LATIN CAPITAL LETTER Y WITH ACUTE
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\xb4' # 0xAB -> ACUTE ACCENT
- u'\xa8' # 0xAC -> DIAERESIS
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\xc6' # 0xAE -> LATIN CAPITAL LETTER AE
- u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u221e' # 0xB0 -> INFINITY
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\xa5' # 0xB4 -> YEN SIGN
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
- u'\u2211' # 0xB7 -> N-ARY SUMMATION
- u'\u220f' # 0xB8 -> N-ARY PRODUCT
- u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
- u'\u222b' # 0xBA -> INTEGRAL
- u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
- u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
- u'\xe6' # 0xBE -> LATIN SMALL LETTER AE
- u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
- u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
- u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u2206' # 0xC6 -> INCREMENT
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
- u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u25ca' # 0xD7 -> LOZENGE
- u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\u2044' # 0xDA -> FRACTION SLASH
- u'\u20ac' # 0xDB -> EURO SIGN
- u'\xd0' # 0xDC -> LATIN CAPITAL LETTER ETH
- u'\xf0' # 0xDD -> LATIN SMALL LETTER ETH
- u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN
- u'\xfe' # 0xDF -> LATIN SMALL LETTER THORN
- u'\xfd' # 0xE0 -> LATIN SMALL LETTER Y WITH ACUTE
- u'\xb7' # 0xE1 -> MIDDLE DOT
- u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
- u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2030' # 0xE4 -> PER MILLE SIGN
- u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\uf8ff' # 0xF0 -> Apple logo
- u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
- u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u02dc' # 0xF7 -> SMALL TILDE
- u'\xaf' # 0xF8 -> MACRON
- u'\u02d8' # 0xF9 -> BREVE
- u'\u02d9' # 0xFA -> DOT ABOVE
- u'\u02da' # 0xFB -> RING ABOVE
- u'\xb8' # 0xFC -> CEDILLA
- u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
- u'\u02db' # 0xFE -> OGONEK
- u'\u02c7' # 0xFF -> CARON
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\xdd' # 0xA0 -> LATIN CAPITAL LETTER Y WITH ACUTE
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\xb4' # 0xAB -> ACUTE ACCENT
+ u'\xa8' # 0xAC -> DIAERESIS
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\xc6' # 0xAE -> LATIN CAPITAL LETTER AE
+ u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u221e' # 0xB0 -> INFINITY
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\xa5' # 0xB4 -> YEN SIGN
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
+ u'\u2211' # 0xB7 -> N-ARY SUMMATION
+ u'\u220f' # 0xB8 -> N-ARY PRODUCT
+ u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
+ u'\u222b' # 0xBA -> INTEGRAL
+ u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
+ u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
+ u'\xe6' # 0xBE -> LATIN SMALL LETTER AE
+ u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
+ u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
+ u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u2206' # 0xC6 -> INCREMENT
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u25ca' # 0xD7 -> LOZENGE
+ u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\u2044' # 0xDA -> FRACTION SLASH
+ u'\u20ac' # 0xDB -> EURO SIGN
+ u'\xd0' # 0xDC -> LATIN CAPITAL LETTER ETH
+ u'\xf0' # 0xDD -> LATIN SMALL LETTER ETH
+ u'\xde' # 0xDE -> LATIN CAPITAL LETTER THORN
+ u'\xfe' # 0xDF -> LATIN SMALL LETTER THORN
+ u'\xfd' # 0xE0 -> LATIN SMALL LETTER Y WITH ACUTE
+ u'\xb7' # 0xE1 -> MIDDLE DOT
+ u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2030' # 0xE4 -> PER MILLE SIGN
+ u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\uf8ff' # 0xF0 -> Apple logo
+ u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
+ u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u02dc' # 0xF7 -> SMALL TILDE
+ u'\xaf' # 0xF8 -> MACRON
+ u'\u02d8' # 0xF9 -> BREVE
+ u'\u02d9' # 0xFA -> DOT ABOVE
+ u'\u02da' # 0xFB -> RING ABOVE
+ u'\xb8' # 0xFC -> CEDILLA
+ u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
+ u'\u02db' # 0xFE -> OGONEK
+ u'\u02c7' # 0xFF -> CARON
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A5: 0xB4, # YEN SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A8: 0xAC, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00AF: 0xF8, # MACRON
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B4: 0xAB, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00B7: 0xE1, # MIDDLE DOT
- 0x00B8: 0xFC, # CEDILLA
- 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BF: 0xC0, # INVERTED QUESTION MARK
- 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xAE, # LATIN CAPITAL LETTER AE
- 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D0: 0xDC, # LATIN CAPITAL LETTER ETH
- 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DD: 0xA0, # LATIN CAPITAL LETTER Y WITH ACUTE
- 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xBE, # LATIN SMALL LETTER AE
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F0: 0xDD, # LATIN SMALL LETTER ETH
- 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FD: 0xE0, # LATIN SMALL LETTER Y WITH ACUTE
- 0x00FE: 0xDF, # LATIN SMALL LETTER THORN
- 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
- 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
- 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02C7: 0xFF, # CARON
- 0x02D8: 0xF9, # BREVE
- 0x02D9: 0xFA, # DOT ABOVE
- 0x02DA: 0xFB, # RING ABOVE
- 0x02DB: 0xFE, # OGONEK
- 0x02DC: 0xF7, # SMALL TILDE
- 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
- 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
- 0x03C0: 0xB9, # GREEK SMALL LETTER PI
- 0x2013: 0xD0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2030: 0xE4, # PER MILLE SIGN
- 0x2044: 0xDA, # FRACTION SLASH
- 0x20AC: 0xDB, # EURO SIGN
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
- 0x2206: 0xC6, # INCREMENT
- 0x220F: 0xB8, # N-ARY PRODUCT
- 0x2211: 0xB7, # N-ARY SUMMATION
- 0x221A: 0xC3, # SQUARE ROOT
- 0x221E: 0xB0, # INFINITY
- 0x222B: 0xBA, # INTEGRAL
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
- 0x25CA: 0xD7, # LOZENGE
- 0xF8FF: 0xF0, # Apple logo
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A5: 0xB4, # YEN SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A8: 0xAC, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00AF: 0xF8, # MACRON
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B4: 0xAB, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00B7: 0xE1, # MIDDLE DOT
+ 0x00B8: 0xFC, # CEDILLA
+ 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BF: 0xC0, # INVERTED QUESTION MARK
+ 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xAE, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D0: 0xDC, # LATIN CAPITAL LETTER ETH
+ 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DD: 0xA0, # LATIN CAPITAL LETTER Y WITH ACUTE
+ 0x00DE: 0xDE, # LATIN CAPITAL LETTER THORN
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xBE, # LATIN SMALL LETTER AE
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F0: 0xDD, # LATIN SMALL LETTER ETH
+ 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FD: 0xE0, # LATIN SMALL LETTER Y WITH ACUTE
+ 0x00FE: 0xDF, # LATIN SMALL LETTER THORN
+ 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
+ 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
+ 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02C7: 0xFF, # CARON
+ 0x02D8: 0xF9, # BREVE
+ 0x02D9: 0xFA, # DOT ABOVE
+ 0x02DA: 0xFB, # RING ABOVE
+ 0x02DB: 0xFE, # OGONEK
+ 0x02DC: 0xF7, # SMALL TILDE
+ 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
+ 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
+ 0x03C0: 0xB9, # GREEK SMALL LETTER PI
+ 0x2013: 0xD0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2030: 0xE4, # PER MILLE SIGN
+ 0x2044: 0xDA, # FRACTION SLASH
+ 0x20AC: 0xDB, # EURO SIGN
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
+ 0x2206: 0xC6, # INCREMENT
+ 0x220F: 0xB8, # N-ARY PRODUCT
+ 0x2211: 0xB7, # N-ARY SUMMATION
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x221E: 0xB0, # INFINITY
+ 0x222B: 0xBA, # INTEGRAL
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x25CA: 0xD7, # LOZENGE
+ 0xF8FF: 0xF0, # Apple logo
}
-
diff --git a/Lib/encodings/mac_roman.py b/Lib/encodings/mac_roman.py
index a4f476f..d23aeba 100644
--- a/Lib/encodings/mac_roman.py
+++ b/Lib/encodings/mac_roman.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u2020' # 0xA0 -> DAGGER
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\xb4' # 0xAB -> ACUTE ACCENT
- u'\xa8' # 0xAC -> DIAERESIS
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\xc6' # 0xAE -> LATIN CAPITAL LETTER AE
- u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u221e' # 0xB0 -> INFINITY
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\xa5' # 0xB4 -> YEN SIGN
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
- u'\u2211' # 0xB7 -> N-ARY SUMMATION
- u'\u220f' # 0xB8 -> N-ARY PRODUCT
- u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
- u'\u222b' # 0xBA -> INTEGRAL
- u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
- u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
- u'\xe6' # 0xBE -> LATIN SMALL LETTER AE
- u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
- u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
- u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u2206' # 0xC6 -> INCREMENT
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
- u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u25ca' # 0xD7 -> LOZENGE
- u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\u2044' # 0xDA -> FRACTION SLASH
- u'\u20ac' # 0xDB -> EURO SIGN
- u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\ufb01' # 0xDE -> LATIN SMALL LIGATURE FI
- u'\ufb02' # 0xDF -> LATIN SMALL LIGATURE FL
- u'\u2021' # 0xE0 -> DOUBLE DAGGER
- u'\xb7' # 0xE1 -> MIDDLE DOT
- u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
- u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2030' # 0xE4 -> PER MILLE SIGN
- u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\uf8ff' # 0xF0 -> Apple logo
- u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
- u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u02dc' # 0xF7 -> SMALL TILDE
- u'\xaf' # 0xF8 -> MACRON
- u'\u02d8' # 0xF9 -> BREVE
- u'\u02d9' # 0xFA -> DOT ABOVE
- u'\u02da' # 0xFB -> RING ABOVE
- u'\xb8' # 0xFC -> CEDILLA
- u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
- u'\u02db' # 0xFE -> OGONEK
- u'\u02c7' # 0xFF -> CARON
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\xb4' # 0xAB -> ACUTE ACCENT
+ u'\xa8' # 0xAC -> DIAERESIS
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\xc6' # 0xAE -> LATIN CAPITAL LETTER AE
+ u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u221e' # 0xB0 -> INFINITY
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\xa5' # 0xB4 -> YEN SIGN
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
+ u'\u2211' # 0xB7 -> N-ARY SUMMATION
+ u'\u220f' # 0xB8 -> N-ARY PRODUCT
+ u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
+ u'\u222b' # 0xBA -> INTEGRAL
+ u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
+ u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
+ u'\xe6' # 0xBE -> LATIN SMALL LETTER AE
+ u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
+ u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
+ u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u2206' # 0xC6 -> INCREMENT
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u25ca' # 0xD7 -> LOZENGE
+ u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\u2044' # 0xDA -> FRACTION SLASH
+ u'\u20ac' # 0xDB -> EURO SIGN
+ u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\ufb01' # 0xDE -> LATIN SMALL LIGATURE FI
+ u'\ufb02' # 0xDF -> LATIN SMALL LIGATURE FL
+ u'\u2021' # 0xE0 -> DOUBLE DAGGER
+ u'\xb7' # 0xE1 -> MIDDLE DOT
+ u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2030' # 0xE4 -> PER MILLE SIGN
+ u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\uf8ff' # 0xF0 -> Apple logo
+ u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
+ u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u02dc' # 0xF7 -> SMALL TILDE
+ u'\xaf' # 0xF8 -> MACRON
+ u'\u02d8' # 0xF9 -> BREVE
+ u'\u02d9' # 0xFA -> DOT ABOVE
+ u'\u02da' # 0xFB -> RING ABOVE
+ u'\xb8' # 0xFC -> CEDILLA
+ u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
+ u'\u02db' # 0xFE -> OGONEK
+ u'\u02c7' # 0xFF -> CARON
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A5: 0xB4, # YEN SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A8: 0xAC, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00AF: 0xF8, # MACRON
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B4: 0xAB, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00B7: 0xE1, # MIDDLE DOT
- 0x00B8: 0xFC, # CEDILLA
- 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BF: 0xC0, # INVERTED QUESTION MARK
- 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xAE, # LATIN CAPITAL LETTER AE
- 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xBE, # LATIN SMALL LETTER AE
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
- 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
- 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02C7: 0xFF, # CARON
- 0x02D8: 0xF9, # BREVE
- 0x02D9: 0xFA, # DOT ABOVE
- 0x02DA: 0xFB, # RING ABOVE
- 0x02DB: 0xFE, # OGONEK
- 0x02DC: 0xF7, # SMALL TILDE
- 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
- 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
- 0x03C0: 0xB9, # GREEK SMALL LETTER PI
- 0x2013: 0xD0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2021: 0xE0, # DOUBLE DAGGER
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2030: 0xE4, # PER MILLE SIGN
- 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x2044: 0xDA, # FRACTION SLASH
- 0x20AC: 0xDB, # EURO SIGN
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
- 0x2206: 0xC6, # INCREMENT
- 0x220F: 0xB8, # N-ARY PRODUCT
- 0x2211: 0xB7, # N-ARY SUMMATION
- 0x221A: 0xC3, # SQUARE ROOT
- 0x221E: 0xB0, # INFINITY
- 0x222B: 0xBA, # INTEGRAL
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
- 0x25CA: 0xD7, # LOZENGE
- 0xF8FF: 0xF0, # Apple logo
- 0xFB01: 0xDE, # LATIN SMALL LIGATURE FI
- 0xFB02: 0xDF, # LATIN SMALL LIGATURE FL
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A5: 0xB4, # YEN SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A8: 0xAC, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00AF: 0xF8, # MACRON
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B4: 0xAB, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00B7: 0xE1, # MIDDLE DOT
+ 0x00B8: 0xFC, # CEDILLA
+ 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BF: 0xC0, # INVERTED QUESTION MARK
+ 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xAE, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xBE, # LATIN SMALL LETTER AE
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
+ 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
+ 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02C7: 0xFF, # CARON
+ 0x02D8: 0xF9, # BREVE
+ 0x02D9: 0xFA, # DOT ABOVE
+ 0x02DA: 0xFB, # RING ABOVE
+ 0x02DB: 0xFE, # OGONEK
+ 0x02DC: 0xF7, # SMALL TILDE
+ 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
+ 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
+ 0x03C0: 0xB9, # GREEK SMALL LETTER PI
+ 0x2013: 0xD0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2021: 0xE0, # DOUBLE DAGGER
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2030: 0xE4, # PER MILLE SIGN
+ 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x2044: 0xDA, # FRACTION SLASH
+ 0x20AC: 0xDB, # EURO SIGN
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
+ 0x2206: 0xC6, # INCREMENT
+ 0x220F: 0xB8, # N-ARY PRODUCT
+ 0x2211: 0xB7, # N-ARY SUMMATION
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x221E: 0xB0, # INFINITY
+ 0x222B: 0xBA, # INTEGRAL
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x25CA: 0xD7, # LOZENGE
+ 0xF8FF: 0xF0, # Apple logo
+ 0xFB01: 0xDE, # LATIN SMALL LIGATURE FI
+ 0xFB02: 0xDF, # LATIN SMALL LIGATURE FL
}
-
diff --git a/Lib/encodings/mac_romanian.py b/Lib/encodings/mac_romanian.py
index ba6c173..5c35a64 100644
--- a/Lib/encodings/mac_romanian.py
+++ b/Lib/encodings/mac_romanian.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u2020' # 0xA0 -> DAGGER
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\xb4' # 0xAB -> ACUTE ACCENT
- u'\xa8' # 0xAC -> DIAERESIS
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\u0102' # 0xAE -> LATIN CAPITAL LETTER A WITH BREVE
- u'\u0218' # 0xAF -> LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
- u'\u221e' # 0xB0 -> INFINITY
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\xa5' # 0xB4 -> YEN SIGN
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
- u'\u2211' # 0xB7 -> N-ARY SUMMATION
- u'\u220f' # 0xB8 -> N-ARY PRODUCT
- u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
- u'\u222b' # 0xBA -> INTEGRAL
- u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
- u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
- u'\u0103' # 0xBE -> LATIN SMALL LETTER A WITH BREVE
- u'\u0219' # 0xBF -> LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
- u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
- u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u2206' # 0xC6 -> INCREMENT
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
- u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u25ca' # 0xD7 -> LOZENGE
- u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\u2044' # 0xDA -> FRACTION SLASH
- u'\u20ac' # 0xDB -> EURO SIGN
- u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- u'\u021a' # 0xDE -> LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
- u'\u021b' # 0xDF -> LATIN SMALL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
- u'\u2021' # 0xE0 -> DOUBLE DAGGER
- u'\xb7' # 0xE1 -> MIDDLE DOT
- u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
- u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2030' # 0xE4 -> PER MILLE SIGN
- u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\uf8ff' # 0xF0 -> Apple logo
- u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
- u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u02dc' # 0xF7 -> SMALL TILDE
- u'\xaf' # 0xF8 -> MACRON
- u'\u02d8' # 0xF9 -> BREVE
- u'\u02d9' # 0xFA -> DOT ABOVE
- u'\u02da' # 0xFB -> RING ABOVE
- u'\xb8' # 0xFC -> CEDILLA
- u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
- u'\u02db' # 0xFE -> OGONEK
- u'\u02c7' # 0xFF -> CARON
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\xb4' # 0xAB -> ACUTE ACCENT
+ u'\xa8' # 0xAC -> DIAERESIS
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\u0102' # 0xAE -> LATIN CAPITAL LETTER A WITH BREVE
+ u'\u0218' # 0xAF -> LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
+ u'\u221e' # 0xB0 -> INFINITY
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\xa5' # 0xB4 -> YEN SIGN
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
+ u'\u2211' # 0xB7 -> N-ARY SUMMATION
+ u'\u220f' # 0xB8 -> N-ARY PRODUCT
+ u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
+ u'\u222b' # 0xBA -> INTEGRAL
+ u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
+ u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
+ u'\u0103' # 0xBE -> LATIN SMALL LETTER A WITH BREVE
+ u'\u0219' # 0xBF -> LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
+ u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
+ u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u2206' # 0xC6 -> INCREMENT
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u25ca' # 0xD7 -> LOZENGE
+ u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\u2044' # 0xDA -> FRACTION SLASH
+ u'\u20ac' # 0xDB -> EURO SIGN
+ u'\u2039' # 0xDC -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ u'\u203a' # 0xDD -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ u'\u021a' # 0xDE -> LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
+ u'\u021b' # 0xDF -> LATIN SMALL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
+ u'\u2021' # 0xE0 -> DOUBLE DAGGER
+ u'\xb7' # 0xE1 -> MIDDLE DOT
+ u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2030' # 0xE4 -> PER MILLE SIGN
+ u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\uf8ff' # 0xF0 -> Apple logo
+ u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\u0131' # 0xF5 -> LATIN SMALL LETTER DOTLESS I
+ u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u02dc' # 0xF7 -> SMALL TILDE
+ u'\xaf' # 0xF8 -> MACRON
+ u'\u02d8' # 0xF9 -> BREVE
+ u'\u02d9' # 0xFA -> DOT ABOVE
+ u'\u02da' # 0xFB -> RING ABOVE
+ u'\xb8' # 0xFC -> CEDILLA
+ u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
+ u'\u02db' # 0xFE -> OGONEK
+ u'\u02c7' # 0xFF -> CARON
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A5: 0xB4, # YEN SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A8: 0xAC, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00AF: 0xF8, # MACRON
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B4: 0xAB, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00B7: 0xE1, # MIDDLE DOT
- 0x00B8: 0xFC, # CEDILLA
- 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BF: 0xC0, # INVERTED QUESTION MARK
- 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x0102: 0xAE, # LATIN CAPITAL LETTER A WITH BREVE
- 0x0103: 0xBE, # LATIN SMALL LETTER A WITH BREVE
- 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
- 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
- 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
- 0x0218: 0xAF, # LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
- 0x0219: 0xBF, # LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
- 0x021A: 0xDE, # LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
- 0x021B: 0xDF, # LATIN SMALL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
- 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02C7: 0xFF, # CARON
- 0x02D8: 0xF9, # BREVE
- 0x02D9: 0xFA, # DOT ABOVE
- 0x02DA: 0xFB, # RING ABOVE
- 0x02DB: 0xFE, # OGONEK
- 0x02DC: 0xF7, # SMALL TILDE
- 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
- 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
- 0x03C0: 0xB9, # GREEK SMALL LETTER PI
- 0x2013: 0xD0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2021: 0xE0, # DOUBLE DAGGER
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2030: 0xE4, # PER MILLE SIGN
- 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- 0x2044: 0xDA, # FRACTION SLASH
- 0x20AC: 0xDB, # EURO SIGN
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
- 0x2206: 0xC6, # INCREMENT
- 0x220F: 0xB8, # N-ARY PRODUCT
- 0x2211: 0xB7, # N-ARY SUMMATION
- 0x221A: 0xC3, # SQUARE ROOT
- 0x221E: 0xB0, # INFINITY
- 0x222B: 0xBA, # INTEGRAL
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
- 0x25CA: 0xD7, # LOZENGE
- 0xF8FF: 0xF0, # Apple logo
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A5: 0xB4, # YEN SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A8: 0xAC, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00AF: 0xF8, # MACRON
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B4: 0xAB, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00B7: 0xE1, # MIDDLE DOT
+ 0x00B8: 0xFC, # CEDILLA
+ 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BF: 0xC0, # INVERTED QUESTION MARK
+ 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x0102: 0xAE, # LATIN CAPITAL LETTER A WITH BREVE
+ 0x0103: 0xBE, # LATIN SMALL LETTER A WITH BREVE
+ 0x0131: 0xF5, # LATIN SMALL LETTER DOTLESS I
+ 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
+ 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
+ 0x0218: 0xAF, # LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
+ 0x0219: 0xBF, # LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
+ 0x021A: 0xDE, # LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
+ 0x021B: 0xDF, # LATIN SMALL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
+ 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02C7: 0xFF, # CARON
+ 0x02D8: 0xF9, # BREVE
+ 0x02D9: 0xFA, # DOT ABOVE
+ 0x02DA: 0xFB, # RING ABOVE
+ 0x02DB: 0xFE, # OGONEK
+ 0x02DC: 0xF7, # SMALL TILDE
+ 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
+ 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
+ 0x03C0: 0xB9, # GREEK SMALL LETTER PI
+ 0x2013: 0xD0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2021: 0xE0, # DOUBLE DAGGER
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2030: 0xE4, # PER MILLE SIGN
+ 0x2039: 0xDC, # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ 0x203A: 0xDD, # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ 0x2044: 0xDA, # FRACTION SLASH
+ 0x20AC: 0xDB, # EURO SIGN
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
+ 0x2206: 0xC6, # INCREMENT
+ 0x220F: 0xB8, # N-ARY PRODUCT
+ 0x2211: 0xB7, # N-ARY SUMMATION
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x221E: 0xB0, # INFINITY
+ 0x222B: 0xBA, # INTEGRAL
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x25CA: 0xD7, # LOZENGE
+ 0xF8FF: 0xF0, # Apple logo
}
-
diff --git a/Lib/encodings/mac_turkish.py b/Lib/encodings/mac_turkish.py
index 8a3efb7..79894ba 100644
--- a/Lib/encodings/mac_turkish.py
+++ b/Lib/encodings/mac_turkish.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,522 +32,521 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> CONTROL CHARACTER
- u'\x01' # 0x01 -> CONTROL CHARACTER
- u'\x02' # 0x02 -> CONTROL CHARACTER
- u'\x03' # 0x03 -> CONTROL CHARACTER
- u'\x04' # 0x04 -> CONTROL CHARACTER
- u'\x05' # 0x05 -> CONTROL CHARACTER
- u'\x06' # 0x06 -> CONTROL CHARACTER
- u'\x07' # 0x07 -> CONTROL CHARACTER
- u'\x08' # 0x08 -> CONTROL CHARACTER
- u'\t' # 0x09 -> CONTROL CHARACTER
- u'\n' # 0x0A -> CONTROL CHARACTER
- u'\x0b' # 0x0B -> CONTROL CHARACTER
- u'\x0c' # 0x0C -> CONTROL CHARACTER
- u'\r' # 0x0D -> CONTROL CHARACTER
- u'\x0e' # 0x0E -> CONTROL CHARACTER
- u'\x0f' # 0x0F -> CONTROL CHARACTER
- u'\x10' # 0x10 -> CONTROL CHARACTER
- u'\x11' # 0x11 -> CONTROL CHARACTER
- u'\x12' # 0x12 -> CONTROL CHARACTER
- u'\x13' # 0x13 -> CONTROL CHARACTER
- u'\x14' # 0x14 -> CONTROL CHARACTER
- u'\x15' # 0x15 -> CONTROL CHARACTER
- u'\x16' # 0x16 -> CONTROL CHARACTER
- u'\x17' # 0x17 -> CONTROL CHARACTER
- u'\x18' # 0x18 -> CONTROL CHARACTER
- u'\x19' # 0x19 -> CONTROL CHARACTER
- u'\x1a' # 0x1A -> CONTROL CHARACTER
- u'\x1b' # 0x1B -> CONTROL CHARACTER
- u'\x1c' # 0x1C -> CONTROL CHARACTER
- u'\x1d' # 0x1D -> CONTROL CHARACTER
- u'\x1e' # 0x1E -> CONTROL CHARACTER
- u'\x1f' # 0x1F -> CONTROL CHARACTER
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> CONTROL CHARACTER
- u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
- u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
- u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
- u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
- u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
- u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
- u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
- u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
- u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
- u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
- u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
- u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
- u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
- u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
- u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
- u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
- u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
- u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
- u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
- u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
- u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
- u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
- u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
- u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
- u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
- u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
- u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
- u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
- u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
- u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
- u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
- u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
- u'\u2020' # 0xA0 -> DAGGER
- u'\xb0' # 0xA1 -> DEGREE SIGN
- u'\xa2' # 0xA2 -> CENT SIGN
- u'\xa3' # 0xA3 -> POUND SIGN
- u'\xa7' # 0xA4 -> SECTION SIGN
- u'\u2022' # 0xA5 -> BULLET
- u'\xb6' # 0xA6 -> PILCROW SIGN
- u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
- u'\xae' # 0xA8 -> REGISTERED SIGN
- u'\xa9' # 0xA9 -> COPYRIGHT SIGN
- u'\u2122' # 0xAA -> TRADE MARK SIGN
- u'\xb4' # 0xAB -> ACUTE ACCENT
- u'\xa8' # 0xAC -> DIAERESIS
- u'\u2260' # 0xAD -> NOT EQUAL TO
- u'\xc6' # 0xAE -> LATIN CAPITAL LETTER AE
- u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
- u'\u221e' # 0xB0 -> INFINITY
- u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
- u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
- u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
- u'\xa5' # 0xB4 -> YEN SIGN
- u'\xb5' # 0xB5 -> MICRO SIGN
- u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
- u'\u2211' # 0xB7 -> N-ARY SUMMATION
- u'\u220f' # 0xB8 -> N-ARY PRODUCT
- u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
- u'\u222b' # 0xBA -> INTEGRAL
- u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
- u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
- u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
- u'\xe6' # 0xBE -> LATIN SMALL LETTER AE
- u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
- u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
- u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
- u'\xac' # 0xC2 -> NOT SIGN
- u'\u221a' # 0xC3 -> SQUARE ROOT
- u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
- u'\u2248' # 0xC5 -> ALMOST EQUAL TO
- u'\u2206' # 0xC6 -> INCREMENT
- u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
- u'\xa0' # 0xCA -> NO-BREAK SPACE
- u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
- u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
- u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
- u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
- u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
- u'\u2013' # 0xD0 -> EN DASH
- u'\u2014' # 0xD1 -> EM DASH
- u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
- u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
- u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
- u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
- u'\xf7' # 0xD6 -> DIVISION SIGN
- u'\u25ca' # 0xD7 -> LOZENGE
- u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
- u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
- u'\u011e' # 0xDA -> LATIN CAPITAL LETTER G WITH BREVE
- u'\u011f' # 0xDB -> LATIN SMALL LETTER G WITH BREVE
- u'\u0130' # 0xDC -> LATIN CAPITAL LETTER I WITH DOT ABOVE
- u'\u0131' # 0xDD -> LATIN SMALL LETTER DOTLESS I
- u'\u015e' # 0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA
- u'\u015f' # 0xDF -> LATIN SMALL LETTER S WITH CEDILLA
- u'\u2021' # 0xE0 -> DOUBLE DAGGER
- u'\xb7' # 0xE1 -> MIDDLE DOT
- u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
- u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
- u'\u2030' # 0xE4 -> PER MILLE SIGN
- u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
- u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
- u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
- u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
- u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
- u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
- u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
- u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- u'\uf8ff' # 0xF0 -> Apple logo
- u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
- u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
- u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
- u'\uf8a0' # 0xF5 -> undefined1
- u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
- u'\u02dc' # 0xF7 -> SMALL TILDE
- u'\xaf' # 0xF8 -> MACRON
- u'\u02d8' # 0xF9 -> BREVE
- u'\u02d9' # 0xFA -> DOT ABOVE
- u'\u02da' # 0xFB -> RING ABOVE
- u'\xb8' # 0xFC -> CEDILLA
- u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
- u'\u02db' # 0xFE -> OGONEK
- u'\u02c7' # 0xFF -> CARON
+ u'\x00' # 0x00 -> CONTROL CHARACTER
+ u'\x01' # 0x01 -> CONTROL CHARACTER
+ u'\x02' # 0x02 -> CONTROL CHARACTER
+ u'\x03' # 0x03 -> CONTROL CHARACTER
+ u'\x04' # 0x04 -> CONTROL CHARACTER
+ u'\x05' # 0x05 -> CONTROL CHARACTER
+ u'\x06' # 0x06 -> CONTROL CHARACTER
+ u'\x07' # 0x07 -> CONTROL CHARACTER
+ u'\x08' # 0x08 -> CONTROL CHARACTER
+ u'\t' # 0x09 -> CONTROL CHARACTER
+ u'\n' # 0x0A -> CONTROL CHARACTER
+ u'\x0b' # 0x0B -> CONTROL CHARACTER
+ u'\x0c' # 0x0C -> CONTROL CHARACTER
+ u'\r' # 0x0D -> CONTROL CHARACTER
+ u'\x0e' # 0x0E -> CONTROL CHARACTER
+ u'\x0f' # 0x0F -> CONTROL CHARACTER
+ u'\x10' # 0x10 -> CONTROL CHARACTER
+ u'\x11' # 0x11 -> CONTROL CHARACTER
+ u'\x12' # 0x12 -> CONTROL CHARACTER
+ u'\x13' # 0x13 -> CONTROL CHARACTER
+ u'\x14' # 0x14 -> CONTROL CHARACTER
+ u'\x15' # 0x15 -> CONTROL CHARACTER
+ u'\x16' # 0x16 -> CONTROL CHARACTER
+ u'\x17' # 0x17 -> CONTROL CHARACTER
+ u'\x18' # 0x18 -> CONTROL CHARACTER
+ u'\x19' # 0x19 -> CONTROL CHARACTER
+ u'\x1a' # 0x1A -> CONTROL CHARACTER
+ u'\x1b' # 0x1B -> CONTROL CHARACTER
+ u'\x1c' # 0x1C -> CONTROL CHARACTER
+ u'\x1d' # 0x1D -> CONTROL CHARACTER
+ u'\x1e' # 0x1E -> CONTROL CHARACTER
+ u'\x1f' # 0x1F -> CONTROL CHARACTER
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> CONTROL CHARACTER
+ u'\xc4' # 0x80 -> LATIN CAPITAL LETTER A WITH DIAERESIS
+ u'\xc5' # 0x81 -> LATIN CAPITAL LETTER A WITH RING ABOVE
+ u'\xc7' # 0x82 -> LATIN CAPITAL LETTER C WITH CEDILLA
+ u'\xc9' # 0x83 -> LATIN CAPITAL LETTER E WITH ACUTE
+ u'\xd1' # 0x84 -> LATIN CAPITAL LETTER N WITH TILDE
+ u'\xd6' # 0x85 -> LATIN CAPITAL LETTER O WITH DIAERESIS
+ u'\xdc' # 0x86 -> LATIN CAPITAL LETTER U WITH DIAERESIS
+ u'\xe1' # 0x87 -> LATIN SMALL LETTER A WITH ACUTE
+ u'\xe0' # 0x88 -> LATIN SMALL LETTER A WITH GRAVE
+ u'\xe2' # 0x89 -> LATIN SMALL LETTER A WITH CIRCUMFLEX
+ u'\xe4' # 0x8A -> LATIN SMALL LETTER A WITH DIAERESIS
+ u'\xe3' # 0x8B -> LATIN SMALL LETTER A WITH TILDE
+ u'\xe5' # 0x8C -> LATIN SMALL LETTER A WITH RING ABOVE
+ u'\xe7' # 0x8D -> LATIN SMALL LETTER C WITH CEDILLA
+ u'\xe9' # 0x8E -> LATIN SMALL LETTER E WITH ACUTE
+ u'\xe8' # 0x8F -> LATIN SMALL LETTER E WITH GRAVE
+ u'\xea' # 0x90 -> LATIN SMALL LETTER E WITH CIRCUMFLEX
+ u'\xeb' # 0x91 -> LATIN SMALL LETTER E WITH DIAERESIS
+ u'\xed' # 0x92 -> LATIN SMALL LETTER I WITH ACUTE
+ u'\xec' # 0x93 -> LATIN SMALL LETTER I WITH GRAVE
+ u'\xee' # 0x94 -> LATIN SMALL LETTER I WITH CIRCUMFLEX
+ u'\xef' # 0x95 -> LATIN SMALL LETTER I WITH DIAERESIS
+ u'\xf1' # 0x96 -> LATIN SMALL LETTER N WITH TILDE
+ u'\xf3' # 0x97 -> LATIN SMALL LETTER O WITH ACUTE
+ u'\xf2' # 0x98 -> LATIN SMALL LETTER O WITH GRAVE
+ u'\xf4' # 0x99 -> LATIN SMALL LETTER O WITH CIRCUMFLEX
+ u'\xf6' # 0x9A -> LATIN SMALL LETTER O WITH DIAERESIS
+ u'\xf5' # 0x9B -> LATIN SMALL LETTER O WITH TILDE
+ u'\xfa' # 0x9C -> LATIN SMALL LETTER U WITH ACUTE
+ u'\xf9' # 0x9D -> LATIN SMALL LETTER U WITH GRAVE
+ u'\xfb' # 0x9E -> LATIN SMALL LETTER U WITH CIRCUMFLEX
+ u'\xfc' # 0x9F -> LATIN SMALL LETTER U WITH DIAERESIS
+ u'\u2020' # 0xA0 -> DAGGER
+ u'\xb0' # 0xA1 -> DEGREE SIGN
+ u'\xa2' # 0xA2 -> CENT SIGN
+ u'\xa3' # 0xA3 -> POUND SIGN
+ u'\xa7' # 0xA4 -> SECTION SIGN
+ u'\u2022' # 0xA5 -> BULLET
+ u'\xb6' # 0xA6 -> PILCROW SIGN
+ u'\xdf' # 0xA7 -> LATIN SMALL LETTER SHARP S
+ u'\xae' # 0xA8 -> REGISTERED SIGN
+ u'\xa9' # 0xA9 -> COPYRIGHT SIGN
+ u'\u2122' # 0xAA -> TRADE MARK SIGN
+ u'\xb4' # 0xAB -> ACUTE ACCENT
+ u'\xa8' # 0xAC -> DIAERESIS
+ u'\u2260' # 0xAD -> NOT EQUAL TO
+ u'\xc6' # 0xAE -> LATIN CAPITAL LETTER AE
+ u'\xd8' # 0xAF -> LATIN CAPITAL LETTER O WITH STROKE
+ u'\u221e' # 0xB0 -> INFINITY
+ u'\xb1' # 0xB1 -> PLUS-MINUS SIGN
+ u'\u2264' # 0xB2 -> LESS-THAN OR EQUAL TO
+ u'\u2265' # 0xB3 -> GREATER-THAN OR EQUAL TO
+ u'\xa5' # 0xB4 -> YEN SIGN
+ u'\xb5' # 0xB5 -> MICRO SIGN
+ u'\u2202' # 0xB6 -> PARTIAL DIFFERENTIAL
+ u'\u2211' # 0xB7 -> N-ARY SUMMATION
+ u'\u220f' # 0xB8 -> N-ARY PRODUCT
+ u'\u03c0' # 0xB9 -> GREEK SMALL LETTER PI
+ u'\u222b' # 0xBA -> INTEGRAL
+ u'\xaa' # 0xBB -> FEMININE ORDINAL INDICATOR
+ u'\xba' # 0xBC -> MASCULINE ORDINAL INDICATOR
+ u'\u03a9' # 0xBD -> GREEK CAPITAL LETTER OMEGA
+ u'\xe6' # 0xBE -> LATIN SMALL LETTER AE
+ u'\xf8' # 0xBF -> LATIN SMALL LETTER O WITH STROKE
+ u'\xbf' # 0xC0 -> INVERTED QUESTION MARK
+ u'\xa1' # 0xC1 -> INVERTED EXCLAMATION MARK
+ u'\xac' # 0xC2 -> NOT SIGN
+ u'\u221a' # 0xC3 -> SQUARE ROOT
+ u'\u0192' # 0xC4 -> LATIN SMALL LETTER F WITH HOOK
+ u'\u2248' # 0xC5 -> ALMOST EQUAL TO
+ u'\u2206' # 0xC6 -> INCREMENT
+ u'\xab' # 0xC7 -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\xbb' # 0xC8 -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ u'\u2026' # 0xC9 -> HORIZONTAL ELLIPSIS
+ u'\xa0' # 0xCA -> NO-BREAK SPACE
+ u'\xc0' # 0xCB -> LATIN CAPITAL LETTER A WITH GRAVE
+ u'\xc3' # 0xCC -> LATIN CAPITAL LETTER A WITH TILDE
+ u'\xd5' # 0xCD -> LATIN CAPITAL LETTER O WITH TILDE
+ u'\u0152' # 0xCE -> LATIN CAPITAL LIGATURE OE
+ u'\u0153' # 0xCF -> LATIN SMALL LIGATURE OE
+ u'\u2013' # 0xD0 -> EN DASH
+ u'\u2014' # 0xD1 -> EM DASH
+ u'\u201c' # 0xD2 -> LEFT DOUBLE QUOTATION MARK
+ u'\u201d' # 0xD3 -> RIGHT DOUBLE QUOTATION MARK
+ u'\u2018' # 0xD4 -> LEFT SINGLE QUOTATION MARK
+ u'\u2019' # 0xD5 -> RIGHT SINGLE QUOTATION MARK
+ u'\xf7' # 0xD6 -> DIVISION SIGN
+ u'\u25ca' # 0xD7 -> LOZENGE
+ u'\xff' # 0xD8 -> LATIN SMALL LETTER Y WITH DIAERESIS
+ u'\u0178' # 0xD9 -> LATIN CAPITAL LETTER Y WITH DIAERESIS
+ u'\u011e' # 0xDA -> LATIN CAPITAL LETTER G WITH BREVE
+ u'\u011f' # 0xDB -> LATIN SMALL LETTER G WITH BREVE
+ u'\u0130' # 0xDC -> LATIN CAPITAL LETTER I WITH DOT ABOVE
+ u'\u0131' # 0xDD -> LATIN SMALL LETTER DOTLESS I
+ u'\u015e' # 0xDE -> LATIN CAPITAL LETTER S WITH CEDILLA
+ u'\u015f' # 0xDF -> LATIN SMALL LETTER S WITH CEDILLA
+ u'\u2021' # 0xE0 -> DOUBLE DAGGER
+ u'\xb7' # 0xE1 -> MIDDLE DOT
+ u'\u201a' # 0xE2 -> SINGLE LOW-9 QUOTATION MARK
+ u'\u201e' # 0xE3 -> DOUBLE LOW-9 QUOTATION MARK
+ u'\u2030' # 0xE4 -> PER MILLE SIGN
+ u'\xc2' # 0xE5 -> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ u'\xca' # 0xE6 -> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ u'\xc1' # 0xE7 -> LATIN CAPITAL LETTER A WITH ACUTE
+ u'\xcb' # 0xE8 -> LATIN CAPITAL LETTER E WITH DIAERESIS
+ u'\xc8' # 0xE9 -> LATIN CAPITAL LETTER E WITH GRAVE
+ u'\xcd' # 0xEA -> LATIN CAPITAL LETTER I WITH ACUTE
+ u'\xce' # 0xEB -> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ u'\xcf' # 0xEC -> LATIN CAPITAL LETTER I WITH DIAERESIS
+ u'\xcc' # 0xED -> LATIN CAPITAL LETTER I WITH GRAVE
+ u'\xd3' # 0xEE -> LATIN CAPITAL LETTER O WITH ACUTE
+ u'\xd4' # 0xEF -> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ u'\uf8ff' # 0xF0 -> Apple logo
+ u'\xd2' # 0xF1 -> LATIN CAPITAL LETTER O WITH GRAVE
+ u'\xda' # 0xF2 -> LATIN CAPITAL LETTER U WITH ACUTE
+ u'\xdb' # 0xF3 -> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ u'\xd9' # 0xF4 -> LATIN CAPITAL LETTER U WITH GRAVE
+ u'\uf8a0' # 0xF5 -> undefined1
+ u'\u02c6' # 0xF6 -> MODIFIER LETTER CIRCUMFLEX ACCENT
+ u'\u02dc' # 0xF7 -> SMALL TILDE
+ u'\xaf' # 0xF8 -> MACRON
+ u'\u02d8' # 0xF9 -> BREVE
+ u'\u02d9' # 0xFA -> DOT ABOVE
+ u'\u02da' # 0xFB -> RING ABOVE
+ u'\xb8' # 0xFC -> CEDILLA
+ u'\u02dd' # 0xFD -> DOUBLE ACUTE ACCENT
+ u'\u02db' # 0xFE -> OGONEK
+ u'\u02c7' # 0xFF -> CARON
)
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # CONTROL CHARACTER
- 0x0001: 0x01, # CONTROL CHARACTER
- 0x0002: 0x02, # CONTROL CHARACTER
- 0x0003: 0x03, # CONTROL CHARACTER
- 0x0004: 0x04, # CONTROL CHARACTER
- 0x0005: 0x05, # CONTROL CHARACTER
- 0x0006: 0x06, # CONTROL CHARACTER
- 0x0007: 0x07, # CONTROL CHARACTER
- 0x0008: 0x08, # CONTROL CHARACTER
- 0x0009: 0x09, # CONTROL CHARACTER
- 0x000A: 0x0A, # CONTROL CHARACTER
- 0x000B: 0x0B, # CONTROL CHARACTER
- 0x000C: 0x0C, # CONTROL CHARACTER
- 0x000D: 0x0D, # CONTROL CHARACTER
- 0x000E: 0x0E, # CONTROL CHARACTER
- 0x000F: 0x0F, # CONTROL CHARACTER
- 0x0010: 0x10, # CONTROL CHARACTER
- 0x0011: 0x11, # CONTROL CHARACTER
- 0x0012: 0x12, # CONTROL CHARACTER
- 0x0013: 0x13, # CONTROL CHARACTER
- 0x0014: 0x14, # CONTROL CHARACTER
- 0x0015: 0x15, # CONTROL CHARACTER
- 0x0016: 0x16, # CONTROL CHARACTER
- 0x0017: 0x17, # CONTROL CHARACTER
- 0x0018: 0x18, # CONTROL CHARACTER
- 0x0019: 0x19, # CONTROL CHARACTER
- 0x001A: 0x1A, # CONTROL CHARACTER
- 0x001B: 0x1B, # CONTROL CHARACTER
- 0x001C: 0x1C, # CONTROL CHARACTER
- 0x001D: 0x1D, # CONTROL CHARACTER
- 0x001E: 0x1E, # CONTROL CHARACTER
- 0x001F: 0x1F, # CONTROL CHARACTER
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # CONTROL CHARACTER
- 0x00A0: 0xCA, # NO-BREAK SPACE
- 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
- 0x00A2: 0xA2, # CENT SIGN
- 0x00A3: 0xA3, # POUND SIGN
- 0x00A5: 0xB4, # YEN SIGN
- 0x00A7: 0xA4, # SECTION SIGN
- 0x00A8: 0xAC, # DIAERESIS
- 0x00A9: 0xA9, # COPYRIGHT SIGN
- 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
- 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00AC: 0xC2, # NOT SIGN
- 0x00AE: 0xA8, # REGISTERED SIGN
- 0x00AF: 0xF8, # MACRON
- 0x00B0: 0xA1, # DEGREE SIGN
- 0x00B1: 0xB1, # PLUS-MINUS SIGN
- 0x00B4: 0xAB, # ACUTE ACCENT
- 0x00B5: 0xB5, # MICRO SIGN
- 0x00B6: 0xA6, # PILCROW SIGN
- 0x00B7: 0xE1, # MIDDLE DOT
- 0x00B8: 0xFC, # CEDILLA
- 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
- 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- 0x00BF: 0xC0, # INVERTED QUESTION MARK
- 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
- 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
- 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
- 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
- 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
- 0x00C6: 0xAE, # LATIN CAPITAL LETTER AE
- 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
- 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
- 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
- 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
- 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
- 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
- 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
- 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
- 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
- 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
- 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
- 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
- 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
- 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
- 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
- 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
- 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
- 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
- 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
- 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
- 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
- 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
- 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
- 0x00E6: 0xBE, # LATIN SMALL LETTER AE
- 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
- 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
- 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
- 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
- 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
- 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
- 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
- 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
- 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
- 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
- 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
- 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
- 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
- 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
- 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
- 0x00F7: 0xD6, # DIVISION SIGN
- 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
- 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
- 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
- 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
- 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
- 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
- 0x011E: 0xDA, # LATIN CAPITAL LETTER G WITH BREVE
- 0x011F: 0xDB, # LATIN SMALL LETTER G WITH BREVE
- 0x0130: 0xDC, # LATIN CAPITAL LETTER I WITH DOT ABOVE
- 0x0131: 0xDD, # LATIN SMALL LETTER DOTLESS I
- 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
- 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
- 0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
- 0x015F: 0xDF, # LATIN SMALL LETTER S WITH CEDILLA
- 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
- 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
- 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
- 0x02C7: 0xFF, # CARON
- 0x02D8: 0xF9, # BREVE
- 0x02D9: 0xFA, # DOT ABOVE
- 0x02DA: 0xFB, # RING ABOVE
- 0x02DB: 0xFE, # OGONEK
- 0x02DC: 0xF7, # SMALL TILDE
- 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
- 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
- 0x03C0: 0xB9, # GREEK SMALL LETTER PI
- 0x2013: 0xD0, # EN DASH
- 0x2014: 0xD1, # EM DASH
- 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
- 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
- 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
- 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
- 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
- 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
- 0x2020: 0xA0, # DAGGER
- 0x2021: 0xE0, # DOUBLE DAGGER
- 0x2022: 0xA5, # BULLET
- 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
- 0x2030: 0xE4, # PER MILLE SIGN
- 0x2122: 0xAA, # TRADE MARK SIGN
- 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
- 0x2206: 0xC6, # INCREMENT
- 0x220F: 0xB8, # N-ARY PRODUCT
- 0x2211: 0xB7, # N-ARY SUMMATION
- 0x221A: 0xC3, # SQUARE ROOT
- 0x221E: 0xB0, # INFINITY
- 0x222B: 0xBA, # INTEGRAL
- 0x2248: 0xC5, # ALMOST EQUAL TO
- 0x2260: 0xAD, # NOT EQUAL TO
- 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
- 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
- 0x25CA: 0xD7, # LOZENGE
- 0xF8A0: 0xF5, # undefined1
- 0xF8FF: 0xF0, # Apple logo
+ 0x0000: 0x00, # CONTROL CHARACTER
+ 0x0001: 0x01, # CONTROL CHARACTER
+ 0x0002: 0x02, # CONTROL CHARACTER
+ 0x0003: 0x03, # CONTROL CHARACTER
+ 0x0004: 0x04, # CONTROL CHARACTER
+ 0x0005: 0x05, # CONTROL CHARACTER
+ 0x0006: 0x06, # CONTROL CHARACTER
+ 0x0007: 0x07, # CONTROL CHARACTER
+ 0x0008: 0x08, # CONTROL CHARACTER
+ 0x0009: 0x09, # CONTROL CHARACTER
+ 0x000A: 0x0A, # CONTROL CHARACTER
+ 0x000B: 0x0B, # CONTROL CHARACTER
+ 0x000C: 0x0C, # CONTROL CHARACTER
+ 0x000D: 0x0D, # CONTROL CHARACTER
+ 0x000E: 0x0E, # CONTROL CHARACTER
+ 0x000F: 0x0F, # CONTROL CHARACTER
+ 0x0010: 0x10, # CONTROL CHARACTER
+ 0x0011: 0x11, # CONTROL CHARACTER
+ 0x0012: 0x12, # CONTROL CHARACTER
+ 0x0013: 0x13, # CONTROL CHARACTER
+ 0x0014: 0x14, # CONTROL CHARACTER
+ 0x0015: 0x15, # CONTROL CHARACTER
+ 0x0016: 0x16, # CONTROL CHARACTER
+ 0x0017: 0x17, # CONTROL CHARACTER
+ 0x0018: 0x18, # CONTROL CHARACTER
+ 0x0019: 0x19, # CONTROL CHARACTER
+ 0x001A: 0x1A, # CONTROL CHARACTER
+ 0x001B: 0x1B, # CONTROL CHARACTER
+ 0x001C: 0x1C, # CONTROL CHARACTER
+ 0x001D: 0x1D, # CONTROL CHARACTER
+ 0x001E: 0x1E, # CONTROL CHARACTER
+ 0x001F: 0x1F, # CONTROL CHARACTER
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # CONTROL CHARACTER
+ 0x00A0: 0xCA, # NO-BREAK SPACE
+ 0x00A1: 0xC1, # INVERTED EXCLAMATION MARK
+ 0x00A2: 0xA2, # CENT SIGN
+ 0x00A3: 0xA3, # POUND SIGN
+ 0x00A5: 0xB4, # YEN SIGN
+ 0x00A7: 0xA4, # SECTION SIGN
+ 0x00A8: 0xAC, # DIAERESIS
+ 0x00A9: 0xA9, # COPYRIGHT SIGN
+ 0x00AA: 0xBB, # FEMININE ORDINAL INDICATOR
+ 0x00AB: 0xC7, # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00AC: 0xC2, # NOT SIGN
+ 0x00AE: 0xA8, # REGISTERED SIGN
+ 0x00AF: 0xF8, # MACRON
+ 0x00B0: 0xA1, # DEGREE SIGN
+ 0x00B1: 0xB1, # PLUS-MINUS SIGN
+ 0x00B4: 0xAB, # ACUTE ACCENT
+ 0x00B5: 0xB5, # MICRO SIGN
+ 0x00B6: 0xA6, # PILCROW SIGN
+ 0x00B7: 0xE1, # MIDDLE DOT
+ 0x00B8: 0xFC, # CEDILLA
+ 0x00BA: 0xBC, # MASCULINE ORDINAL INDICATOR
+ 0x00BB: 0xC8, # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ 0x00BF: 0xC0, # INVERTED QUESTION MARK
+ 0x00C0: 0xCB, # LATIN CAPITAL LETTER A WITH GRAVE
+ 0x00C1: 0xE7, # LATIN CAPITAL LETTER A WITH ACUTE
+ 0x00C2: 0xE5, # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ 0x00C3: 0xCC, # LATIN CAPITAL LETTER A WITH TILDE
+ 0x00C4: 0x80, # LATIN CAPITAL LETTER A WITH DIAERESIS
+ 0x00C5: 0x81, # LATIN CAPITAL LETTER A WITH RING ABOVE
+ 0x00C6: 0xAE, # LATIN CAPITAL LETTER AE
+ 0x00C7: 0x82, # LATIN CAPITAL LETTER C WITH CEDILLA
+ 0x00C8: 0xE9, # LATIN CAPITAL LETTER E WITH GRAVE
+ 0x00C9: 0x83, # LATIN CAPITAL LETTER E WITH ACUTE
+ 0x00CA: 0xE6, # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ 0x00CB: 0xE8, # LATIN CAPITAL LETTER E WITH DIAERESIS
+ 0x00CC: 0xED, # LATIN CAPITAL LETTER I WITH GRAVE
+ 0x00CD: 0xEA, # LATIN CAPITAL LETTER I WITH ACUTE
+ 0x00CE: 0xEB, # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ 0x00CF: 0xEC, # LATIN CAPITAL LETTER I WITH DIAERESIS
+ 0x00D1: 0x84, # LATIN CAPITAL LETTER N WITH TILDE
+ 0x00D2: 0xF1, # LATIN CAPITAL LETTER O WITH GRAVE
+ 0x00D3: 0xEE, # LATIN CAPITAL LETTER O WITH ACUTE
+ 0x00D4: 0xEF, # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ 0x00D5: 0xCD, # LATIN CAPITAL LETTER O WITH TILDE
+ 0x00D6: 0x85, # LATIN CAPITAL LETTER O WITH DIAERESIS
+ 0x00D8: 0xAF, # LATIN CAPITAL LETTER O WITH STROKE
+ 0x00D9: 0xF4, # LATIN CAPITAL LETTER U WITH GRAVE
+ 0x00DA: 0xF2, # LATIN CAPITAL LETTER U WITH ACUTE
+ 0x00DB: 0xF3, # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ 0x00DC: 0x86, # LATIN CAPITAL LETTER U WITH DIAERESIS
+ 0x00DF: 0xA7, # LATIN SMALL LETTER SHARP S
+ 0x00E0: 0x88, # LATIN SMALL LETTER A WITH GRAVE
+ 0x00E1: 0x87, # LATIN SMALL LETTER A WITH ACUTE
+ 0x00E2: 0x89, # LATIN SMALL LETTER A WITH CIRCUMFLEX
+ 0x00E3: 0x8B, # LATIN SMALL LETTER A WITH TILDE
+ 0x00E4: 0x8A, # LATIN SMALL LETTER A WITH DIAERESIS
+ 0x00E5: 0x8C, # LATIN SMALL LETTER A WITH RING ABOVE
+ 0x00E6: 0xBE, # LATIN SMALL LETTER AE
+ 0x00E7: 0x8D, # LATIN SMALL LETTER C WITH CEDILLA
+ 0x00E8: 0x8F, # LATIN SMALL LETTER E WITH GRAVE
+ 0x00E9: 0x8E, # LATIN SMALL LETTER E WITH ACUTE
+ 0x00EA: 0x90, # LATIN SMALL LETTER E WITH CIRCUMFLEX
+ 0x00EB: 0x91, # LATIN SMALL LETTER E WITH DIAERESIS
+ 0x00EC: 0x93, # LATIN SMALL LETTER I WITH GRAVE
+ 0x00ED: 0x92, # LATIN SMALL LETTER I WITH ACUTE
+ 0x00EE: 0x94, # LATIN SMALL LETTER I WITH CIRCUMFLEX
+ 0x00EF: 0x95, # LATIN SMALL LETTER I WITH DIAERESIS
+ 0x00F1: 0x96, # LATIN SMALL LETTER N WITH TILDE
+ 0x00F2: 0x98, # LATIN SMALL LETTER O WITH GRAVE
+ 0x00F3: 0x97, # LATIN SMALL LETTER O WITH ACUTE
+ 0x00F4: 0x99, # LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 0x00F5: 0x9B, # LATIN SMALL LETTER O WITH TILDE
+ 0x00F6: 0x9A, # LATIN SMALL LETTER O WITH DIAERESIS
+ 0x00F7: 0xD6, # DIVISION SIGN
+ 0x00F8: 0xBF, # LATIN SMALL LETTER O WITH STROKE
+ 0x00F9: 0x9D, # LATIN SMALL LETTER U WITH GRAVE
+ 0x00FA: 0x9C, # LATIN SMALL LETTER U WITH ACUTE
+ 0x00FB: 0x9E, # LATIN SMALL LETTER U WITH CIRCUMFLEX
+ 0x00FC: 0x9F, # LATIN SMALL LETTER U WITH DIAERESIS
+ 0x00FF: 0xD8, # LATIN SMALL LETTER Y WITH DIAERESIS
+ 0x011E: 0xDA, # LATIN CAPITAL LETTER G WITH BREVE
+ 0x011F: 0xDB, # LATIN SMALL LETTER G WITH BREVE
+ 0x0130: 0xDC, # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ 0x0131: 0xDD, # LATIN SMALL LETTER DOTLESS I
+ 0x0152: 0xCE, # LATIN CAPITAL LIGATURE OE
+ 0x0153: 0xCF, # LATIN SMALL LIGATURE OE
+ 0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
+ 0x015F: 0xDF, # LATIN SMALL LETTER S WITH CEDILLA
+ 0x0178: 0xD9, # LATIN CAPITAL LETTER Y WITH DIAERESIS
+ 0x0192: 0xC4, # LATIN SMALL LETTER F WITH HOOK
+ 0x02C6: 0xF6, # MODIFIER LETTER CIRCUMFLEX ACCENT
+ 0x02C7: 0xFF, # CARON
+ 0x02D8: 0xF9, # BREVE
+ 0x02D9: 0xFA, # DOT ABOVE
+ 0x02DA: 0xFB, # RING ABOVE
+ 0x02DB: 0xFE, # OGONEK
+ 0x02DC: 0xF7, # SMALL TILDE
+ 0x02DD: 0xFD, # DOUBLE ACUTE ACCENT
+ 0x03A9: 0xBD, # GREEK CAPITAL LETTER OMEGA
+ 0x03C0: 0xB9, # GREEK SMALL LETTER PI
+ 0x2013: 0xD0, # EN DASH
+ 0x2014: 0xD1, # EM DASH
+ 0x2018: 0xD4, # LEFT SINGLE QUOTATION MARK
+ 0x2019: 0xD5, # RIGHT SINGLE QUOTATION MARK
+ 0x201A: 0xE2, # SINGLE LOW-9 QUOTATION MARK
+ 0x201C: 0xD2, # LEFT DOUBLE QUOTATION MARK
+ 0x201D: 0xD3, # RIGHT DOUBLE QUOTATION MARK
+ 0x201E: 0xE3, # DOUBLE LOW-9 QUOTATION MARK
+ 0x2020: 0xA0, # DAGGER
+ 0x2021: 0xE0, # DOUBLE DAGGER
+ 0x2022: 0xA5, # BULLET
+ 0x2026: 0xC9, # HORIZONTAL ELLIPSIS
+ 0x2030: 0xE4, # PER MILLE SIGN
+ 0x2122: 0xAA, # TRADE MARK SIGN
+ 0x2202: 0xB6, # PARTIAL DIFFERENTIAL
+ 0x2206: 0xC6, # INCREMENT
+ 0x220F: 0xB8, # N-ARY PRODUCT
+ 0x2211: 0xB7, # N-ARY SUMMATION
+ 0x221A: 0xC3, # SQUARE ROOT
+ 0x221E: 0xB0, # INFINITY
+ 0x222B: 0xBA, # INTEGRAL
+ 0x2248: 0xC5, # ALMOST EQUAL TO
+ 0x2260: 0xAD, # NOT EQUAL TO
+ 0x2264: 0xB2, # LESS-THAN OR EQUAL TO
+ 0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
+ 0x25CA: 0xD7, # LOZENGE
+ 0xF8A0: 0xF5, # undefined1
+ 0xF8FF: 0xF0, # Apple logo
}
-
diff --git a/Lib/encodings/tis_620.py b/Lib/encodings/tis_620.py
index cf5ddae..aa1823e 100644
--- a/Lib/encodings/tis_620.py
+++ b/Lib/encodings/tis_620.py
@@ -15,7 +15,7 @@ class Codec(codecs.Codec):
def decode(self,input,errors='strict'):
return codecs.charmap_decode(input,errors,decoding_table)
-
+
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -32,258 +32,258 @@ def getregentry():
### Decoding Table
decoding_table = (
- u'\x00' # 0x00 -> NULL
- u'\x01' # 0x01 -> START OF HEADING
- u'\x02' # 0x02 -> START OF TEXT
- u'\x03' # 0x03 -> END OF TEXT
- u'\x04' # 0x04 -> END OF TRANSMISSION
- u'\x05' # 0x05 -> ENQUIRY
- u'\x06' # 0x06 -> ACKNOWLEDGE
- u'\x07' # 0x07 -> BELL
- u'\x08' # 0x08 -> BACKSPACE
- u'\t' # 0x09 -> HORIZONTAL TABULATION
- u'\n' # 0x0A -> LINE FEED
- u'\x0b' # 0x0B -> VERTICAL TABULATION
- u'\x0c' # 0x0C -> FORM FEED
- u'\r' # 0x0D -> CARRIAGE RETURN
- u'\x0e' # 0x0E -> SHIFT OUT
- u'\x0f' # 0x0F -> SHIFT IN
- u'\x10' # 0x10 -> DATA LINK ESCAPE
- u'\x11' # 0x11 -> DEVICE CONTROL ONE
- u'\x12' # 0x12 -> DEVICE CONTROL TWO
- u'\x13' # 0x13 -> DEVICE CONTROL THREE
- u'\x14' # 0x14 -> DEVICE CONTROL FOUR
- u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
- u'\x16' # 0x16 -> SYNCHRONOUS IDLE
- u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
- u'\x18' # 0x18 -> CANCEL
- u'\x19' # 0x19 -> END OF MEDIUM
- u'\x1a' # 0x1A -> SUBSTITUTE
- u'\x1b' # 0x1B -> ESCAPE
- u'\x1c' # 0x1C -> FILE SEPARATOR
- u'\x1d' # 0x1D -> GROUP SEPARATOR
- u'\x1e' # 0x1E -> RECORD SEPARATOR
- u'\x1f' # 0x1F -> UNIT SEPARATOR
- u' ' # 0x20 -> SPACE
- u'!' # 0x21 -> EXCLAMATION MARK
- u'"' # 0x22 -> QUOTATION MARK
- u'#' # 0x23 -> NUMBER SIGN
- u'$' # 0x24 -> DOLLAR SIGN
- u'%' # 0x25 -> PERCENT SIGN
- u'&' # 0x26 -> AMPERSAND
- u"'" # 0x27 -> APOSTROPHE
- u'(' # 0x28 -> LEFT PARENTHESIS
- u')' # 0x29 -> RIGHT PARENTHESIS
- u'*' # 0x2A -> ASTERISK
- u'+' # 0x2B -> PLUS SIGN
- u',' # 0x2C -> COMMA
- u'-' # 0x2D -> HYPHEN-MINUS
- u'.' # 0x2E -> FULL STOP
- u'/' # 0x2F -> SOLIDUS
- u'0' # 0x30 -> DIGIT ZERO
- u'1' # 0x31 -> DIGIT ONE
- u'2' # 0x32 -> DIGIT TWO
- u'3' # 0x33 -> DIGIT THREE
- u'4' # 0x34 -> DIGIT FOUR
- u'5' # 0x35 -> DIGIT FIVE
- u'6' # 0x36 -> DIGIT SIX
- u'7' # 0x37 -> DIGIT SEVEN
- u'8' # 0x38 -> DIGIT EIGHT
- u'9' # 0x39 -> DIGIT NINE
- u':' # 0x3A -> COLON
- u';' # 0x3B -> SEMICOLON
- u'<' # 0x3C -> LESS-THAN SIGN
- u'=' # 0x3D -> EQUALS SIGN
- u'>' # 0x3E -> GREATER-THAN SIGN
- u'?' # 0x3F -> QUESTION MARK
- u'@' # 0x40 -> COMMERCIAL AT
- u'A' # 0x41 -> LATIN CAPITAL LETTER A
- u'B' # 0x42 -> LATIN CAPITAL LETTER B
- u'C' # 0x43 -> LATIN CAPITAL LETTER C
- u'D' # 0x44 -> LATIN CAPITAL LETTER D
- u'E' # 0x45 -> LATIN CAPITAL LETTER E
- u'F' # 0x46 -> LATIN CAPITAL LETTER F
- u'G' # 0x47 -> LATIN CAPITAL LETTER G
- u'H' # 0x48 -> LATIN CAPITAL LETTER H
- u'I' # 0x49 -> LATIN CAPITAL LETTER I
- u'J' # 0x4A -> LATIN CAPITAL LETTER J
- u'K' # 0x4B -> LATIN CAPITAL LETTER K
- u'L' # 0x4C -> LATIN CAPITAL LETTER L
- u'M' # 0x4D -> LATIN CAPITAL LETTER M
- u'N' # 0x4E -> LATIN CAPITAL LETTER N
- u'O' # 0x4F -> LATIN CAPITAL LETTER O
- u'P' # 0x50 -> LATIN CAPITAL LETTER P
- u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
- u'R' # 0x52 -> LATIN CAPITAL LETTER R
- u'S' # 0x53 -> LATIN CAPITAL LETTER S
- u'T' # 0x54 -> LATIN CAPITAL LETTER T
- u'U' # 0x55 -> LATIN CAPITAL LETTER U
- u'V' # 0x56 -> LATIN CAPITAL LETTER V
- u'W' # 0x57 -> LATIN CAPITAL LETTER W
- u'X' # 0x58 -> LATIN CAPITAL LETTER X
- u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
- u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
- u'[' # 0x5B -> LEFT SQUARE BRACKET
- u'\\' # 0x5C -> REVERSE SOLIDUS
- u']' # 0x5D -> RIGHT SQUARE BRACKET
- u'^' # 0x5E -> CIRCUMFLEX ACCENT
- u'_' # 0x5F -> LOW LINE
- u'`' # 0x60 -> GRAVE ACCENT
- u'a' # 0x61 -> LATIN SMALL LETTER A
- u'b' # 0x62 -> LATIN SMALL LETTER B
- u'c' # 0x63 -> LATIN SMALL LETTER C
- u'd' # 0x64 -> LATIN SMALL LETTER D
- u'e' # 0x65 -> LATIN SMALL LETTER E
- u'f' # 0x66 -> LATIN SMALL LETTER F
- u'g' # 0x67 -> LATIN SMALL LETTER G
- u'h' # 0x68 -> LATIN SMALL LETTER H
- u'i' # 0x69 -> LATIN SMALL LETTER I
- u'j' # 0x6A -> LATIN SMALL LETTER J
- u'k' # 0x6B -> LATIN SMALL LETTER K
- u'l' # 0x6C -> LATIN SMALL LETTER L
- u'm' # 0x6D -> LATIN SMALL LETTER M
- u'n' # 0x6E -> LATIN SMALL LETTER N
- u'o' # 0x6F -> LATIN SMALL LETTER O
- u'p' # 0x70 -> LATIN SMALL LETTER P
- u'q' # 0x71 -> LATIN SMALL LETTER Q
- u'r' # 0x72 -> LATIN SMALL LETTER R
- u's' # 0x73 -> LATIN SMALL LETTER S
- u't' # 0x74 -> LATIN SMALL LETTER T
- u'u' # 0x75 -> LATIN SMALL LETTER U
- u'v' # 0x76 -> LATIN SMALL LETTER V
- u'w' # 0x77 -> LATIN SMALL LETTER W
- u'x' # 0x78 -> LATIN SMALL LETTER X
- u'y' # 0x79 -> LATIN SMALL LETTER Y
- u'z' # 0x7A -> LATIN SMALL LETTER Z
- u'{' # 0x7B -> LEFT CURLY BRACKET
- u'|' # 0x7C -> VERTICAL LINE
- u'}' # 0x7D -> RIGHT CURLY BRACKET
- u'~' # 0x7E -> TILDE
- u'\x7f' # 0x7F -> DELETE
- u'\x80' # 0x80 -> <control>
- u'\x81' # 0x81 -> <control>
- u'\x82' # 0x82 -> <control>
- u'\x83' # 0x83 -> <control>
- u'\x84' # 0x84 -> <control>
- u'\x85' # 0x85 -> <control>
- u'\x86' # 0x86 -> <control>
- u'\x87' # 0x87 -> <control>
- u'\x88' # 0x88 -> <control>
- u'\x89' # 0x89 -> <control>
- u'\x8a' # 0x8A -> <control>
- u'\x8b' # 0x8B -> <control>
- u'\x8c' # 0x8C -> <control>
- u'\x8d' # 0x8D -> <control>
- u'\x8e' # 0x8E -> <control>
- u'\x8f' # 0x8F -> <control>
- u'\x90' # 0x90 -> <control>
- u'\x91' # 0x91 -> <control>
- u'\x92' # 0x92 -> <control>
- u'\x93' # 0x93 -> <control>
- u'\x94' # 0x94 -> <control>
- u'\x95' # 0x95 -> <control>
- u'\x96' # 0x96 -> <control>
- u'\x97' # 0x97 -> <control>
- u'\x98' # 0x98 -> <control>
- u'\x99' # 0x99 -> <control>
- u'\x9a' # 0x9A -> <control>
- u'\x9b' # 0x9B -> <control>
- u'\x9c' # 0x9C -> <control>
- u'\x9d' # 0x9D -> <control>
- u'\x9e' # 0x9E -> <control>
- u'\x9f' # 0x9F -> <control>
+ u'\x00' # 0x00 -> NULL
+ u'\x01' # 0x01 -> START OF HEADING
+ u'\x02' # 0x02 -> START OF TEXT
+ u'\x03' # 0x03 -> END OF TEXT
+ u'\x04' # 0x04 -> END OF TRANSMISSION
+ u'\x05' # 0x05 -> ENQUIRY
+ u'\x06' # 0x06 -> ACKNOWLEDGE
+ u'\x07' # 0x07 -> BELL
+ u'\x08' # 0x08 -> BACKSPACE
+ u'\t' # 0x09 -> HORIZONTAL TABULATION
+ u'\n' # 0x0A -> LINE FEED
+ u'\x0b' # 0x0B -> VERTICAL TABULATION
+ u'\x0c' # 0x0C -> FORM FEED
+ u'\r' # 0x0D -> CARRIAGE RETURN
+ u'\x0e' # 0x0E -> SHIFT OUT
+ u'\x0f' # 0x0F -> SHIFT IN
+ u'\x10' # 0x10 -> DATA LINK ESCAPE
+ u'\x11' # 0x11 -> DEVICE CONTROL ONE
+ u'\x12' # 0x12 -> DEVICE CONTROL TWO
+ u'\x13' # 0x13 -> DEVICE CONTROL THREE
+ u'\x14' # 0x14 -> DEVICE CONTROL FOUR
+ u'\x15' # 0x15 -> NEGATIVE ACKNOWLEDGE
+ u'\x16' # 0x16 -> SYNCHRONOUS IDLE
+ u'\x17' # 0x17 -> END OF TRANSMISSION BLOCK
+ u'\x18' # 0x18 -> CANCEL
+ u'\x19' # 0x19 -> END OF MEDIUM
+ u'\x1a' # 0x1A -> SUBSTITUTE
+ u'\x1b' # 0x1B -> ESCAPE
+ u'\x1c' # 0x1C -> FILE SEPARATOR
+ u'\x1d' # 0x1D -> GROUP SEPARATOR
+ u'\x1e' # 0x1E -> RECORD SEPARATOR
+ u'\x1f' # 0x1F -> UNIT SEPARATOR
+ u' ' # 0x20 -> SPACE
+ u'!' # 0x21 -> EXCLAMATION MARK
+ u'"' # 0x22 -> QUOTATION MARK
+ u'#' # 0x23 -> NUMBER SIGN
+ u'$' # 0x24 -> DOLLAR SIGN
+ u'%' # 0x25 -> PERCENT SIGN
+ u'&' # 0x26 -> AMPERSAND
+ u"'" # 0x27 -> APOSTROPHE
+ u'(' # 0x28 -> LEFT PARENTHESIS
+ u')' # 0x29 -> RIGHT PARENTHESIS
+ u'*' # 0x2A -> ASTERISK
+ u'+' # 0x2B -> PLUS SIGN
+ u',' # 0x2C -> COMMA
+ u'-' # 0x2D -> HYPHEN-MINUS
+ u'.' # 0x2E -> FULL STOP
+ u'/' # 0x2F -> SOLIDUS
+ u'0' # 0x30 -> DIGIT ZERO
+ u'1' # 0x31 -> DIGIT ONE
+ u'2' # 0x32 -> DIGIT TWO
+ u'3' # 0x33 -> DIGIT THREE
+ u'4' # 0x34 -> DIGIT FOUR
+ u'5' # 0x35 -> DIGIT FIVE
+ u'6' # 0x36 -> DIGIT SIX
+ u'7' # 0x37 -> DIGIT SEVEN
+ u'8' # 0x38 -> DIGIT EIGHT
+ u'9' # 0x39 -> DIGIT NINE
+ u':' # 0x3A -> COLON
+ u';' # 0x3B -> SEMICOLON
+ u'<' # 0x3C -> LESS-THAN SIGN
+ u'=' # 0x3D -> EQUALS SIGN
+ u'>' # 0x3E -> GREATER-THAN SIGN
+ u'?' # 0x3F -> QUESTION MARK
+ u'@' # 0x40 -> COMMERCIAL AT
+ u'A' # 0x41 -> LATIN CAPITAL LETTER A
+ u'B' # 0x42 -> LATIN CAPITAL LETTER B
+ u'C' # 0x43 -> LATIN CAPITAL LETTER C
+ u'D' # 0x44 -> LATIN CAPITAL LETTER D
+ u'E' # 0x45 -> LATIN CAPITAL LETTER E
+ u'F' # 0x46 -> LATIN CAPITAL LETTER F
+ u'G' # 0x47 -> LATIN CAPITAL LETTER G
+ u'H' # 0x48 -> LATIN CAPITAL LETTER H
+ u'I' # 0x49 -> LATIN CAPITAL LETTER I
+ u'J' # 0x4A -> LATIN CAPITAL LETTER J
+ u'K' # 0x4B -> LATIN CAPITAL LETTER K
+ u'L' # 0x4C -> LATIN CAPITAL LETTER L
+ u'M' # 0x4D -> LATIN CAPITAL LETTER M
+ u'N' # 0x4E -> LATIN CAPITAL LETTER N
+ u'O' # 0x4F -> LATIN CAPITAL LETTER O
+ u'P' # 0x50 -> LATIN CAPITAL LETTER P
+ u'Q' # 0x51 -> LATIN CAPITAL LETTER Q
+ u'R' # 0x52 -> LATIN CAPITAL LETTER R
+ u'S' # 0x53 -> LATIN CAPITAL LETTER S
+ u'T' # 0x54 -> LATIN CAPITAL LETTER T
+ u'U' # 0x55 -> LATIN CAPITAL LETTER U
+ u'V' # 0x56 -> LATIN CAPITAL LETTER V
+ u'W' # 0x57 -> LATIN CAPITAL LETTER W
+ u'X' # 0x58 -> LATIN CAPITAL LETTER X
+ u'Y' # 0x59 -> LATIN CAPITAL LETTER Y
+ u'Z' # 0x5A -> LATIN CAPITAL LETTER Z
+ u'[' # 0x5B -> LEFT SQUARE BRACKET
+ u'\\' # 0x5C -> REVERSE SOLIDUS
+ u']' # 0x5D -> RIGHT SQUARE BRACKET
+ u'^' # 0x5E -> CIRCUMFLEX ACCENT
+ u'_' # 0x5F -> LOW LINE
+ u'`' # 0x60 -> GRAVE ACCENT
+ u'a' # 0x61 -> LATIN SMALL LETTER A
+ u'b' # 0x62 -> LATIN SMALL LETTER B
+ u'c' # 0x63 -> LATIN SMALL LETTER C
+ u'd' # 0x64 -> LATIN SMALL LETTER D
+ u'e' # 0x65 -> LATIN SMALL LETTER E
+ u'f' # 0x66 -> LATIN SMALL LETTER F
+ u'g' # 0x67 -> LATIN SMALL LETTER G
+ u'h' # 0x68 -> LATIN SMALL LETTER H
+ u'i' # 0x69 -> LATIN SMALL LETTER I
+ u'j' # 0x6A -> LATIN SMALL LETTER J
+ u'k' # 0x6B -> LATIN SMALL LETTER K
+ u'l' # 0x6C -> LATIN SMALL LETTER L
+ u'm' # 0x6D -> LATIN SMALL LETTER M
+ u'n' # 0x6E -> LATIN SMALL LETTER N
+ u'o' # 0x6F -> LATIN SMALL LETTER O
+ u'p' # 0x70 -> LATIN SMALL LETTER P
+ u'q' # 0x71 -> LATIN SMALL LETTER Q
+ u'r' # 0x72 -> LATIN SMALL LETTER R
+ u's' # 0x73 -> LATIN SMALL LETTER S
+ u't' # 0x74 -> LATIN SMALL LETTER T
+ u'u' # 0x75 -> LATIN SMALL LETTER U
+ u'v' # 0x76 -> LATIN SMALL LETTER V
+ u'w' # 0x77 -> LATIN SMALL LETTER W
+ u'x' # 0x78 -> LATIN SMALL LETTER X
+ u'y' # 0x79 -> LATIN SMALL LETTER Y
+ u'z' # 0x7A -> LATIN SMALL LETTER Z
+ u'{' # 0x7B -> LEFT CURLY BRACKET
+ u'|' # 0x7C -> VERTICAL LINE
+ u'}' # 0x7D -> RIGHT CURLY BRACKET
+ u'~' # 0x7E -> TILDE
+ u'\x7f' # 0x7F -> DELETE
+ u'\x80' # 0x80 -> <control>
+ u'\x81' # 0x81 -> <control>
+ u'\x82' # 0x82 -> <control>
+ u'\x83' # 0x83 -> <control>
+ u'\x84' # 0x84 -> <control>
+ u'\x85' # 0x85 -> <control>
+ u'\x86' # 0x86 -> <control>
+ u'\x87' # 0x87 -> <control>
+ u'\x88' # 0x88 -> <control>
+ u'\x89' # 0x89 -> <control>
+ u'\x8a' # 0x8A -> <control>
+ u'\x8b' # 0x8B -> <control>
+ u'\x8c' # 0x8C -> <control>
+ u'\x8d' # 0x8D -> <control>
+ u'\x8e' # 0x8E -> <control>
+ u'\x8f' # 0x8F -> <control>
+ u'\x90' # 0x90 -> <control>
+ u'\x91' # 0x91 -> <control>
+ u'\x92' # 0x92 -> <control>
+ u'\x93' # 0x93 -> <control>
+ u'\x94' # 0x94 -> <control>
+ u'\x95' # 0x95 -> <control>
+ u'\x96' # 0x96 -> <control>
+ u'\x97' # 0x97 -> <control>
+ u'\x98' # 0x98 -> <control>
+ u'\x99' # 0x99 -> <control>
+ u'\x9a' # 0x9A -> <control>
+ u'\x9b' # 0x9B -> <control>
+ u'\x9c' # 0x9C -> <control>
+ u'\x9d' # 0x9D -> <control>
+ u'\x9e' # 0x9E -> <control>
+ u'\x9f' # 0x9F -> <control>
u'\ufffe'
- u'\u0e01' # 0xA1 -> THAI CHARACTER KO KAI
- u'\u0e02' # 0xA2 -> THAI CHARACTER KHO KHAI
- u'\u0e03' # 0xA3 -> THAI CHARACTER KHO KHUAT
- u'\u0e04' # 0xA4 -> THAI CHARACTER KHO KHWAI
- u'\u0e05' # 0xA5 -> THAI CHARACTER KHO KHON
- u'\u0e06' # 0xA6 -> THAI CHARACTER KHO RAKHANG
- u'\u0e07' # 0xA7 -> THAI CHARACTER NGO NGU
- u'\u0e08' # 0xA8 -> THAI CHARACTER CHO CHAN
- u'\u0e09' # 0xA9 -> THAI CHARACTER CHO CHING
- u'\u0e0a' # 0xAA -> THAI CHARACTER CHO CHANG
- u'\u0e0b' # 0xAB -> THAI CHARACTER SO SO
- u'\u0e0c' # 0xAC -> THAI CHARACTER CHO CHOE
- u'\u0e0d' # 0xAD -> THAI CHARACTER YO YING
- u'\u0e0e' # 0xAE -> THAI CHARACTER DO CHADA
- u'\u0e0f' # 0xAF -> THAI CHARACTER TO PATAK
- u'\u0e10' # 0xB0 -> THAI CHARACTER THO THAN
- u'\u0e11' # 0xB1 -> THAI CHARACTER THO NANGMONTHO
- u'\u0e12' # 0xB2 -> THAI CHARACTER THO PHUTHAO
- u'\u0e13' # 0xB3 -> THAI CHARACTER NO NEN
- u'\u0e14' # 0xB4 -> THAI CHARACTER DO DEK
- u'\u0e15' # 0xB5 -> THAI CHARACTER TO TAO
- u'\u0e16' # 0xB6 -> THAI CHARACTER THO THUNG
- u'\u0e17' # 0xB7 -> THAI CHARACTER THO THAHAN
- u'\u0e18' # 0xB8 -> THAI CHARACTER THO THONG
- u'\u0e19' # 0xB9 -> THAI CHARACTER NO NU
- u'\u0e1a' # 0xBA -> THAI CHARACTER BO BAIMAI
- u'\u0e1b' # 0xBB -> THAI CHARACTER PO PLA
- u'\u0e1c' # 0xBC -> THAI CHARACTER PHO PHUNG
- u'\u0e1d' # 0xBD -> THAI CHARACTER FO FA
- u'\u0e1e' # 0xBE -> THAI CHARACTER PHO PHAN
- u'\u0e1f' # 0xBF -> THAI CHARACTER FO FAN
- u'\u0e20' # 0xC0 -> THAI CHARACTER PHO SAMPHAO
- u'\u0e21' # 0xC1 -> THAI CHARACTER MO MA
- u'\u0e22' # 0xC2 -> THAI CHARACTER YO YAK
- u'\u0e23' # 0xC3 -> THAI CHARACTER RO RUA
- u'\u0e24' # 0xC4 -> THAI CHARACTER RU
- u'\u0e25' # 0xC5 -> THAI CHARACTER LO LING
- u'\u0e26' # 0xC6 -> THAI CHARACTER LU
- u'\u0e27' # 0xC7 -> THAI CHARACTER WO WAEN
- u'\u0e28' # 0xC8 -> THAI CHARACTER SO SALA
- u'\u0e29' # 0xC9 -> THAI CHARACTER SO RUSI
- u'\u0e2a' # 0xCA -> THAI CHARACTER SO SUA
- u'\u0e2b' # 0xCB -> THAI CHARACTER HO HIP
- u'\u0e2c' # 0xCC -> THAI CHARACTER LO CHULA
- u'\u0e2d' # 0xCD -> THAI CHARACTER O ANG
- u'\u0e2e' # 0xCE -> THAI CHARACTER HO NOKHUK
- u'\u0e2f' # 0xCF -> THAI CHARACTER PAIYANNOI
- u'\u0e30' # 0xD0 -> THAI CHARACTER SARA A
- u'\u0e31' # 0xD1 -> THAI CHARACTER MAI HAN-AKAT
- u'\u0e32' # 0xD2 -> THAI CHARACTER SARA AA
- u'\u0e33' # 0xD3 -> THAI CHARACTER SARA AM
- u'\u0e34' # 0xD4 -> THAI CHARACTER SARA I
- u'\u0e35' # 0xD5 -> THAI CHARACTER SARA II
- u'\u0e36' # 0xD6 -> THAI CHARACTER SARA UE
- u'\u0e37' # 0xD7 -> THAI CHARACTER SARA UEE
- u'\u0e38' # 0xD8 -> THAI CHARACTER SARA U
- u'\u0e39' # 0xD9 -> THAI CHARACTER SARA UU
- u'\u0e3a' # 0xDA -> THAI CHARACTER PHINTHU
+ u'\u0e01' # 0xA1 -> THAI CHARACTER KO KAI
+ u'\u0e02' # 0xA2 -> THAI CHARACTER KHO KHAI
+ u'\u0e03' # 0xA3 -> THAI CHARACTER KHO KHUAT
+ u'\u0e04' # 0xA4 -> THAI CHARACTER KHO KHWAI
+ u'\u0e05' # 0xA5 -> THAI CHARACTER KHO KHON
+ u'\u0e06' # 0xA6 -> THAI CHARACTER KHO RAKHANG
+ u'\u0e07' # 0xA7 -> THAI CHARACTER NGO NGU
+ u'\u0e08' # 0xA8 -> THAI CHARACTER CHO CHAN
+ u'\u0e09' # 0xA9 -> THAI CHARACTER CHO CHING
+ u'\u0e0a' # 0xAA -> THAI CHARACTER CHO CHANG
+ u'\u0e0b' # 0xAB -> THAI CHARACTER SO SO
+ u'\u0e0c' # 0xAC -> THAI CHARACTER CHO CHOE
+ u'\u0e0d' # 0xAD -> THAI CHARACTER YO YING
+ u'\u0e0e' # 0xAE -> THAI CHARACTER DO CHADA
+ u'\u0e0f' # 0xAF -> THAI CHARACTER TO PATAK
+ u'\u0e10' # 0xB0 -> THAI CHARACTER THO THAN
+ u'\u0e11' # 0xB1 -> THAI CHARACTER THO NANGMONTHO
+ u'\u0e12' # 0xB2 -> THAI CHARACTER THO PHUTHAO
+ u'\u0e13' # 0xB3 -> THAI CHARACTER NO NEN
+ u'\u0e14' # 0xB4 -> THAI CHARACTER DO DEK
+ u'\u0e15' # 0xB5 -> THAI CHARACTER TO TAO
+ u'\u0e16' # 0xB6 -> THAI CHARACTER THO THUNG
+ u'\u0e17' # 0xB7 -> THAI CHARACTER THO THAHAN
+ u'\u0e18' # 0xB8 -> THAI CHARACTER THO THONG
+ u'\u0e19' # 0xB9 -> THAI CHARACTER NO NU
+ u'\u0e1a' # 0xBA -> THAI CHARACTER BO BAIMAI
+ u'\u0e1b' # 0xBB -> THAI CHARACTER PO PLA
+ u'\u0e1c' # 0xBC -> THAI CHARACTER PHO PHUNG
+ u'\u0e1d' # 0xBD -> THAI CHARACTER FO FA
+ u'\u0e1e' # 0xBE -> THAI CHARACTER PHO PHAN
+ u'\u0e1f' # 0xBF -> THAI CHARACTER FO FAN
+ u'\u0e20' # 0xC0 -> THAI CHARACTER PHO SAMPHAO
+ u'\u0e21' # 0xC1 -> THAI CHARACTER MO MA
+ u'\u0e22' # 0xC2 -> THAI CHARACTER YO YAK
+ u'\u0e23' # 0xC3 -> THAI CHARACTER RO RUA
+ u'\u0e24' # 0xC4 -> THAI CHARACTER RU
+ u'\u0e25' # 0xC5 -> THAI CHARACTER LO LING
+ u'\u0e26' # 0xC6 -> THAI CHARACTER LU
+ u'\u0e27' # 0xC7 -> THAI CHARACTER WO WAEN
+ u'\u0e28' # 0xC8 -> THAI CHARACTER SO SALA
+ u'\u0e29' # 0xC9 -> THAI CHARACTER SO RUSI
+ u'\u0e2a' # 0xCA -> THAI CHARACTER SO SUA
+ u'\u0e2b' # 0xCB -> THAI CHARACTER HO HIP
+ u'\u0e2c' # 0xCC -> THAI CHARACTER LO CHULA
+ u'\u0e2d' # 0xCD -> THAI CHARACTER O ANG
+ u'\u0e2e' # 0xCE -> THAI CHARACTER HO NOKHUK
+ u'\u0e2f' # 0xCF -> THAI CHARACTER PAIYANNOI
+ u'\u0e30' # 0xD0 -> THAI CHARACTER SARA A
+ u'\u0e31' # 0xD1 -> THAI CHARACTER MAI HAN-AKAT
+ u'\u0e32' # 0xD2 -> THAI CHARACTER SARA AA
+ u'\u0e33' # 0xD3 -> THAI CHARACTER SARA AM
+ u'\u0e34' # 0xD4 -> THAI CHARACTER SARA I
+ u'\u0e35' # 0xD5 -> THAI CHARACTER SARA II
+ u'\u0e36' # 0xD6 -> THAI CHARACTER SARA UE
+ u'\u0e37' # 0xD7 -> THAI CHARACTER SARA UEE
+ u'\u0e38' # 0xD8 -> THAI CHARACTER SARA U
+ u'\u0e39' # 0xD9 -> THAI CHARACTER SARA UU
+ u'\u0e3a' # 0xDA -> THAI CHARACTER PHINTHU
u'\ufffe'
u'\ufffe'
u'\ufffe'
u'\ufffe'
- u'\u0e3f' # 0xDF -> THAI CURRENCY SYMBOL BAHT
- u'\u0e40' # 0xE0 -> THAI CHARACTER SARA E
- u'\u0e41' # 0xE1 -> THAI CHARACTER SARA AE
- u'\u0e42' # 0xE2 -> THAI CHARACTER SARA O
- u'\u0e43' # 0xE3 -> THAI CHARACTER SARA AI MAIMUAN
- u'\u0e44' # 0xE4 -> THAI CHARACTER SARA AI MAIMALAI
- u'\u0e45' # 0xE5 -> THAI CHARACTER LAKKHANGYAO
- u'\u0e46' # 0xE6 -> THAI CHARACTER MAIYAMOK
- u'\u0e47' # 0xE7 -> THAI CHARACTER MAITAIKHU
- u'\u0e48' # 0xE8 -> THAI CHARACTER MAI EK
- u'\u0e49' # 0xE9 -> THAI CHARACTER MAI THO
- u'\u0e4a' # 0xEA -> THAI CHARACTER MAI TRI
- u'\u0e4b' # 0xEB -> THAI CHARACTER MAI CHATTAWA
- u'\u0e4c' # 0xEC -> THAI CHARACTER THANTHAKHAT
- u'\u0e4d' # 0xED -> THAI CHARACTER NIKHAHIT
- u'\u0e4e' # 0xEE -> THAI CHARACTER YAMAKKAN
- u'\u0e4f' # 0xEF -> THAI CHARACTER FONGMAN
- u'\u0e50' # 0xF0 -> THAI DIGIT ZERO
- u'\u0e51' # 0xF1 -> THAI DIGIT ONE
- u'\u0e52' # 0xF2 -> THAI DIGIT TWO
- u'\u0e53' # 0xF3 -> THAI DIGIT THREE
- u'\u0e54' # 0xF4 -> THAI DIGIT FOUR
- u'\u0e55' # 0xF5 -> THAI DIGIT FIVE
- u'\u0e56' # 0xF6 -> THAI DIGIT SIX
- u'\u0e57' # 0xF7 -> THAI DIGIT SEVEN
- u'\u0e58' # 0xF8 -> THAI DIGIT EIGHT
- u'\u0e59' # 0xF9 -> THAI DIGIT NINE
- u'\u0e5a' # 0xFA -> THAI CHARACTER ANGKHANKHU
- u'\u0e5b' # 0xFB -> THAI CHARACTER KHOMUT
+ u'\u0e3f' # 0xDF -> THAI CURRENCY SYMBOL BAHT
+ u'\u0e40' # 0xE0 -> THAI CHARACTER SARA E
+ u'\u0e41' # 0xE1 -> THAI CHARACTER SARA AE
+ u'\u0e42' # 0xE2 -> THAI CHARACTER SARA O
+ u'\u0e43' # 0xE3 -> THAI CHARACTER SARA AI MAIMUAN
+ u'\u0e44' # 0xE4 -> THAI CHARACTER SARA AI MAIMALAI
+ u'\u0e45' # 0xE5 -> THAI CHARACTER LAKKHANGYAO
+ u'\u0e46' # 0xE6 -> THAI CHARACTER MAIYAMOK
+ u'\u0e47' # 0xE7 -> THAI CHARACTER MAITAIKHU
+ u'\u0e48' # 0xE8 -> THAI CHARACTER MAI EK
+ u'\u0e49' # 0xE9 -> THAI CHARACTER MAI THO
+ u'\u0e4a' # 0xEA -> THAI CHARACTER MAI TRI
+ u'\u0e4b' # 0xEB -> THAI CHARACTER MAI CHATTAWA
+ u'\u0e4c' # 0xEC -> THAI CHARACTER THANTHAKHAT
+ u'\u0e4d' # 0xED -> THAI CHARACTER NIKHAHIT
+ u'\u0e4e' # 0xEE -> THAI CHARACTER YAMAKKAN
+ u'\u0e4f' # 0xEF -> THAI CHARACTER FONGMAN
+ u'\u0e50' # 0xF0 -> THAI DIGIT ZERO
+ u'\u0e51' # 0xF1 -> THAI DIGIT ONE
+ u'\u0e52' # 0xF2 -> THAI DIGIT TWO
+ u'\u0e53' # 0xF3 -> THAI DIGIT THREE
+ u'\u0e54' # 0xF4 -> THAI DIGIT FOUR
+ u'\u0e55' # 0xF5 -> THAI DIGIT FIVE
+ u'\u0e56' # 0xF6 -> THAI DIGIT SIX
+ u'\u0e57' # 0xF7 -> THAI DIGIT SEVEN
+ u'\u0e58' # 0xF8 -> THAI DIGIT EIGHT
+ u'\u0e59' # 0xF9 -> THAI DIGIT NINE
+ u'\u0e5a' # 0xFA -> THAI CHARACTER ANGKHANKHU
+ u'\u0e5b' # 0xFB -> THAI CHARACTER KHOMUT
u'\ufffe'
u'\ufffe'
u'\ufffe'
@@ -293,252 +293,251 @@ decoding_table = (
### Encoding Map
encoding_map = {
- 0x0000: 0x00, # NULL
- 0x0001: 0x01, # START OF HEADING
- 0x0002: 0x02, # START OF TEXT
- 0x0003: 0x03, # END OF TEXT
- 0x0004: 0x04, # END OF TRANSMISSION
- 0x0005: 0x05, # ENQUIRY
- 0x0006: 0x06, # ACKNOWLEDGE
- 0x0007: 0x07, # BELL
- 0x0008: 0x08, # BACKSPACE
- 0x0009: 0x09, # HORIZONTAL TABULATION
- 0x000A: 0x0A, # LINE FEED
- 0x000B: 0x0B, # VERTICAL TABULATION
- 0x000C: 0x0C, # FORM FEED
- 0x000D: 0x0D, # CARRIAGE RETURN
- 0x000E: 0x0E, # SHIFT OUT
- 0x000F: 0x0F, # SHIFT IN
- 0x0010: 0x10, # DATA LINK ESCAPE
- 0x0011: 0x11, # DEVICE CONTROL ONE
- 0x0012: 0x12, # DEVICE CONTROL TWO
- 0x0013: 0x13, # DEVICE CONTROL THREE
- 0x0014: 0x14, # DEVICE CONTROL FOUR
- 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
- 0x0016: 0x16, # SYNCHRONOUS IDLE
- 0x0017: 0x17, # END OF TRANSMISSION BLOCK
- 0x0018: 0x18, # CANCEL
- 0x0019: 0x19, # END OF MEDIUM
- 0x001A: 0x1A, # SUBSTITUTE
- 0x001B: 0x1B, # ESCAPE
- 0x001C: 0x1C, # FILE SEPARATOR
- 0x001D: 0x1D, # GROUP SEPARATOR
- 0x001E: 0x1E, # RECORD SEPARATOR
- 0x001F: 0x1F, # UNIT SEPARATOR
- 0x0020: 0x20, # SPACE
- 0x0021: 0x21, # EXCLAMATION MARK
- 0x0022: 0x22, # QUOTATION MARK
- 0x0023: 0x23, # NUMBER SIGN
- 0x0024: 0x24, # DOLLAR SIGN
- 0x0025: 0x25, # PERCENT SIGN
- 0x0026: 0x26, # AMPERSAND
- 0x0027: 0x27, # APOSTROPHE
- 0x0028: 0x28, # LEFT PARENTHESIS
- 0x0029: 0x29, # RIGHT PARENTHESIS
- 0x002A: 0x2A, # ASTERISK
- 0x002B: 0x2B, # PLUS SIGN
- 0x002C: 0x2C, # COMMA
- 0x002D: 0x2D, # HYPHEN-MINUS
- 0x002E: 0x2E, # FULL STOP
- 0x002F: 0x2F, # SOLIDUS
- 0x0030: 0x30, # DIGIT ZERO
- 0x0031: 0x31, # DIGIT ONE
- 0x0032: 0x32, # DIGIT TWO
- 0x0033: 0x33, # DIGIT THREE
- 0x0034: 0x34, # DIGIT FOUR
- 0x0035: 0x35, # DIGIT FIVE
- 0x0036: 0x36, # DIGIT SIX
- 0x0037: 0x37, # DIGIT SEVEN
- 0x0038: 0x38, # DIGIT EIGHT
- 0x0039: 0x39, # DIGIT NINE
- 0x003A: 0x3A, # COLON
- 0x003B: 0x3B, # SEMICOLON
- 0x003C: 0x3C, # LESS-THAN SIGN
- 0x003D: 0x3D, # EQUALS SIGN
- 0x003E: 0x3E, # GREATER-THAN SIGN
- 0x003F: 0x3F, # QUESTION MARK
- 0x0040: 0x40, # COMMERCIAL AT
- 0x0041: 0x41, # LATIN CAPITAL LETTER A
- 0x0042: 0x42, # LATIN CAPITAL LETTER B
- 0x0043: 0x43, # LATIN CAPITAL LETTER C
- 0x0044: 0x44, # LATIN CAPITAL LETTER D
- 0x0045: 0x45, # LATIN CAPITAL LETTER E
- 0x0046: 0x46, # LATIN CAPITAL LETTER F
- 0x0047: 0x47, # LATIN CAPITAL LETTER G
- 0x0048: 0x48, # LATIN CAPITAL LETTER H
- 0x0049: 0x49, # LATIN CAPITAL LETTER I
- 0x004A: 0x4A, # LATIN CAPITAL LETTER J
- 0x004B: 0x4B, # LATIN CAPITAL LETTER K
- 0x004C: 0x4C, # LATIN CAPITAL LETTER L
- 0x004D: 0x4D, # LATIN CAPITAL LETTER M
- 0x004E: 0x4E, # LATIN CAPITAL LETTER N
- 0x004F: 0x4F, # LATIN CAPITAL LETTER O
- 0x0050: 0x50, # LATIN CAPITAL LETTER P
- 0x0051: 0x51, # LATIN CAPITAL LETTER Q
- 0x0052: 0x52, # LATIN CAPITAL LETTER R
- 0x0053: 0x53, # LATIN CAPITAL LETTER S
- 0x0054: 0x54, # LATIN CAPITAL LETTER T
- 0x0055: 0x55, # LATIN CAPITAL LETTER U
- 0x0056: 0x56, # LATIN CAPITAL LETTER V
- 0x0057: 0x57, # LATIN CAPITAL LETTER W
- 0x0058: 0x58, # LATIN CAPITAL LETTER X
- 0x0059: 0x59, # LATIN CAPITAL LETTER Y
- 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
- 0x005B: 0x5B, # LEFT SQUARE BRACKET
- 0x005C: 0x5C, # REVERSE SOLIDUS
- 0x005D: 0x5D, # RIGHT SQUARE BRACKET
- 0x005E: 0x5E, # CIRCUMFLEX ACCENT
- 0x005F: 0x5F, # LOW LINE
- 0x0060: 0x60, # GRAVE ACCENT
- 0x0061: 0x61, # LATIN SMALL LETTER A
- 0x0062: 0x62, # LATIN SMALL LETTER B
- 0x0063: 0x63, # LATIN SMALL LETTER C
- 0x0064: 0x64, # LATIN SMALL LETTER D
- 0x0065: 0x65, # LATIN SMALL LETTER E
- 0x0066: 0x66, # LATIN SMALL LETTER F
- 0x0067: 0x67, # LATIN SMALL LETTER G
- 0x0068: 0x68, # LATIN SMALL LETTER H
- 0x0069: 0x69, # LATIN SMALL LETTER I
- 0x006A: 0x6A, # LATIN SMALL LETTER J
- 0x006B: 0x6B, # LATIN SMALL LETTER K
- 0x006C: 0x6C, # LATIN SMALL LETTER L
- 0x006D: 0x6D, # LATIN SMALL LETTER M
- 0x006E: 0x6E, # LATIN SMALL LETTER N
- 0x006F: 0x6F, # LATIN SMALL LETTER O
- 0x0070: 0x70, # LATIN SMALL LETTER P
- 0x0071: 0x71, # LATIN SMALL LETTER Q
- 0x0072: 0x72, # LATIN SMALL LETTER R
- 0x0073: 0x73, # LATIN SMALL LETTER S
- 0x0074: 0x74, # LATIN SMALL LETTER T
- 0x0075: 0x75, # LATIN SMALL LETTER U
- 0x0076: 0x76, # LATIN SMALL LETTER V
- 0x0077: 0x77, # LATIN SMALL LETTER W
- 0x0078: 0x78, # LATIN SMALL LETTER X
- 0x0079: 0x79, # LATIN SMALL LETTER Y
- 0x007A: 0x7A, # LATIN SMALL LETTER Z
- 0x007B: 0x7B, # LEFT CURLY BRACKET
- 0x007C: 0x7C, # VERTICAL LINE
- 0x007D: 0x7D, # RIGHT CURLY BRACKET
- 0x007E: 0x7E, # TILDE
- 0x007F: 0x7F, # DELETE
- 0x0080: 0x80, # <control>
- 0x0081: 0x81, # <control>
- 0x0082: 0x82, # <control>
- 0x0083: 0x83, # <control>
- 0x0084: 0x84, # <control>
- 0x0085: 0x85, # <control>
- 0x0086: 0x86, # <control>
- 0x0087: 0x87, # <control>
- 0x0088: 0x88, # <control>
- 0x0089: 0x89, # <control>
- 0x008A: 0x8A, # <control>
- 0x008B: 0x8B, # <control>
- 0x008C: 0x8C, # <control>
- 0x008D: 0x8D, # <control>
- 0x008E: 0x8E, # <control>
- 0x008F: 0x8F, # <control>
- 0x0090: 0x90, # <control>
- 0x0091: 0x91, # <control>
- 0x0092: 0x92, # <control>
- 0x0093: 0x93, # <control>
- 0x0094: 0x94, # <control>
- 0x0095: 0x95, # <control>
- 0x0096: 0x96, # <control>
- 0x0097: 0x97, # <control>
- 0x0098: 0x98, # <control>
- 0x0099: 0x99, # <control>
- 0x009A: 0x9A, # <control>
- 0x009B: 0x9B, # <control>
- 0x009C: 0x9C, # <control>
- 0x009D: 0x9D, # <control>
- 0x009E: 0x9E, # <control>
- 0x009F: 0x9F, # <control>
- 0x0E01: 0xA1, # THAI CHARACTER KO KAI
- 0x0E02: 0xA2, # THAI CHARACTER KHO KHAI
- 0x0E03: 0xA3, # THAI CHARACTER KHO KHUAT
- 0x0E04: 0xA4, # THAI CHARACTER KHO KHWAI
- 0x0E05: 0xA5, # THAI CHARACTER KHO KHON
- 0x0E06: 0xA6, # THAI CHARACTER KHO RAKHANG
- 0x0E07: 0xA7, # THAI CHARACTER NGO NGU
- 0x0E08: 0xA8, # THAI CHARACTER CHO CHAN
- 0x0E09: 0xA9, # THAI CHARACTER CHO CHING
- 0x0E0A: 0xAA, # THAI CHARACTER CHO CHANG
- 0x0E0B: 0xAB, # THAI CHARACTER SO SO
- 0x0E0C: 0xAC, # THAI CHARACTER CHO CHOE
- 0x0E0D: 0xAD, # THAI CHARACTER YO YING
- 0x0E0E: 0xAE, # THAI CHARACTER DO CHADA
- 0x0E0F: 0xAF, # THAI CHARACTER TO PATAK
- 0x0E10: 0xB0, # THAI CHARACTER THO THAN
- 0x0E11: 0xB1, # THAI CHARACTER THO NANGMONTHO
- 0x0E12: 0xB2, # THAI CHARACTER THO PHUTHAO
- 0x0E13: 0xB3, # THAI CHARACTER NO NEN
- 0x0E14: 0xB4, # THAI CHARACTER DO DEK
- 0x0E15: 0xB5, # THAI CHARACTER TO TAO
- 0x0E16: 0xB6, # THAI CHARACTER THO THUNG
- 0x0E17: 0xB7, # THAI CHARACTER THO THAHAN
- 0x0E18: 0xB8, # THAI CHARACTER THO THONG
- 0x0E19: 0xB9, # THAI CHARACTER NO NU
- 0x0E1A: 0xBA, # THAI CHARACTER BO BAIMAI
- 0x0E1B: 0xBB, # THAI CHARACTER PO PLA
- 0x0E1C: 0xBC, # THAI CHARACTER PHO PHUNG
- 0x0E1D: 0xBD, # THAI CHARACTER FO FA
- 0x0E1E: 0xBE, # THAI CHARACTER PHO PHAN
- 0x0E1F: 0xBF, # THAI CHARACTER FO FAN
- 0x0E20: 0xC0, # THAI CHARACTER PHO SAMPHAO
- 0x0E21: 0xC1, # THAI CHARACTER MO MA
- 0x0E22: 0xC2, # THAI CHARACTER YO YAK
- 0x0E23: 0xC3, # THAI CHARACTER RO RUA
- 0x0E24: 0xC4, # THAI CHARACTER RU
- 0x0E25: 0xC5, # THAI CHARACTER LO LING
- 0x0E26: 0xC6, # THAI CHARACTER LU
- 0x0E27: 0xC7, # THAI CHARACTER WO WAEN
- 0x0E28: 0xC8, # THAI CHARACTER SO SALA
- 0x0E29: 0xC9, # THAI CHARACTER SO RUSI
- 0x0E2A: 0xCA, # THAI CHARACTER SO SUA
- 0x0E2B: 0xCB, # THAI CHARACTER HO HIP
- 0x0E2C: 0xCC, # THAI CHARACTER LO CHULA
- 0x0E2D: 0xCD, # THAI CHARACTER O ANG
- 0x0E2E: 0xCE, # THAI CHARACTER HO NOKHUK
- 0x0E2F: 0xCF, # THAI CHARACTER PAIYANNOI
- 0x0E30: 0xD0, # THAI CHARACTER SARA A
- 0x0E31: 0xD1, # THAI CHARACTER MAI HAN-AKAT
- 0x0E32: 0xD2, # THAI CHARACTER SARA AA
- 0x0E33: 0xD3, # THAI CHARACTER SARA AM
- 0x0E34: 0xD4, # THAI CHARACTER SARA I
- 0x0E35: 0xD5, # THAI CHARACTER SARA II
- 0x0E36: 0xD6, # THAI CHARACTER SARA UE
- 0x0E37: 0xD7, # THAI CHARACTER SARA UEE
- 0x0E38: 0xD8, # THAI CHARACTER SARA U
- 0x0E39: 0xD9, # THAI CHARACTER SARA UU
- 0x0E3A: 0xDA, # THAI CHARACTER PHINTHU
- 0x0E3F: 0xDF, # THAI CURRENCY SYMBOL BAHT
- 0x0E40: 0xE0, # THAI CHARACTER SARA E
- 0x0E41: 0xE1, # THAI CHARACTER SARA AE
- 0x0E42: 0xE2, # THAI CHARACTER SARA O
- 0x0E43: 0xE3, # THAI CHARACTER SARA AI MAIMUAN
- 0x0E44: 0xE4, # THAI CHARACTER SARA AI MAIMALAI
- 0x0E45: 0xE5, # THAI CHARACTER LAKKHANGYAO
- 0x0E46: 0xE6, # THAI CHARACTER MAIYAMOK
- 0x0E47: 0xE7, # THAI CHARACTER MAITAIKHU
- 0x0E48: 0xE8, # THAI CHARACTER MAI EK
- 0x0E49: 0xE9, # THAI CHARACTER MAI THO
- 0x0E4A: 0xEA, # THAI CHARACTER MAI TRI
- 0x0E4B: 0xEB, # THAI CHARACTER MAI CHATTAWA
- 0x0E4C: 0xEC, # THAI CHARACTER THANTHAKHAT
- 0x0E4D: 0xED, # THAI CHARACTER NIKHAHIT
- 0x0E4E: 0xEE, # THAI CHARACTER YAMAKKAN
- 0x0E4F: 0xEF, # THAI CHARACTER FONGMAN
- 0x0E50: 0xF0, # THAI DIGIT ZERO
- 0x0E51: 0xF1, # THAI DIGIT ONE
- 0x0E52: 0xF2, # THAI DIGIT TWO
- 0x0E53: 0xF3, # THAI DIGIT THREE
- 0x0E54: 0xF4, # THAI DIGIT FOUR
- 0x0E55: 0xF5, # THAI DIGIT FIVE
- 0x0E56: 0xF6, # THAI DIGIT SIX
- 0x0E57: 0xF7, # THAI DIGIT SEVEN
- 0x0E58: 0xF8, # THAI DIGIT EIGHT
- 0x0E59: 0xF9, # THAI DIGIT NINE
- 0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
- 0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
+ 0x0000: 0x00, # NULL
+ 0x0001: 0x01, # START OF HEADING
+ 0x0002: 0x02, # START OF TEXT
+ 0x0003: 0x03, # END OF TEXT
+ 0x0004: 0x04, # END OF TRANSMISSION
+ 0x0005: 0x05, # ENQUIRY
+ 0x0006: 0x06, # ACKNOWLEDGE
+ 0x0007: 0x07, # BELL
+ 0x0008: 0x08, # BACKSPACE
+ 0x0009: 0x09, # HORIZONTAL TABULATION
+ 0x000A: 0x0A, # LINE FEED
+ 0x000B: 0x0B, # VERTICAL TABULATION
+ 0x000C: 0x0C, # FORM FEED
+ 0x000D: 0x0D, # CARRIAGE RETURN
+ 0x000E: 0x0E, # SHIFT OUT
+ 0x000F: 0x0F, # SHIFT IN
+ 0x0010: 0x10, # DATA LINK ESCAPE
+ 0x0011: 0x11, # DEVICE CONTROL ONE
+ 0x0012: 0x12, # DEVICE CONTROL TWO
+ 0x0013: 0x13, # DEVICE CONTROL THREE
+ 0x0014: 0x14, # DEVICE CONTROL FOUR
+ 0x0015: 0x15, # NEGATIVE ACKNOWLEDGE
+ 0x0016: 0x16, # SYNCHRONOUS IDLE
+ 0x0017: 0x17, # END OF TRANSMISSION BLOCK
+ 0x0018: 0x18, # CANCEL
+ 0x0019: 0x19, # END OF MEDIUM
+ 0x001A: 0x1A, # SUBSTITUTE
+ 0x001B: 0x1B, # ESCAPE
+ 0x001C: 0x1C, # FILE SEPARATOR
+ 0x001D: 0x1D, # GROUP SEPARATOR
+ 0x001E: 0x1E, # RECORD SEPARATOR
+ 0x001F: 0x1F, # UNIT SEPARATOR
+ 0x0020: 0x20, # SPACE
+ 0x0021: 0x21, # EXCLAMATION MARK
+ 0x0022: 0x22, # QUOTATION MARK
+ 0x0023: 0x23, # NUMBER SIGN
+ 0x0024: 0x24, # DOLLAR SIGN
+ 0x0025: 0x25, # PERCENT SIGN
+ 0x0026: 0x26, # AMPERSAND
+ 0x0027: 0x27, # APOSTROPHE
+ 0x0028: 0x28, # LEFT PARENTHESIS
+ 0x0029: 0x29, # RIGHT PARENTHESIS
+ 0x002A: 0x2A, # ASTERISK
+ 0x002B: 0x2B, # PLUS SIGN
+ 0x002C: 0x2C, # COMMA
+ 0x002D: 0x2D, # HYPHEN-MINUS
+ 0x002E: 0x2E, # FULL STOP
+ 0x002F: 0x2F, # SOLIDUS
+ 0x0030: 0x30, # DIGIT ZERO
+ 0x0031: 0x31, # DIGIT ONE
+ 0x0032: 0x32, # DIGIT TWO
+ 0x0033: 0x33, # DIGIT THREE
+ 0x0034: 0x34, # DIGIT FOUR
+ 0x0035: 0x35, # DIGIT FIVE
+ 0x0036: 0x36, # DIGIT SIX
+ 0x0037: 0x37, # DIGIT SEVEN
+ 0x0038: 0x38, # DIGIT EIGHT
+ 0x0039: 0x39, # DIGIT NINE
+ 0x003A: 0x3A, # COLON
+ 0x003B: 0x3B, # SEMICOLON
+ 0x003C: 0x3C, # LESS-THAN SIGN
+ 0x003D: 0x3D, # EQUALS SIGN
+ 0x003E: 0x3E, # GREATER-THAN SIGN
+ 0x003F: 0x3F, # QUESTION MARK
+ 0x0040: 0x40, # COMMERCIAL AT
+ 0x0041: 0x41, # LATIN CAPITAL LETTER A
+ 0x0042: 0x42, # LATIN CAPITAL LETTER B
+ 0x0043: 0x43, # LATIN CAPITAL LETTER C
+ 0x0044: 0x44, # LATIN CAPITAL LETTER D
+ 0x0045: 0x45, # LATIN CAPITAL LETTER E
+ 0x0046: 0x46, # LATIN CAPITAL LETTER F
+ 0x0047: 0x47, # LATIN CAPITAL LETTER G
+ 0x0048: 0x48, # LATIN CAPITAL LETTER H
+ 0x0049: 0x49, # LATIN CAPITAL LETTER I
+ 0x004A: 0x4A, # LATIN CAPITAL LETTER J
+ 0x004B: 0x4B, # LATIN CAPITAL LETTER K
+ 0x004C: 0x4C, # LATIN CAPITAL LETTER L
+ 0x004D: 0x4D, # LATIN CAPITAL LETTER M
+ 0x004E: 0x4E, # LATIN CAPITAL LETTER N
+ 0x004F: 0x4F, # LATIN CAPITAL LETTER O
+ 0x0050: 0x50, # LATIN CAPITAL LETTER P
+ 0x0051: 0x51, # LATIN CAPITAL LETTER Q
+ 0x0052: 0x52, # LATIN CAPITAL LETTER R
+ 0x0053: 0x53, # LATIN CAPITAL LETTER S
+ 0x0054: 0x54, # LATIN CAPITAL LETTER T
+ 0x0055: 0x55, # LATIN CAPITAL LETTER U
+ 0x0056: 0x56, # LATIN CAPITAL LETTER V
+ 0x0057: 0x57, # LATIN CAPITAL LETTER W
+ 0x0058: 0x58, # LATIN CAPITAL LETTER X
+ 0x0059: 0x59, # LATIN CAPITAL LETTER Y
+ 0x005A: 0x5A, # LATIN CAPITAL LETTER Z
+ 0x005B: 0x5B, # LEFT SQUARE BRACKET
+ 0x005C: 0x5C, # REVERSE SOLIDUS
+ 0x005D: 0x5D, # RIGHT SQUARE BRACKET
+ 0x005E: 0x5E, # CIRCUMFLEX ACCENT
+ 0x005F: 0x5F, # LOW LINE
+ 0x0060: 0x60, # GRAVE ACCENT
+ 0x0061: 0x61, # LATIN SMALL LETTER A
+ 0x0062: 0x62, # LATIN SMALL LETTER B
+ 0x0063: 0x63, # LATIN SMALL LETTER C
+ 0x0064: 0x64, # LATIN SMALL LETTER D
+ 0x0065: 0x65, # LATIN SMALL LETTER E
+ 0x0066: 0x66, # LATIN SMALL LETTER F
+ 0x0067: 0x67, # LATIN SMALL LETTER G
+ 0x0068: 0x68, # LATIN SMALL LETTER H
+ 0x0069: 0x69, # LATIN SMALL LETTER I
+ 0x006A: 0x6A, # LATIN SMALL LETTER J
+ 0x006B: 0x6B, # LATIN SMALL LETTER K
+ 0x006C: 0x6C, # LATIN SMALL LETTER L
+ 0x006D: 0x6D, # LATIN SMALL LETTER M
+ 0x006E: 0x6E, # LATIN SMALL LETTER N
+ 0x006F: 0x6F, # LATIN SMALL LETTER O
+ 0x0070: 0x70, # LATIN SMALL LETTER P
+ 0x0071: 0x71, # LATIN SMALL LETTER Q
+ 0x0072: 0x72, # LATIN SMALL LETTER R
+ 0x0073: 0x73, # LATIN SMALL LETTER S
+ 0x0074: 0x74, # LATIN SMALL LETTER T
+ 0x0075: 0x75, # LATIN SMALL LETTER U
+ 0x0076: 0x76, # LATIN SMALL LETTER V
+ 0x0077: 0x77, # LATIN SMALL LETTER W
+ 0x0078: 0x78, # LATIN SMALL LETTER X
+ 0x0079: 0x79, # LATIN SMALL LETTER Y
+ 0x007A: 0x7A, # LATIN SMALL LETTER Z
+ 0x007B: 0x7B, # LEFT CURLY BRACKET
+ 0x007C: 0x7C, # VERTICAL LINE
+ 0x007D: 0x7D, # RIGHT CURLY BRACKET
+ 0x007E: 0x7E, # TILDE
+ 0x007F: 0x7F, # DELETE
+ 0x0080: 0x80, # <control>
+ 0x0081: 0x81, # <control>
+ 0x0082: 0x82, # <control>
+ 0x0083: 0x83, # <control>
+ 0x0084: 0x84, # <control>
+ 0x0085: 0x85, # <control>
+ 0x0086: 0x86, # <control>
+ 0x0087: 0x87, # <control>
+ 0x0088: 0x88, # <control>
+ 0x0089: 0x89, # <control>
+ 0x008A: 0x8A, # <control>
+ 0x008B: 0x8B, # <control>
+ 0x008C: 0x8C, # <control>
+ 0x008D: 0x8D, # <control>
+ 0x008E: 0x8E, # <control>
+ 0x008F: 0x8F, # <control>
+ 0x0090: 0x90, # <control>
+ 0x0091: 0x91, # <control>
+ 0x0092: 0x92, # <control>
+ 0x0093: 0x93, # <control>
+ 0x0094: 0x94, # <control>
+ 0x0095: 0x95, # <control>
+ 0x0096: 0x96, # <control>
+ 0x0097: 0x97, # <control>
+ 0x0098: 0x98, # <control>
+ 0x0099: 0x99, # <control>
+ 0x009A: 0x9A, # <control>
+ 0x009B: 0x9B, # <control>
+ 0x009C: 0x9C, # <control>
+ 0x009D: 0x9D, # <control>
+ 0x009E: 0x9E, # <control>
+ 0x009F: 0x9F, # <control>
+ 0x0E01: 0xA1, # THAI CHARACTER KO KAI
+ 0x0E02: 0xA2, # THAI CHARACTER KHO KHAI
+ 0x0E03: 0xA3, # THAI CHARACTER KHO KHUAT
+ 0x0E04: 0xA4, # THAI CHARACTER KHO KHWAI
+ 0x0E05: 0xA5, # THAI CHARACTER KHO KHON
+ 0x0E06: 0xA6, # THAI CHARACTER KHO RAKHANG
+ 0x0E07: 0xA7, # THAI CHARACTER NGO NGU
+ 0x0E08: 0xA8, # THAI CHARACTER CHO CHAN
+ 0x0E09: 0xA9, # THAI CHARACTER CHO CHING
+ 0x0E0A: 0xAA, # THAI CHARACTER CHO CHANG
+ 0x0E0B: 0xAB, # THAI CHARACTER SO SO
+ 0x0E0C: 0xAC, # THAI CHARACTER CHO CHOE
+ 0x0E0D: 0xAD, # THAI CHARACTER YO YING
+ 0x0E0E: 0xAE, # THAI CHARACTER DO CHADA
+ 0x0E0F: 0xAF, # THAI CHARACTER TO PATAK
+ 0x0E10: 0xB0, # THAI CHARACTER THO THAN
+ 0x0E11: 0xB1, # THAI CHARACTER THO NANGMONTHO
+ 0x0E12: 0xB2, # THAI CHARACTER THO PHUTHAO
+ 0x0E13: 0xB3, # THAI CHARACTER NO NEN
+ 0x0E14: 0xB4, # THAI CHARACTER DO DEK
+ 0x0E15: 0xB5, # THAI CHARACTER TO TAO
+ 0x0E16: 0xB6, # THAI CHARACTER THO THUNG
+ 0x0E17: 0xB7, # THAI CHARACTER THO THAHAN
+ 0x0E18: 0xB8, # THAI CHARACTER THO THONG
+ 0x0E19: 0xB9, # THAI CHARACTER NO NU
+ 0x0E1A: 0xBA, # THAI CHARACTER BO BAIMAI
+ 0x0E1B: 0xBB, # THAI CHARACTER PO PLA
+ 0x0E1C: 0xBC, # THAI CHARACTER PHO PHUNG
+ 0x0E1D: 0xBD, # THAI CHARACTER FO FA
+ 0x0E1E: 0xBE, # THAI CHARACTER PHO PHAN
+ 0x0E1F: 0xBF, # THAI CHARACTER FO FAN
+ 0x0E20: 0xC0, # THAI CHARACTER PHO SAMPHAO
+ 0x0E21: 0xC1, # THAI CHARACTER MO MA
+ 0x0E22: 0xC2, # THAI CHARACTER YO YAK
+ 0x0E23: 0xC3, # THAI CHARACTER RO RUA
+ 0x0E24: 0xC4, # THAI CHARACTER RU
+ 0x0E25: 0xC5, # THAI CHARACTER LO LING
+ 0x0E26: 0xC6, # THAI CHARACTER LU
+ 0x0E27: 0xC7, # THAI CHARACTER WO WAEN
+ 0x0E28: 0xC8, # THAI CHARACTER SO SALA
+ 0x0E29: 0xC9, # THAI CHARACTER SO RUSI
+ 0x0E2A: 0xCA, # THAI CHARACTER SO SUA
+ 0x0E2B: 0xCB, # THAI CHARACTER HO HIP
+ 0x0E2C: 0xCC, # THAI CHARACTER LO CHULA
+ 0x0E2D: 0xCD, # THAI CHARACTER O ANG
+ 0x0E2E: 0xCE, # THAI CHARACTER HO NOKHUK
+ 0x0E2F: 0xCF, # THAI CHARACTER PAIYANNOI
+ 0x0E30: 0xD0, # THAI CHARACTER SARA A
+ 0x0E31: 0xD1, # THAI CHARACTER MAI HAN-AKAT
+ 0x0E32: 0xD2, # THAI CHARACTER SARA AA
+ 0x0E33: 0xD3, # THAI CHARACTER SARA AM
+ 0x0E34: 0xD4, # THAI CHARACTER SARA I
+ 0x0E35: 0xD5, # THAI CHARACTER SARA II
+ 0x0E36: 0xD6, # THAI CHARACTER SARA UE
+ 0x0E37: 0xD7, # THAI CHARACTER SARA UEE
+ 0x0E38: 0xD8, # THAI CHARACTER SARA U
+ 0x0E39: 0xD9, # THAI CHARACTER SARA UU
+ 0x0E3A: 0xDA, # THAI CHARACTER PHINTHU
+ 0x0E3F: 0xDF, # THAI CURRENCY SYMBOL BAHT
+ 0x0E40: 0xE0, # THAI CHARACTER SARA E
+ 0x0E41: 0xE1, # THAI CHARACTER SARA AE
+ 0x0E42: 0xE2, # THAI CHARACTER SARA O
+ 0x0E43: 0xE3, # THAI CHARACTER SARA AI MAIMUAN
+ 0x0E44: 0xE4, # THAI CHARACTER SARA AI MAIMALAI
+ 0x0E45: 0xE5, # THAI CHARACTER LAKKHANGYAO
+ 0x0E46: 0xE6, # THAI CHARACTER MAIYAMOK
+ 0x0E47: 0xE7, # THAI CHARACTER MAITAIKHU
+ 0x0E48: 0xE8, # THAI CHARACTER MAI EK
+ 0x0E49: 0xE9, # THAI CHARACTER MAI THO
+ 0x0E4A: 0xEA, # THAI CHARACTER MAI TRI
+ 0x0E4B: 0xEB, # THAI CHARACTER MAI CHATTAWA
+ 0x0E4C: 0xEC, # THAI CHARACTER THANTHAKHAT
+ 0x0E4D: 0xED, # THAI CHARACTER NIKHAHIT
+ 0x0E4E: 0xEE, # THAI CHARACTER YAMAKKAN
+ 0x0E4F: 0xEF, # THAI CHARACTER FONGMAN
+ 0x0E50: 0xF0, # THAI DIGIT ZERO
+ 0x0E51: 0xF1, # THAI DIGIT ONE
+ 0x0E52: 0xF2, # THAI DIGIT TWO
+ 0x0E53: 0xF3, # THAI DIGIT THREE
+ 0x0E54: 0xF4, # THAI DIGIT FOUR
+ 0x0E55: 0xF5, # THAI DIGIT FIVE
+ 0x0E56: 0xF6, # THAI DIGIT SIX
+ 0x0E57: 0xF7, # THAI DIGIT SEVEN
+ 0x0E58: 0xF8, # THAI DIGIT EIGHT
+ 0x0E59: 0xF9, # THAI DIGIT NINE
+ 0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
+ 0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
}
-
diff --git a/Lib/test/bad_coding2.py b/Lib/test/bad_coding2.py
index 604b122..cc959b0 100644
--- a/Lib/test/bad_coding2.py
+++ b/Lib/test/bad_coding2.py
@@ -1,2 +1,2 @@
#coding: utf8
-print '我' \ No newline at end of file
+print '我'
diff --git a/Lib/test/test_code.py b/Lib/test/test_code.py
index ff95c6a..52bc894 100644
--- a/Lib/test/test_code.py
+++ b/Lib/test/test_code.py
@@ -33,7 +33,7 @@ consts: ('None',)
... b = x - y
... c = a * b
... return c
-...
+...
>>> dump(h.func_code)
name: h
argcount: 2
diff --git a/Lib/test/test_exception_variations.py b/Lib/test/test_exception_variations.py
index 297a6c9..754d452 100644
--- a/Lib/test/test_exception_variations.py
+++ b/Lib/test/test_exception_variations.py
@@ -1,180 +1,180 @@
-
-from test.test_support import run_unittest
-import unittest
-
-class ExceptionTestCase(unittest.TestCase):
- def test_try_except_else_finally(self):
- hit_except = False
- hit_else = False
- hit_finally = False
-
- try:
- raise Exception, 'nyaa!'
- except:
- hit_except = True
- else:
- hit_else = True
- finally:
- hit_finally = True
-
- self.assertTrue(hit_except)
- self.assertTrue(hit_finally)
- self.assertFalse(hit_else)
-
- def test_try_except_else_finally_no_exception(self):
- hit_except = False
- hit_else = False
- hit_finally = False
-
- try:
- pass
- except:
- hit_except = True
- else:
- hit_else = True
- finally:
- hit_finally = True
-
- self.assertFalse(hit_except)
- self.assertTrue(hit_finally)
- self.assertTrue(hit_else)
-
- def test_try_except_finally(self):
- hit_except = False
- hit_finally = False
-
- try:
- raise Exception, 'yarr!'
- except:
- hit_except = True
- finally:
- hit_finally = True
-
- self.assertTrue(hit_except)
- self.assertTrue(hit_finally)
-
- def test_try_except_finally_no_exception(self):
- hit_except = False
- hit_finally = False
-
- try:
- pass
- except:
- hit_except = True
- finally:
- hit_finally = True
-
- self.assertFalse(hit_except)
- self.assertTrue(hit_finally)
-
- def test_try_except(self):
- hit_except = False
-
- try:
- raise Exception, 'ahoy!'
- except:
- hit_except = True
-
- self.assertTrue(hit_except)
-
- def test_try_except_no_exception(self):
- hit_except = False
-
- try:
- pass
- except:
- hit_except = True
-
- self.assertFalse(hit_except)
-
- def test_try_except_else(self):
- hit_except = False
- hit_else = False
-
- try:
- raise Exception, 'foo!'
- except:
- hit_except = True
- else:
- hit_else = True
-
- self.assertFalse(hit_else)
- self.assertTrue(hit_except)
-
- def test_try_except_else_no_exception(self):
- hit_except = False
- hit_else = False
-
- try:
- pass
- except:
- hit_except = True
- else:
- hit_else = True
-
- self.assertFalse(hit_except)
- self.assertTrue(hit_else)
-
- def test_try_finally_no_exception(self):
- hit_finally = False
-
- try:
- pass
- finally:
- hit_finally = True
-
- self.assertTrue(hit_finally)
-
- def test_nested(self):
- hit_finally = False
- hit_inner_except = False
- hit_inner_finally = False
-
- try:
- try:
- raise Exception, 'inner exception'
- except:
- hit_inner_except = True
- finally:
- hit_inner_finally = True
- finally:
- hit_finally = True
-
- self.assertTrue(hit_inner_except)
- self.assertTrue(hit_inner_finally)
- self.assertTrue(hit_finally)
-
- def test_nested_else(self):
- hit_else = False
- hit_finally = False
- hit_except = False
- hit_inner_except = False
- hit_inner_else = False
-
- try:
- try:
- pass
- except:
- hit_inner_except = True
- else:
- hit_inner_else = True
-
- raise Exception, 'outer exception'
- except:
- hit_except = True
- else:
- hit_else = True
- finally:
- hit_finally = True
-
- self.assertFalse(hit_inner_except)
- self.assertTrue(hit_inner_else)
- self.assertFalse(hit_else)
- self.assertTrue(hit_finally)
- self.assertTrue(hit_except)
-
-def test_main():
- run_unittest(ExceptionTestCase)
-
-if __name__ == '__main__':
- test_main()
+
+from test.test_support import run_unittest
+import unittest
+
+class ExceptionTestCase(unittest.TestCase):
+ def test_try_except_else_finally(self):
+ hit_except = False
+ hit_else = False
+ hit_finally = False
+
+ try:
+ raise Exception, 'nyaa!'
+ except:
+ hit_except = True
+ else:
+ hit_else = True
+ finally:
+ hit_finally = True
+
+ self.assertTrue(hit_except)
+ self.assertTrue(hit_finally)
+ self.assertFalse(hit_else)
+
+ def test_try_except_else_finally_no_exception(self):
+ hit_except = False
+ hit_else = False
+ hit_finally = False
+
+ try:
+ pass
+ except:
+ hit_except = True
+ else:
+ hit_else = True
+ finally:
+ hit_finally = True
+
+ self.assertFalse(hit_except)
+ self.assertTrue(hit_finally)
+ self.assertTrue(hit_else)
+
+ def test_try_except_finally(self):
+ hit_except = False
+ hit_finally = False
+
+ try:
+ raise Exception, 'yarr!'
+ except:
+ hit_except = True
+ finally:
+ hit_finally = True
+
+ self.assertTrue(hit_except)
+ self.assertTrue(hit_finally)
+
+ def test_try_except_finally_no_exception(self):
+ hit_except = False
+ hit_finally = False
+
+ try:
+ pass
+ except:
+ hit_except = True
+ finally:
+ hit_finally = True
+
+ self.assertFalse(hit_except)
+ self.assertTrue(hit_finally)
+
+ def test_try_except(self):
+ hit_except = False
+
+ try:
+ raise Exception, 'ahoy!'
+ except:
+ hit_except = True
+
+ self.assertTrue(hit_except)
+
+ def test_try_except_no_exception(self):
+ hit_except = False
+
+ try:
+ pass
+ except:
+ hit_except = True
+
+ self.assertFalse(hit_except)
+
+ def test_try_except_else(self):
+ hit_except = False
+ hit_else = False
+
+ try:
+ raise Exception, 'foo!'
+ except:
+ hit_except = True
+ else:
+ hit_else = True
+
+ self.assertFalse(hit_else)
+ self.assertTrue(hit_except)
+
+ def test_try_except_else_no_exception(self):
+ hit_except = False
+ hit_else = False
+
+ try:
+ pass
+ except:
+ hit_except = True
+ else:
+ hit_else = True
+
+ self.assertFalse(hit_except)
+ self.assertTrue(hit_else)
+
+ def test_try_finally_no_exception(self):
+ hit_finally = False
+
+ try:
+ pass
+ finally:
+ hit_finally = True
+
+ self.assertTrue(hit_finally)
+
+ def test_nested(self):
+ hit_finally = False
+ hit_inner_except = False
+ hit_inner_finally = False
+
+ try:
+ try:
+ raise Exception, 'inner exception'
+ except:
+ hit_inner_except = True
+ finally:
+ hit_inner_finally = True
+ finally:
+ hit_finally = True
+
+ self.assertTrue(hit_inner_except)
+ self.assertTrue(hit_inner_finally)
+ self.assertTrue(hit_finally)
+
+ def test_nested_else(self):
+ hit_else = False
+ hit_finally = False
+ hit_except = False
+ hit_inner_except = False
+ hit_inner_else = False
+
+ try:
+ try:
+ pass
+ except:
+ hit_inner_except = True
+ else:
+ hit_inner_else = True
+
+ raise Exception, 'outer exception'
+ except:
+ hit_except = True
+ else:
+ hit_else = True
+ finally:
+ hit_finally = True
+
+ self.assertFalse(hit_inner_except)
+ self.assertTrue(hit_inner_else)
+ self.assertFalse(hit_else)
+ self.assertTrue(hit_finally)
+ self.assertTrue(hit_except)
+
+def test_main():
+ run_unittest(ExceptionTestCase)
+
+if __name__ == '__main__':
+ test_main()
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
index 48c9674..4be1b4c 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -774,7 +774,7 @@ These are fine:
... try:
... 1//0
... except ZeroDivisionError:
-... yield 666
+... yield 666
... except:
... pass
... finally:
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index 2510a41..b9377ae 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -1137,9 +1137,9 @@ def testPatch1094164 ():
# Check that replacing a child with itself leaves the tree unchanged
elem.replaceChild(e, e)
confirm(e.parentNode is elem, "After replaceChild()")
-
-
-
+
+
+
def testReplaceWholeText():
def setup():
doc = parseString("<doc>a<e/>d</doc>")
diff --git a/Lib/test/test_poll.py b/Lib/test/test_poll.py
index f99c37f..3a48bce 100644
--- a/Lib/test/test_poll.py
+++ b/Lib/test/test_poll.py
@@ -185,7 +185,7 @@ def test_poll3():
if x != 5:
print 'Overflow must have occurred'
print 'Poll test 3 complete'
-
+
test_poll1()
test_poll2()
diff --git a/Lib/test/test_quopri.py b/Lib/test/test_quopri.py
index 50098cb..ed66dfc 100644
--- a/Lib/test/test_quopri.py
+++ b/Lib/test/test_quopri.py
@@ -175,18 +175,18 @@ zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz''')
self.assert_(quopri.decodestring(e, header=True) == p)
def test_scriptencode(self):
- (p, e) = self.STRINGS[-1]
- (cin, cout) = os.popen2("%s -mquopri" % sys.executable)
- cin.write(p)
- cin.close()
- self.assert_(cout.read() == e)
+ (p, e) = self.STRINGS[-1]
+ (cin, cout) = os.popen2("%s -mquopri" % sys.executable)
+ cin.write(p)
+ cin.close()
+ self.assert_(cout.read() == e)
def test_scriptdecode(self):
- (p, e) = self.STRINGS[-1]
- (cin, cout) = os.popen2("%s -mquopri -d" % sys.executable)
- cin.write(e)
- cin.close()
- self.assert_(cout.read() == p)
+ (p, e) = self.STRINGS[-1]
+ (cin, cout) = os.popen2("%s -mquopri -d" % sys.executable)
+ cin.write(e)
+ cin.close()
+ self.assert_(cout.read() == p)
def test_main():
test_support.run_unittest(QuopriTestCase)
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index 0ef91dc..64d8fe8 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -78,7 +78,7 @@ class XMLRPCTestCase(unittest.TestCase):
def test_bug_1164912 (self):
d = xmlrpclib.DateTime()
- ((new_d,), dummy) = xmlrpclib.loads(xmlrpclib.dumps((d,),
+ ((new_d,), dummy) = xmlrpclib.loads(xmlrpclib.dumps((d,),
methodresponse=True))
self.assert_(isinstance(new_d.value, str))
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index e21d182..b589d91 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -96,7 +96,7 @@ def _synthesize(browser, update_tryorder=1):
if sys.platform[:3] == "win":
def _isexecutable(cmd):
cmd = cmd.lower()
- if os.path.isfile(cmd) and (cmd.endswith(".exe") or
+ if os.path.isfile(cmd) and (cmd.endswith(".exe") or
cmd.endswith(".bat")):
return True
for ext in ".exe", ".bat":
@@ -134,7 +134,7 @@ class BaseBrowser(object):
def __init__(self, name=""):
self.name = name
self.basename = name
-
+
def open(self, url, new=0, autoraise=1):
raise NotImplementedError
diff --git a/Lib/xmlcore/etree/ElementInclude.py b/Lib/xmlcore/etree/ElementInclude.py
index 479d754..974cc21 100644
--- a/Lib/xmlcore/etree/ElementInclude.py
+++ b/Lib/xmlcore/etree/ElementInclude.py
@@ -141,4 +141,3 @@ def include(elem, loader=None):
else:
include(e, loader)
i = i + 1
-
diff --git a/Lib/xmlcore/etree/ElementPath.py b/Lib/xmlcore/etree/ElementPath.py
index 4685d12..00dbe9d 100644
--- a/Lib/xmlcore/etree/ElementPath.py
+++ b/Lib/xmlcore/etree/ElementPath.py
@@ -196,4 +196,3 @@ def findtext(element, path, default=None):
def findall(element, path):
return _compile(path).findall(element)
-
diff --git a/Parser/asdl.py b/Parser/asdl.py
index 0db4e3b..5b856dd 100644
--- a/Parser/asdl.py
+++ b/Parser/asdl.py
@@ -142,7 +142,7 @@ class ASDLParser(spark.GenericParser, object):
def p_product(self, (_0, fields, _1)):
" product ::= ( fields ) "
# XXX can't I just construct things in the right order?
- fields.reverse()
+ fields.reverse()
return Product(fields)
def p_sum_0(self, (constructor,)):
@@ -164,7 +164,7 @@ class ASDLParser(spark.GenericParser, object):
def p_constructor_1(self, (id, _0, fields, _1)):
" constructor ::= Id ( fields ) "
# XXX can't I just construct things in the right order?
- fields.reverse()
+ fields.reverse()
return Constructor(id, fields)
def p_fields_0(self, (field,)):
@@ -355,7 +355,7 @@ def check(mod):
v.errors += 1
uses = ", ".join(v.types[t])
print "Undefined type %s, used in %s" % (t, uses)
-
+
return not v.errors
def parse(file):
@@ -380,7 +380,7 @@ if __name__ == "__main__":
else:
testdir = "tests"
files = glob.glob(testdir + "/*.asdl")
-
+
for file in files:
print file
mod = parse(file)
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py
index b1fc77d..766be67 100755
--- a/Parser/asdl_c.py
+++ b/Parser/asdl_c.py
@@ -439,7 +439,7 @@ class FreeVisitor(PickleVisitor):
self.emit("", 0)
self.emit("free(o);", 1)
self.func_end()
-
+
def visitConstructor(self, cons, enum, name):
self.emit("case %s_kind:" % cons.name, 1)
for f in cons.fields:
@@ -487,76 +487,76 @@ class FreeVisitor(PickleVisitor):
else:
ctype = get_c_type(field.type)
self.emit("free_%s((%s)%s);" % (field.type, ctype, value), depth)
-
+
class MarshalUtilVisitor(StaticVisitor):
CODE = '''
#define CHECKSIZE(BUF, OFF, MIN) { \\
- int need = *(OFF) + MIN; \\
- if (need >= PyString_GET_SIZE(*(BUF))) { \\
- int newsize = PyString_GET_SIZE(*(BUF)) * 2; \\
- if (newsize < need) \\
- newsize = need; \\
- if (_PyString_Resize((BUF), newsize) < 0) \\
- return 0; \\
- } \\
-}
-
-static int
+ int need = *(OFF) + MIN; \\
+ if (need >= PyString_GET_SIZE(*(BUF))) { \\
+ int newsize = PyString_GET_SIZE(*(BUF)) * 2; \\
+ if (newsize < need) \\
+ newsize = need; \\
+ if (_PyString_Resize((BUF), newsize) < 0) \\
+ return 0; \\
+ } \\
+}
+
+static int
marshal_write_int(PyObject **buf, int *offset, int x)
{
- char *s;
-
- CHECKSIZE(buf, offset, 4)
- s = PyString_AS_STRING(*buf) + (*offset);
- s[0] = (x & 0xff);
- s[1] = (x >> 8) & 0xff;
- s[2] = (x >> 16) & 0xff;
- s[3] = (x >> 24) & 0xff;
- *offset += 4;
- return 1;
+ char *s;
+
+ CHECKSIZE(buf, offset, 4)
+ s = PyString_AS_STRING(*buf) + (*offset);
+ s[0] = (x & 0xff);
+ s[1] = (x >> 8) & 0xff;
+ s[2] = (x >> 16) & 0xff;
+ s[3] = (x >> 24) & 0xff;
+ *offset += 4;
+ return 1;
}
-static int
+static int
marshal_write_bool(PyObject **buf, int *offset, bool b)
{
- if (b)
- marshal_write_int(buf, offset, 1);
- else
- marshal_write_int(buf, offset, 0);
- return 1;
+ if (b)
+ marshal_write_int(buf, offset, 1);
+ else
+ marshal_write_int(buf, offset, 0);
+ return 1;
}
-static int
+static int
marshal_write_identifier(PyObject **buf, int *offset, identifier id)
{
- int l = PyString_GET_SIZE(id);
- marshal_write_int(buf, offset, l);
- CHECKSIZE(buf, offset, l);
- memcpy(PyString_AS_STRING(*buf) + *offset,
- PyString_AS_STRING(id), l);
- *offset += l;
- return 1;
+ int l = PyString_GET_SIZE(id);
+ marshal_write_int(buf, offset, l);
+ CHECKSIZE(buf, offset, l);
+ memcpy(PyString_AS_STRING(*buf) + *offset,
+ PyString_AS_STRING(id), l);
+ *offset += l;
+ return 1;
}
-static int
+static int
marshal_write_string(PyObject **buf, int *offset, string s)
{
- int len = PyString_GET_SIZE(s);
- marshal_write_int(buf, offset, len);
- CHECKSIZE(buf, offset, len);
- memcpy(PyString_AS_STRING(*buf) + *offset,
- PyString_AS_STRING(s), len);
- *offset += len;
- return 1;
+ int len = PyString_GET_SIZE(s);
+ marshal_write_int(buf, offset, len);
+ CHECKSIZE(buf, offset, len);
+ memcpy(PyString_AS_STRING(*buf) + *offset,
+ PyString_AS_STRING(s), len);
+ *offset += len;
+ return 1;
}
-static int
+static int
marshal_write_object(PyObject **buf, int *offset, object s)
{
- /* XXX */
- return 0;
+ /* XXX */
+ return 0;
}
'''
@@ -575,7 +575,7 @@ class MarshalFunctionVisitor(PickleVisitor):
self.emit("return 1;", 1)
self.emit("}", 0)
self.emit("", 0)
-
+
def visitSum(self, sum, name):
self.func_begin(name, has_sequence(sum.types, False))
simple = is_simple(sum)
@@ -594,7 +594,7 @@ class MarshalFunctionVisitor(PickleVisitor):
for field in prod.fields:
self.visitField(field, name, 1, 1)
self.func_end()
-
+
def visitConstructor(self, cons, enum, name, simple):
if simple:
self.emit("case %s:" % cons.name, 1)
diff --git a/Parser/spark.py b/Parser/spark.py
index 00d9733..2c18623 100644
--- a/Parser/spark.py
+++ b/Parser/spark.py
@@ -1,5 +1,5 @@
# Copyright (c) 1998-2002 John Aycock
-#
+#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
@@ -7,10 +7,10 @@
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
@@ -26,651 +26,651 @@ import sys
import string
def _namelist(instance):
- namelist, namedict, classlist = [], {}, [instance.__class__]
- for c in classlist:
- for b in c.__bases__:
- classlist.append(b)
- for name in c.__dict__.keys():
- if not namedict.has_key(name):
- namelist.append(name)
- namedict[name] = 1
- return namelist
+ namelist, namedict, classlist = [], {}, [instance.__class__]
+ for c in classlist:
+ for b in c.__bases__:
+ classlist.append(b)
+ for name in c.__dict__.keys():
+ if not namedict.has_key(name):
+ namelist.append(name)
+ namedict[name] = 1
+ return namelist
class GenericScanner:
- def __init__(self, flags=0):
- pattern = self.reflect()
- self.re = re.compile(pattern, re.VERBOSE|flags)
-
- self.index2func = {}
- for name, number in self.re.groupindex.items():
- self.index2func[number-1] = getattr(self, 't_' + name)
-
- def makeRE(self, name):
- doc = getattr(self, name).__doc__
- rv = '(?P<%s>%s)' % (name[2:], doc)
- return rv
-
- def reflect(self):
- rv = []
- for name in _namelist(self):
- if name[:2] == 't_' and name != 't_default':
- rv.append(self.makeRE(name))
-
- rv.append(self.makeRE('t_default'))
- return string.join(rv, '|')
-
- def error(self, s, pos):
- print "Lexical error at position %s" % pos
- raise SystemExit
-
- def tokenize(self, s):
- pos = 0
- n = len(s)
- while pos < n:
- m = self.re.match(s, pos)
- if m is None:
- self.error(s, pos)
-
- groups = m.groups()
- for i in range(len(groups)):
- if groups[i] and self.index2func.has_key(i):
- self.index2func[i](groups[i])
- pos = m.end()
-
- def t_default(self, s):
- r'( . | \n )+'
- print "Specification error: unmatched input"
- raise SystemExit
+ def __init__(self, flags=0):
+ pattern = self.reflect()
+ self.re = re.compile(pattern, re.VERBOSE|flags)
+
+ self.index2func = {}
+ for name, number in self.re.groupindex.items():
+ self.index2func[number-1] = getattr(self, 't_' + name)
+
+ def makeRE(self, name):
+ doc = getattr(self, name).__doc__
+ rv = '(?P<%s>%s)' % (name[2:], doc)
+ return rv
+
+ def reflect(self):
+ rv = []
+ for name in _namelist(self):
+ if name[:2] == 't_' and name != 't_default':
+ rv.append(self.makeRE(name))
+
+ rv.append(self.makeRE('t_default'))
+ return string.join(rv, '|')
+
+ def error(self, s, pos):
+ print "Lexical error at position %s" % pos
+ raise SystemExit
+
+ def tokenize(self, s):
+ pos = 0
+ n = len(s)
+ while pos < n:
+ m = self.re.match(s, pos)
+ if m is None:
+ self.error(s, pos)
+
+ groups = m.groups()
+ for i in range(len(groups)):
+ if groups[i] and self.index2func.has_key(i):
+ self.index2func[i](groups[i])
+ pos = m.end()
+
+ def t_default(self, s):
+ r'( . | \n )+'
+ print "Specification error: unmatched input"
+ raise SystemExit
#
# Extracted from GenericParser and made global so that [un]picking works.
#
class _State:
- def __init__(self, stateno, items):
- self.T, self.complete, self.items = [], [], items
- self.stateno = stateno
+ def __init__(self, stateno, items):
+ self.T, self.complete, self.items = [], [], items
+ self.stateno = stateno
class GenericParser:
- #
- # An Earley parser, as per J. Earley, "An Efficient Context-Free
- # Parsing Algorithm", CACM 13(2), pp. 94-102. Also J. C. Earley,
- # "An Efficient Context-Free Parsing Algorithm", Ph.D. thesis,
- # Carnegie-Mellon University, August 1968. New formulation of
- # the parser according to J. Aycock, "Practical Earley Parsing
- # and the SPARK Toolkit", Ph.D. thesis, University of Victoria,
- # 2001, and J. Aycock and R. N. Horspool, "Practical Earley
- # Parsing", unpublished paper, 2001.
- #
-
- def __init__(self, start):
- self.rules = {}
- self.rule2func = {}
- self.rule2name = {}
- self.collectRules()
- self.augment(start)
- self.ruleschanged = 1
-
- _NULLABLE = '\e_'
- _START = 'START'
- _BOF = '|-'
-
- #
- # When pickling, take the time to generate the full state machine;
- # some information is then extraneous, too. Unfortunately we
- # can't save the rule2func map.
- #
- def __getstate__(self):
- if self.ruleschanged:
- #
- # XXX - duplicated from parse()
- #
- self.computeNull()
- self.newrules = {}
- self.new2old = {}
- self.makeNewRules()
- self.ruleschanged = 0
- self.edges, self.cores = {}, {}
- self.states = { 0: self.makeState0() }
- self.makeState(0, self._BOF)
- #
- # XXX - should find a better way to do this..
- #
- changes = 1
- while changes:
- changes = 0
- for k, v in self.edges.items():
- if v is None:
- state, sym = k
- if self.states.has_key(state):
- self.goto(state, sym)
- changes = 1
- rv = self.__dict__.copy()
- for s in self.states.values():
- del s.items
- del rv['rule2func']
- del rv['nullable']
- del rv['cores']
- return rv
-
- def __setstate__(self, D):
- self.rules = {}
- self.rule2func = {}
- self.rule2name = {}
- self.collectRules()
- start = D['rules'][self._START][0][1][1] # Blech.
- self.augment(start)
- D['rule2func'] = self.rule2func
- D['makeSet'] = self.makeSet_fast
- self.__dict__ = D
-
- #
- # A hook for GenericASTBuilder and GenericASTMatcher. Mess
- # thee not with this; nor shall thee toucheth the _preprocess
- # argument to addRule.
- #
- def preprocess(self, rule, func): return rule, func
-
- def addRule(self, doc, func, _preprocess=1):
- fn = func
- rules = string.split(doc)
-
- index = []
- for i in range(len(rules)):
- if rules[i] == '::=':
- index.append(i-1)
- index.append(len(rules))
-
- for i in range(len(index)-1):
- lhs = rules[index[i]]
- rhs = rules[index[i]+2:index[i+1]]
- rule = (lhs, tuple(rhs))
-
- if _preprocess:
- rule, fn = self.preprocess(rule, func)
-
- if self.rules.has_key(lhs):
- self.rules[lhs].append(rule)
- else:
- self.rules[lhs] = [ rule ]
- self.rule2func[rule] = fn
- self.rule2name[rule] = func.__name__[2:]
- self.ruleschanged = 1
-
- def collectRules(self):
- for name in _namelist(self):
- if name[:2] == 'p_':
- func = getattr(self, name)
- doc = func.__doc__
- self.addRule(doc, func)
-
- def augment(self, start):
- rule = '%s ::= %s %s' % (self._START, self._BOF, start)
- self.addRule(rule, lambda args: args[1], 0)
-
- def computeNull(self):
- self.nullable = {}
- tbd = []
-
- for rulelist in self.rules.values():
- lhs = rulelist[0][0]
- self.nullable[lhs] = 0
- for rule in rulelist:
- rhs = rule[1]
- if len(rhs) == 0:
- self.nullable[lhs] = 1
- continue
- #
- # We only need to consider rules which
- # consist entirely of nonterminal symbols.
- # This should be a savings on typical
- # grammars.
- #
- for sym in rhs:
- if not self.rules.has_key(sym):
- break
- else:
- tbd.append(rule)
- changes = 1
- while changes:
- changes = 0
- for lhs, rhs in tbd:
- if self.nullable[lhs]:
- continue
- for sym in rhs:
- if not self.nullable[sym]:
- break
- else:
- self.nullable[lhs] = 1
- changes = 1
-
- def makeState0(self):
- s0 = _State(0, [])
- for rule in self.newrules[self._START]:
- s0.items.append((rule, 0))
- return s0
-
- def finalState(self, tokens):
- #
- # Yuck.
- #
- if len(self.newrules[self._START]) == 2 and len(tokens) == 0:
- return 1
- start = self.rules[self._START][0][1][1]
- return self.goto(1, start)
-
- def makeNewRules(self):
- worklist = []
- for rulelist in self.rules.values():
- for rule in rulelist:
- worklist.append((rule, 0, 1, rule))
-
- for rule, i, candidate, oldrule in worklist:
- lhs, rhs = rule
- n = len(rhs)
- while i < n:
- sym = rhs[i]
- if not self.rules.has_key(sym) or \
- not self.nullable[sym]:
- candidate = 0
- i = i + 1
- continue
-
- newrhs = list(rhs)
- newrhs[i] = self._NULLABLE+sym
- newrule = (lhs, tuple(newrhs))
- worklist.append((newrule, i+1,
- candidate, oldrule))
- candidate = 0
- i = i + 1
- else:
- if candidate:
- lhs = self._NULLABLE+lhs
- rule = (lhs, rhs)
- if self.newrules.has_key(lhs):
- self.newrules[lhs].append(rule)
- else:
- self.newrules[lhs] = [ rule ]
- self.new2old[rule] = oldrule
-
- def typestring(self, token):
- return None
-
- def error(self, token):
- print "Syntax error at or near `%s' token" % token
- raise SystemExit
-
- def parse(self, tokens):
- sets = [ [(1,0), (2,0)] ]
- self.links = {}
-
- if self.ruleschanged:
- self.computeNull()
- self.newrules = {}
- self.new2old = {}
- self.makeNewRules()
- self.ruleschanged = 0
- self.edges, self.cores = {}, {}
- self.states = { 0: self.makeState0() }
- self.makeState(0, self._BOF)
-
- for i in xrange(len(tokens)):
- sets.append([])
-
- if sets[i] == []:
- break
- self.makeSet(tokens[i], sets, i)
- else:
- sets.append([])
- self.makeSet(None, sets, len(tokens))
-
- #_dump(tokens, sets, self.states)
-
- finalitem = (self.finalState(tokens), 0)
- if finalitem not in sets[-2]:
- if len(tokens) > 0:
- self.error(tokens[i-1])
- else:
- self.error(None)
-
- return self.buildTree(self._START, finalitem,
- tokens, len(sets)-2)
-
- def isnullable(self, sym):
- #
- # For symbols in G_e only. If we weren't supporting 1.5,
- # could just use sym.startswith().
- #
- return self._NULLABLE == sym[0:len(self._NULLABLE)]
-
- def skip(self, (lhs, rhs), pos=0):
- n = len(rhs)
- while pos < n:
- if not self.isnullable(rhs[pos]):
- break
- pos = pos + 1
- return pos
-
- def makeState(self, state, sym):
- assert sym is not None
- #
- # Compute \epsilon-kernel state's core and see if
- # it exists already.
- #
- kitems = []
- for rule, pos in self.states[state].items:
- lhs, rhs = rule
- if rhs[pos:pos+1] == (sym,):
- kitems.append((rule, self.skip(rule, pos+1)))
- core = kitems
-
- core.sort()
- tcore = tuple(core)
- if self.cores.has_key(tcore):
- return self.cores[tcore]
- #
- # Nope, doesn't exist. Compute it and the associated
- # \epsilon-nonkernel state together; we'll need it right away.
- #
- k = self.cores[tcore] = len(self.states)
- K, NK = _State(k, kitems), _State(k+1, [])
- self.states[k] = K
- predicted = {}
-
- edges = self.edges
- rules = self.newrules
- for X in K, NK:
- worklist = X.items
- for item in worklist:
- rule, pos = item
- lhs, rhs = rule
- if pos == len(rhs):
- X.complete.append(rule)
- continue
-
- nextSym = rhs[pos]
- key = (X.stateno, nextSym)
- if not rules.has_key(nextSym):
- if not edges.has_key(key):
- edges[key] = None
- X.T.append(nextSym)
- else:
- edges[key] = None
- if not predicted.has_key(nextSym):
- predicted[nextSym] = 1
- for prule in rules[nextSym]:
- ppos = self.skip(prule)
- new = (prule, ppos)
- NK.items.append(new)
- #
- # Problem: we know K needs generating, but we
- # don't yet know about NK. Can't commit anything
- # regarding NK to self.edges until we're sure. Should
- # we delay committing on both K and NK to avoid this
- # hacky code? This creates other problems..
- #
- if X is K:
- edges = {}
-
- if NK.items == []:
- return k
-
- #
- # Check for \epsilon-nonkernel's core. Unfortunately we
- # need to know the entire set of predicted nonterminals
- # to do this without accidentally duplicating states.
- #
- core = predicted.keys()
- core.sort()
- tcore = tuple(core)
- if self.cores.has_key(tcore):
- self.edges[(k, None)] = self.cores[tcore]
- return k
-
- nk = self.cores[tcore] = self.edges[(k, None)] = NK.stateno
- self.edges.update(edges)
- self.states[nk] = NK
- return k
-
- def goto(self, state, sym):
- key = (state, sym)
- if not self.edges.has_key(key):
- #
- # No transitions from state on sym.
- #
- return None
-
- rv = self.edges[key]
- if rv is None:
- #
- # Target state isn't generated yet. Remedy this.
- #
- rv = self.makeState(state, sym)
- self.edges[key] = rv
- return rv
-
- def gotoT(self, state, t):
- return [self.goto(state, t)]
-
- def gotoST(self, state, st):
- rv = []
- for t in self.states[state].T:
- if st == t:
- rv.append(self.goto(state, t))
- return rv
-
- def add(self, set, item, i=None, predecessor=None, causal=None):
- if predecessor is None:
- if item not in set:
- set.append(item)
- else:
- key = (item, i)
- if item not in set:
- self.links[key] = []
- set.append(item)
- self.links[key].append((predecessor, causal))
-
- def makeSet(self, token, sets, i):
- cur, next = sets[i], sets[i+1]
-
- ttype = token is not None and self.typestring(token) or None
- if ttype is not None:
- fn, arg = self.gotoT, ttype
- else:
- fn, arg = self.gotoST, token
-
- for item in cur:
- ptr = (item, i)
- state, parent = item
- add = fn(state, arg)
- for k in add:
- if k is not None:
- self.add(next, (k, parent), i+1, ptr)
- nk = self.goto(k, None)
- if nk is not None:
- self.add(next, (nk, i+1))
-
- if parent == i:
- continue
-
- for rule in self.states[state].complete:
- lhs, rhs = rule
- for pitem in sets[parent]:
- pstate, pparent = pitem
- k = self.goto(pstate, lhs)
- if k is not None:
- why = (item, i, rule)
- pptr = (pitem, parent)
- self.add(cur, (k, pparent),
- i, pptr, why)
- nk = self.goto(k, None)
- if nk is not None:
- self.add(cur, (nk, i))
-
- def makeSet_fast(self, token, sets, i):
- #
- # Call *only* when the entire state machine has been built!
- # It relies on self.edges being filled in completely, and
- # then duplicates and inlines code to boost speed at the
- # cost of extreme ugliness.
- #
- cur, next = sets[i], sets[i+1]
- ttype = token is not None and self.typestring(token) or None
-
- for item in cur:
- ptr = (item, i)
- state, parent = item
- if ttype is not None:
- k = self.edges.get((state, ttype), None)
- if k is not None:
- #self.add(next, (k, parent), i+1, ptr)
- #INLINED --v
- new = (k, parent)
- key = (new, i+1)
- if new not in next:
- self.links[key] = []
- next.append(new)
- self.links[key].append((ptr, None))
- #INLINED --^
- #nk = self.goto(k, None)
- nk = self.edges.get((k, None), None)
- if nk is not None:
- #self.add(next, (nk, i+1))
- #INLINED --v
- new = (nk, i+1)
- if new not in next:
- next.append(new)
- #INLINED --^
- else:
- add = self.gotoST(state, token)
- for k in add:
- if k is not None:
- self.add(next, (k, parent), i+1, ptr)
- #nk = self.goto(k, None)
- nk = self.edges.get((k, None), None)
- if nk is not None:
- self.add(next, (nk, i+1))
-
- if parent == i:
- continue
-
- for rule in self.states[state].complete:
- lhs, rhs = rule
- for pitem in sets[parent]:
- pstate, pparent = pitem
- #k = self.goto(pstate, lhs)
- k = self.edges.get((pstate, lhs), None)
- if k is not None:
- why = (item, i, rule)
- pptr = (pitem, parent)
- #self.add(cur, (k, pparent),
- # i, pptr, why)
- #INLINED --v
- new = (k, pparent)
- key = (new, i)
- if new not in cur:
- self.links[key] = []
- cur.append(new)
- self.links[key].append((pptr, why))
- #INLINED --^
- #nk = self.goto(k, None)
- nk = self.edges.get((k, None), None)
- if nk is not None:
- #self.add(cur, (nk, i))
- #INLINED --v
- new = (nk, i)
- if new not in cur:
- cur.append(new)
- #INLINED --^
-
- def predecessor(self, key, causal):
- for p, c in self.links[key]:
- if c == causal:
- return p
- assert 0
-
- def causal(self, key):
- links = self.links[key]
- if len(links) == 1:
- return links[0][1]
- choices = []
- rule2cause = {}
- for p, c in links:
- rule = c[2]
- choices.append(rule)
- rule2cause[rule] = c
- return rule2cause[self.ambiguity(choices)]
-
- def deriveEpsilon(self, nt):
- if len(self.newrules[nt]) > 1:
- rule = self.ambiguity(self.newrules[nt])
- else:
- rule = self.newrules[nt][0]
- #print rule
-
- rhs = rule[1]
- attr = [None] * len(rhs)
-
- for i in range(len(rhs)-1, -1, -1):
- attr[i] = self.deriveEpsilon(rhs[i])
- return self.rule2func[self.new2old[rule]](attr)
-
- def buildTree(self, nt, item, tokens, k):
- state, parent = item
-
- choices = []
- for rule in self.states[state].complete:
- if rule[0] == nt:
- choices.append(rule)
- rule = choices[0]
- if len(choices) > 1:
- rule = self.ambiguity(choices)
- #print rule
-
- rhs = rule[1]
- attr = [None] * len(rhs)
-
- for i in range(len(rhs)-1, -1, -1):
- sym = rhs[i]
- if not self.newrules.has_key(sym):
- if sym != self._BOF:
- attr[i] = tokens[k-1]
- key = (item, k)
- item, k = self.predecessor(key, None)
- #elif self.isnullable(sym):
- elif self._NULLABLE == sym[0:len(self._NULLABLE)]:
- attr[i] = self.deriveEpsilon(sym)
- else:
- key = (item, k)
- why = self.causal(key)
- attr[i] = self.buildTree(sym, why[0],
- tokens, why[1])
- item, k = self.predecessor(key, why)
- return self.rule2func[self.new2old[rule]](attr)
-
- def ambiguity(self, rules):
- #
- # XXX - problem here and in collectRules() if the same rule
- # appears in >1 method. Also undefined results if rules
- # causing the ambiguity appear in the same method.
- #
- sortlist = []
- name2index = {}
- for i in range(len(rules)):
- lhs, rhs = rule = rules[i]
- name = self.rule2name[self.new2old[rule]]
- sortlist.append((len(rhs), name))
- name2index[name] = i
- sortlist.sort()
- list = map(lambda (a,b): b, sortlist)
- return rules[name2index[self.resolve(list)]]
-
- def resolve(self, list):
- #
- # Resolve ambiguity in favor of the shortest RHS.
- # Since we walk the tree from the top down, this
- # should effectively resolve in favor of a "shift".
- #
- return list[0]
+ #
+ # An Earley parser, as per J. Earley, "An Efficient Context-Free
+ # Parsing Algorithm", CACM 13(2), pp. 94-102. Also J. C. Earley,
+ # "An Efficient Context-Free Parsing Algorithm", Ph.D. thesis,
+ # Carnegie-Mellon University, August 1968. New formulation of
+ # the parser according to J. Aycock, "Practical Earley Parsing
+ # and the SPARK Toolkit", Ph.D. thesis, University of Victoria,
+ # 2001, and J. Aycock and R. N. Horspool, "Practical Earley
+ # Parsing", unpublished paper, 2001.
+ #
+
+ def __init__(self, start):
+ self.rules = {}
+ self.rule2func = {}
+ self.rule2name = {}
+ self.collectRules()
+ self.augment(start)
+ self.ruleschanged = 1
+
+ _NULLABLE = '\e_'
+ _START = 'START'
+ _BOF = '|-'
+
+ #
+ # When pickling, take the time to generate the full state machine;
+ # some information is then extraneous, too. Unfortunately we
+ # can't save the rule2func map.
+ #
+ def __getstate__(self):
+ if self.ruleschanged:
+ #
+ # XXX - duplicated from parse()
+ #
+ self.computeNull()
+ self.newrules = {}
+ self.new2old = {}
+ self.makeNewRules()
+ self.ruleschanged = 0
+ self.edges, self.cores = {}, {}
+ self.states = { 0: self.makeState0() }
+ self.makeState(0, self._BOF)
+ #
+ # XXX - should find a better way to do this..
+ #
+ changes = 1
+ while changes:
+ changes = 0
+ for k, v in self.edges.items():
+ if v is None:
+ state, sym = k
+ if self.states.has_key(state):
+ self.goto(state, sym)
+ changes = 1
+ rv = self.__dict__.copy()
+ for s in self.states.values():
+ del s.items
+ del rv['rule2func']
+ del rv['nullable']
+ del rv['cores']
+ return rv
+
+ def __setstate__(self, D):
+ self.rules = {}
+ self.rule2func = {}
+ self.rule2name = {}
+ self.collectRules()
+ start = D['rules'][self._START][0][1][1] # Blech.
+ self.augment(start)
+ D['rule2func'] = self.rule2func
+ D['makeSet'] = self.makeSet_fast
+ self.__dict__ = D
+
+ #
+ # A hook for GenericASTBuilder and GenericASTMatcher. Mess
+ # thee not with this; nor shall thee toucheth the _preprocess
+ # argument to addRule.
+ #
+ def preprocess(self, rule, func): return rule, func
+
+ def addRule(self, doc, func, _preprocess=1):
+ fn = func
+ rules = string.split(doc)
+
+ index = []
+ for i in range(len(rules)):
+ if rules[i] == '::=':
+ index.append(i-1)
+ index.append(len(rules))
+
+ for i in range(len(index)-1):
+ lhs = rules[index[i]]
+ rhs = rules[index[i]+2:index[i+1]]
+ rule = (lhs, tuple(rhs))
+
+ if _preprocess:
+ rule, fn = self.preprocess(rule, func)
+
+ if self.rules.has_key(lhs):
+ self.rules[lhs].append(rule)
+ else:
+ self.rules[lhs] = [ rule ]
+ self.rule2func[rule] = fn
+ self.rule2name[rule] = func.__name__[2:]
+ self.ruleschanged = 1
+
+ def collectRules(self):
+ for name in _namelist(self):
+ if name[:2] == 'p_':
+ func = getattr(self, name)
+ doc = func.__doc__
+ self.addRule(doc, func)
+
+ def augment(self, start):
+ rule = '%s ::= %s %s' % (self._START, self._BOF, start)
+ self.addRule(rule, lambda args: args[1], 0)
+
+ def computeNull(self):
+ self.nullable = {}
+ tbd = []
+
+ for rulelist in self.rules.values():
+ lhs = rulelist[0][0]
+ self.nullable[lhs] = 0
+ for rule in rulelist:
+ rhs = rule[1]
+ if len(rhs) == 0:
+ self.nullable[lhs] = 1
+ continue
+ #
+ # We only need to consider rules which
+ # consist entirely of nonterminal symbols.
+ # This should be a savings on typical
+ # grammars.
+ #
+ for sym in rhs:
+ if not self.rules.has_key(sym):
+ break
+ else:
+ tbd.append(rule)
+ changes = 1
+ while changes:
+ changes = 0
+ for lhs, rhs in tbd:
+ if self.nullable[lhs]:
+ continue
+ for sym in rhs:
+ if not self.nullable[sym]:
+ break
+ else:
+ self.nullable[lhs] = 1
+ changes = 1
+
+ def makeState0(self):
+ s0 = _State(0, [])
+ for rule in self.newrules[self._START]:
+ s0.items.append((rule, 0))
+ return s0
+
+ def finalState(self, tokens):
+ #
+ # Yuck.
+ #
+ if len(self.newrules[self._START]) == 2 and len(tokens) == 0:
+ return 1
+ start = self.rules[self._START][0][1][1]
+ return self.goto(1, start)
+
+ def makeNewRules(self):
+ worklist = []
+ for rulelist in self.rules.values():
+ for rule in rulelist:
+ worklist.append((rule, 0, 1, rule))
+
+ for rule, i, candidate, oldrule in worklist:
+ lhs, rhs = rule
+ n = len(rhs)
+ while i < n:
+ sym = rhs[i]
+ if not self.rules.has_key(sym) or \
+ not self.nullable[sym]:
+ candidate = 0
+ i = i + 1
+ continue
+
+ newrhs = list(rhs)
+ newrhs[i] = self._NULLABLE+sym
+ newrule = (lhs, tuple(newrhs))
+ worklist.append((newrule, i+1,
+ candidate, oldrule))
+ candidate = 0
+ i = i + 1
+ else:
+ if candidate:
+ lhs = self._NULLABLE+lhs
+ rule = (lhs, rhs)
+ if self.newrules.has_key(lhs):
+ self.newrules[lhs].append(rule)
+ else:
+ self.newrules[lhs] = [ rule ]
+ self.new2old[rule] = oldrule
+
+ def typestring(self, token):
+ return None
+
+ def error(self, token):
+ print "Syntax error at or near `%s' token" % token
+ raise SystemExit
+
+ def parse(self, tokens):
+ sets = [ [(1,0), (2,0)] ]
+ self.links = {}
+
+ if self.ruleschanged:
+ self.computeNull()
+ self.newrules = {}
+ self.new2old = {}
+ self.makeNewRules()
+ self.ruleschanged = 0
+ self.edges, self.cores = {}, {}
+ self.states = { 0: self.makeState0() }
+ self.makeState(0, self._BOF)
+
+ for i in xrange(len(tokens)):
+ sets.append([])
+
+ if sets[i] == []:
+ break
+ self.makeSet(tokens[i], sets, i)
+ else:
+ sets.append([])
+ self.makeSet(None, sets, len(tokens))
+
+ #_dump(tokens, sets, self.states)
+
+ finalitem = (self.finalState(tokens), 0)
+ if finalitem not in sets[-2]:
+ if len(tokens) > 0:
+ self.error(tokens[i-1])
+ else:
+ self.error(None)
+
+ return self.buildTree(self._START, finalitem,
+ tokens, len(sets)-2)
+
+ def isnullable(self, sym):
+ #
+ # For symbols in G_e only. If we weren't supporting 1.5,
+ # could just use sym.startswith().
+ #
+ return self._NULLABLE == sym[0:len(self._NULLABLE)]
+
+ def skip(self, (lhs, rhs), pos=0):
+ n = len(rhs)
+ while pos < n:
+ if not self.isnullable(rhs[pos]):
+ break
+ pos = pos + 1
+ return pos
+
+ def makeState(self, state, sym):
+ assert sym is not None
+ #
+ # Compute \epsilon-kernel state's core and see if
+ # it exists already.
+ #
+ kitems = []
+ for rule, pos in self.states[state].items:
+ lhs, rhs = rule
+ if rhs[pos:pos+1] == (sym,):
+ kitems.append((rule, self.skip(rule, pos+1)))
+ core = kitems
+
+ core.sort()
+ tcore = tuple(core)
+ if self.cores.has_key(tcore):
+ return self.cores[tcore]
+ #
+ # Nope, doesn't exist. Compute it and the associated
+ # \epsilon-nonkernel state together; we'll need it right away.
+ #
+ k = self.cores[tcore] = len(self.states)
+ K, NK = _State(k, kitems), _State(k+1, [])
+ self.states[k] = K
+ predicted = {}
+
+ edges = self.edges
+ rules = self.newrules
+ for X in K, NK:
+ worklist = X.items
+ for item in worklist:
+ rule, pos = item
+ lhs, rhs = rule
+ if pos == len(rhs):
+ X.complete.append(rule)
+ continue
+
+ nextSym = rhs[pos]
+ key = (X.stateno, nextSym)
+ if not rules.has_key(nextSym):
+ if not edges.has_key(key):
+ edges[key] = None
+ X.T.append(nextSym)
+ else:
+ edges[key] = None
+ if not predicted.has_key(nextSym):
+ predicted[nextSym] = 1
+ for prule in rules[nextSym]:
+ ppos = self.skip(prule)
+ new = (prule, ppos)
+ NK.items.append(new)
+ #
+ # Problem: we know K needs generating, but we
+ # don't yet know about NK. Can't commit anything
+ # regarding NK to self.edges until we're sure. Should
+ # we delay committing on both K and NK to avoid this
+ # hacky code? This creates other problems..
+ #
+ if X is K:
+ edges = {}
+
+ if NK.items == []:
+ return k
+
+ #
+ # Check for \epsilon-nonkernel's core. Unfortunately we
+ # need to know the entire set of predicted nonterminals
+ # to do this without accidentally duplicating states.
+ #
+ core = predicted.keys()
+ core.sort()
+ tcore = tuple(core)
+ if self.cores.has_key(tcore):
+ self.edges[(k, None)] = self.cores[tcore]
+ return k
+
+ nk = self.cores[tcore] = self.edges[(k, None)] = NK.stateno
+ self.edges.update(edges)
+ self.states[nk] = NK
+ return k
+
+ def goto(self, state, sym):
+ key = (state, sym)
+ if not self.edges.has_key(key):
+ #
+ # No transitions from state on sym.
+ #
+ return None
+
+ rv = self.edges[key]
+ if rv is None:
+ #
+ # Target state isn't generated yet. Remedy this.
+ #
+ rv = self.makeState(state, sym)
+ self.edges[key] = rv
+ return rv
+
+ def gotoT(self, state, t):
+ return [self.goto(state, t)]
+
+ def gotoST(self, state, st):
+ rv = []
+ for t in self.states[state].T:
+ if st == t:
+ rv.append(self.goto(state, t))
+ return rv
+
+ def add(self, set, item, i=None, predecessor=None, causal=None):
+ if predecessor is None:
+ if item not in set:
+ set.append(item)
+ else:
+ key = (item, i)
+ if item not in set:
+ self.links[key] = []
+ set.append(item)
+ self.links[key].append((predecessor, causal))
+
+ def makeSet(self, token, sets, i):
+ cur, next = sets[i], sets[i+1]
+
+ ttype = token is not None and self.typestring(token) or None
+ if ttype is not None:
+ fn, arg = self.gotoT, ttype
+ else:
+ fn, arg = self.gotoST, token
+
+ for item in cur:
+ ptr = (item, i)
+ state, parent = item
+ add = fn(state, arg)
+ for k in add:
+ if k is not None:
+ self.add(next, (k, parent), i+1, ptr)
+ nk = self.goto(k, None)
+ if nk is not None:
+ self.add(next, (nk, i+1))
+
+ if parent == i:
+ continue
+
+ for rule in self.states[state].complete:
+ lhs, rhs = rule
+ for pitem in sets[parent]:
+ pstate, pparent = pitem
+ k = self.goto(pstate, lhs)
+ if k is not None:
+ why = (item, i, rule)
+ pptr = (pitem, parent)
+ self.add(cur, (k, pparent),
+ i, pptr, why)
+ nk = self.goto(k, None)
+ if nk is not None:
+ self.add(cur, (nk, i))
+
+ def makeSet_fast(self, token, sets, i):
+ #
+ # Call *only* when the entire state machine has been built!
+ # It relies on self.edges being filled in completely, and
+ # then duplicates and inlines code to boost speed at the
+ # cost of extreme ugliness.
+ #
+ cur, next = sets[i], sets[i+1]
+ ttype = token is not None and self.typestring(token) or None
+
+ for item in cur:
+ ptr = (item, i)
+ state, parent = item
+ if ttype is not None:
+ k = self.edges.get((state, ttype), None)
+ if k is not None:
+ #self.add(next, (k, parent), i+1, ptr)
+ #INLINED --v
+ new = (k, parent)
+ key = (new, i+1)
+ if new not in next:
+ self.links[key] = []
+ next.append(new)
+ self.links[key].append((ptr, None))
+ #INLINED --^
+ #nk = self.goto(k, None)
+ nk = self.edges.get((k, None), None)
+ if nk is not None:
+ #self.add(next, (nk, i+1))
+ #INLINED --v
+ new = (nk, i+1)
+ if new not in next:
+ next.append(new)
+ #INLINED --^
+ else:
+ add = self.gotoST(state, token)
+ for k in add:
+ if k is not None:
+ self.add(next, (k, parent), i+1, ptr)
+ #nk = self.goto(k, None)
+ nk = self.edges.get((k, None), None)
+ if nk is not None:
+ self.add(next, (nk, i+1))
+
+ if parent == i:
+ continue
+
+ for rule in self.states[state].complete:
+ lhs, rhs = rule
+ for pitem in sets[parent]:
+ pstate, pparent = pitem
+ #k = self.goto(pstate, lhs)
+ k = self.edges.get((pstate, lhs), None)
+ if k is not None:
+ why = (item, i, rule)
+ pptr = (pitem, parent)
+ #self.add(cur, (k, pparent),
+ # i, pptr, why)
+ #INLINED --v
+ new = (k, pparent)
+ key = (new, i)
+ if new not in cur:
+ self.links[key] = []
+ cur.append(new)
+ self.links[key].append((pptr, why))
+ #INLINED --^
+ #nk = self.goto(k, None)
+ nk = self.edges.get((k, None), None)
+ if nk is not None:
+ #self.add(cur, (nk, i))
+ #INLINED --v
+ new = (nk, i)
+ if new not in cur:
+ cur.append(new)
+ #INLINED --^
+
+ def predecessor(self, key, causal):
+ for p, c in self.links[key]:
+ if c == causal:
+ return p
+ assert 0
+
+ def causal(self, key):
+ links = self.links[key]
+ if len(links) == 1:
+ return links[0][1]
+ choices = []
+ rule2cause = {}
+ for p, c in links:
+ rule = c[2]
+ choices.append(rule)
+ rule2cause[rule] = c
+ return rule2cause[self.ambiguity(choices)]
+
+ def deriveEpsilon(self, nt):
+ if len(self.newrules[nt]) > 1:
+ rule = self.ambiguity(self.newrules[nt])
+ else:
+ rule = self.newrules[nt][0]
+ #print rule
+
+ rhs = rule[1]
+ attr = [None] * len(rhs)
+
+ for i in range(len(rhs)-1, -1, -1):
+ attr[i] = self.deriveEpsilon(rhs[i])
+ return self.rule2func[self.new2old[rule]](attr)
+
+ def buildTree(self, nt, item, tokens, k):
+ state, parent = item
+
+ choices = []
+ for rule in self.states[state].complete:
+ if rule[0] == nt:
+ choices.append(rule)
+ rule = choices[0]
+ if len(choices) > 1:
+ rule = self.ambiguity(choices)
+ #print rule
+
+ rhs = rule[1]
+ attr = [None] * len(rhs)
+
+ for i in range(len(rhs)-1, -1, -1):
+ sym = rhs[i]
+ if not self.newrules.has_key(sym):
+ if sym != self._BOF:
+ attr[i] = tokens[k-1]
+ key = (item, k)
+ item, k = self.predecessor(key, None)
+ #elif self.isnullable(sym):
+ elif self._NULLABLE == sym[0:len(self._NULLABLE)]:
+ attr[i] = self.deriveEpsilon(sym)
+ else:
+ key = (item, k)
+ why = self.causal(key)
+ attr[i] = self.buildTree(sym, why[0],
+ tokens, why[1])
+ item, k = self.predecessor(key, why)
+ return self.rule2func[self.new2old[rule]](attr)
+
+ def ambiguity(self, rules):
+ #
+ # XXX - problem here and in collectRules() if the same rule
+ # appears in >1 method. Also undefined results if rules
+ # causing the ambiguity appear in the same method.
+ #
+ sortlist = []
+ name2index = {}
+ for i in range(len(rules)):
+ lhs, rhs = rule = rules[i]
+ name = self.rule2name[self.new2old[rule]]
+ sortlist.append((len(rhs), name))
+ name2index[name] = i
+ sortlist.sort()
+ list = map(lambda (a,b): b, sortlist)
+ return rules[name2index[self.resolve(list)]]
+
+ def resolve(self, list):
+ #
+ # Resolve ambiguity in favor of the shortest RHS.
+ # Since we walk the tree from the top down, this
+ # should effectively resolve in favor of a "shift".
+ #
+ return list[0]
#
# GenericASTBuilder automagically constructs a concrete/abstract syntax tree
@@ -681,32 +681,32 @@ class GenericParser:
#
class GenericASTBuilder(GenericParser):
- def __init__(self, AST, start):
- GenericParser.__init__(self, start)
- self.AST = AST
-
- def preprocess(self, rule, func):
- rebind = lambda lhs, self=self: \
- lambda args, lhs=lhs, self=self: \
- self.buildASTNode(args, lhs)
- lhs, rhs = rule
- return rule, rebind(lhs)
-
- def buildASTNode(self, args, lhs):
- children = []
- for arg in args:
- if isinstance(arg, self.AST):
- children.append(arg)
- else:
- children.append(self.terminal(arg))
- return self.nonterminal(lhs, children)
-
- def terminal(self, token): return token
-
- def nonterminal(self, type, args):
- rv = self.AST(type)
- rv[:len(args)] = args
- return rv
+ def __init__(self, AST, start):
+ GenericParser.__init__(self, start)
+ self.AST = AST
+
+ def preprocess(self, rule, func):
+ rebind = lambda lhs, self=self: \
+ lambda args, lhs=lhs, self=self: \
+ self.buildASTNode(args, lhs)
+ lhs, rhs = rule
+ return rule, rebind(lhs)
+
+ def buildASTNode(self, args, lhs):
+ children = []
+ for arg in args:
+ if isinstance(arg, self.AST):
+ children.append(arg)
+ else:
+ children.append(self.terminal(arg))
+ return self.nonterminal(lhs, children)
+
+ def terminal(self, token): return token
+
+ def nonterminal(self, type, args):
+ rv = self.AST(type)
+ rv[:len(args)] = args
+ return rv
#
# GenericASTTraversal is a Visitor pattern according to Design Patterns. For
@@ -719,57 +719,57 @@ class GenericASTBuilder(GenericParser):
#
class GenericASTTraversalPruningException:
- pass
+ pass
class GenericASTTraversal:
- def __init__(self, ast):
- self.ast = ast
+ def __init__(self, ast):
+ self.ast = ast
- def typestring(self, node):
- return node.type
+ def typestring(self, node):
+ return node.type
- def prune(self):
- raise GenericASTTraversalPruningException
+ def prune(self):
+ raise GenericASTTraversalPruningException
- def preorder(self, node=None):
- if node is None:
- node = self.ast
+ def preorder(self, node=None):
+ if node is None:
+ node = self.ast
- try:
- name = 'n_' + self.typestring(node)
- if hasattr(self, name):
- func = getattr(self, name)
- func(node)
- else:
- self.default(node)
- except GenericASTTraversalPruningException:
- return
+ try:
+ name = 'n_' + self.typestring(node)
+ if hasattr(self, name):
+ func = getattr(self, name)
+ func(node)
+ else:
+ self.default(node)
+ except GenericASTTraversalPruningException:
+ return
- for kid in node:
- self.preorder(kid)
+ for kid in node:
+ self.preorder(kid)
- name = name + '_exit'
- if hasattr(self, name):
- func = getattr(self, name)
- func(node)
+ name = name + '_exit'
+ if hasattr(self, name):
+ func = getattr(self, name)
+ func(node)
- def postorder(self, node=None):
- if node is None:
- node = self.ast
+ def postorder(self, node=None):
+ if node is None:
+ node = self.ast
- for kid in node:
- self.postorder(kid)
+ for kid in node:
+ self.postorder(kid)
- name = 'n_' + self.typestring(node)
- if hasattr(self, name):
- func = getattr(self, name)
- func(node)
- else:
- self.default(node)
+ name = 'n_' + self.typestring(node)
+ if hasattr(self, name):
+ func = getattr(self, name)
+ func(node)
+ else:
+ self.default(node)
- def default(self, node):
- pass
+ def default(self, node):
+ pass
#
# GenericASTMatcher. AST nodes must have "__getitem__" and "__cmp__"
@@ -779,62 +779,62 @@ class GenericASTTraversal:
#
class GenericASTMatcher(GenericParser):
- def __init__(self, start, ast):
- GenericParser.__init__(self, start)
- self.ast = ast
-
- def preprocess(self, rule, func):
- rebind = lambda func, self=self: \
- lambda args, func=func, self=self: \
- self.foundMatch(args, func)
- lhs, rhs = rule
- rhslist = list(rhs)
- rhslist.reverse()
-
- return (lhs, tuple(rhslist)), rebind(func)
-
- def foundMatch(self, args, func):
- func(args[-1])
- return args[-1]
-
- def match_r(self, node):
- self.input.insert(0, node)
- children = 0
-
- for child in node:
- if children == 0:
- self.input.insert(0, '(')
- children = children + 1
- self.match_r(child)
-
- if children > 0:
- self.input.insert(0, ')')
-
- def match(self, ast=None):
- if ast is None:
- ast = self.ast
- self.input = []
-
- self.match_r(ast)
- self.parse(self.input)
-
- def resolve(self, list):
- #
- # Resolve ambiguity in favor of the longest RHS.
- #
- return list[-1]
+ def __init__(self, start, ast):
+ GenericParser.__init__(self, start)
+ self.ast = ast
+
+ def preprocess(self, rule, func):
+ rebind = lambda func, self=self: \
+ lambda args, func=func, self=self: \
+ self.foundMatch(args, func)
+ lhs, rhs = rule
+ rhslist = list(rhs)
+ rhslist.reverse()
+
+ return (lhs, tuple(rhslist)), rebind(func)
+
+ def foundMatch(self, args, func):
+ func(args[-1])
+ return args[-1]
+
+ def match_r(self, node):
+ self.input.insert(0, node)
+ children = 0
+
+ for child in node:
+ if children == 0:
+ self.input.insert(0, '(')
+ children = children + 1
+ self.match_r(child)
+
+ if children > 0:
+ self.input.insert(0, ')')
+
+ def match(self, ast=None):
+ if ast is None:
+ ast = self.ast
+ self.input = []
+
+ self.match_r(ast)
+ self.parse(self.input)
+
+ def resolve(self, list):
+ #
+ # Resolve ambiguity in favor of the longest RHS.
+ #
+ return list[-1]
def _dump(tokens, sets, states):
- for i in range(len(sets)):
- print 'set', i
- for item in sets[i]:
- print '\t', item
- for (lhs, rhs), pos in states[item[0]].items:
- print '\t\t', lhs, '::=',
- print string.join(rhs[:pos]),
- print '.',
- print string.join(rhs[pos:])
- if i < len(tokens):
- print
- print 'token', str(tokens[i])
- print
+ for i in range(len(sets)):
+ print 'set', i
+ for item in sets[i]:
+ print '\t', item
+ for (lhs, rhs), pos in states[item[0]].items:
+ print '\t\t', lhs, '::=',
+ print string.join(rhs[:pos]),
+ print '.',
+ print string.join(rhs[pos:])
+ if i < len(tokens):
+ print
+ print 'token', str(tokens[i])
+ print
diff --git a/Tools/bgen/bgen/bgenGenerator.py b/Tools/bgen/bgen/bgenGenerator.py
index 7b54579..3da3958 100644
--- a/Tools/bgen/bgen/bgenGenerator.py
+++ b/Tools/bgen/bgen/bgenGenerator.py
@@ -218,10 +218,10 @@ class FunctionGenerator(BaseFunctionGenerator):
def beginallowthreads(self):
pass
-
+
def endallowthreads(self):
pass
-
+
def callit(self):
args = ""
s = "%s%s(" % (self.getrvforcallit(), self.callname)
diff --git a/Tools/bgen/bgen/bgenHeapBuffer.py b/Tools/bgen/bgen/bgenHeapBuffer.py
index d677f29..3d440e6 100644
--- a/Tools/bgen/bgen/bgenHeapBuffer.py
+++ b/Tools/bgen/bgen/bgenHeapBuffer.py
@@ -111,10 +111,10 @@ class VarVarHeapOutputBufferType(VarHeapOutputBufferType):
def passOutput(self, name):
return "%s__out__, %s__len__, &%s__len__" % (name, name, name)
-
+
class MallocHeapOutputBufferType(HeapOutputBufferType):
"""Output buffer allocated by the called function -- passed as (&buffer, &size).
-
+
Instantiate without parameters.
Call from Python without parameters.
"""
@@ -124,7 +124,7 @@ class MallocHeapOutputBufferType(HeapOutputBufferType):
def getAuxDeclarations(self, name):
return []
-
+
def passOutput(self, name):
return "&%s__out__, &%s__len__" % (name, name)
@@ -133,10 +133,9 @@ class MallocHeapOutputBufferType(HeapOutputBufferType):
def getargsArgs(self, name):
return None
-
+
def mkvalueFormat(self):
return "z#"
-
+
def cleanup(self, name):
Output("if( %s__out__ ) free(%s__out__);", name, name)
-
diff --git a/Tools/compiler/dumppyc.py b/Tools/compiler/dumppyc.py
index 8cfe3b1..1258cce 100755
--- a/Tools/compiler/dumppyc.py
+++ b/Tools/compiler/dumppyc.py
@@ -43,5 +43,5 @@ if __name__ == "__main__":
buf = open(filename).read()
co = compile(buf, filename, "exec")
walk(co)
- else:
+ else:
load(filename, codename)
diff --git a/Tools/unicode/gencodec.py b/Tools/unicode/gencodec.py
index e7430b3..9b4ae16 100644
--- a/Tools/unicode/gencodec.py
+++ b/Tools/unicode/gencodec.py
@@ -295,8 +295,8 @@ class Codec(codecs.Codec):
else:
l.append('''\
return codecs.charmap_decode(input,errors,decoding_map)''')
-
- l.append('''
+
+ l.append('''
class StreamWriter(Codec,codecs.StreamWriter):
pass
@@ -330,7 +330,7 @@ def getregentry():
# Final new-line
l.append('\n')
-
+
return '\n'.join(l)
def pymap(name,map,pyfile,comments=1):