diff options
author | Yves-Marie Haussonne <ymh.work+github@gmail.com> | 2015-02-18 01:19:02 +0100 |
---|---|---|
committer | Yves-Marie Haussonne <ymh.work+github@gmail.com> | 2015-02-18 01:19:02 +0100 |
commit | 30f0f8ca7dba3e9dbfef39fb2006e4b395748f6c (patch) | |
tree | d88596e01d01e1c1280a8dd944e55b721b722eb4 | |
parent | 5f412635f44db9ef68afab09f4f107f11d3c5b4c (diff) | |
download | rdflib-30f0f8ca7dba3e9dbfef39fb2006e4b395748f6c.tar.gz |
use codecs.decode with unicode_escape instead of unichr. Fixes #453
-rwxr-xr-x | rdflib/plugins/parsers/notation3.py | 2 | ||||
-rw-r--r-- | rdflib/py3compat.py | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/rdflib/plugins/parsers/notation3.py b/rdflib/plugins/parsers/notation3.py index b9821d36..26f21eb0 100755 --- a/rdflib/plugins/parsers/notation3.py +++ b/rdflib/plugins/parsers/notation3.py @@ -303,7 +303,7 @@ escapeChars = "(_~.-!$&'()*+,;=/?#@%)" # valid for \ escapes in localnames def unicodeExpand(m): try: - return unichr(int(m.group(1), 16)) + return codecs.decode(m.group(0), 'unicode_escape') except: raise Exception("Invalid unicode code point: " + m.group(1)) diff --git a/rdflib/py3compat.py b/rdflib/py3compat.py index b72bde99..b7a6ef87 100644 --- a/rdflib/py3compat.py +++ b/rdflib/py3compat.py @@ -138,7 +138,7 @@ else: r_unicodeEscape = re.compile(r'(\\u[0-9A-Fa-f]{4}|\\U[0-9A-Fa-f]{8})') def _unicodeExpand(s): - return r_unicodeEscape.sub(lambda m: unichr(int(m.group(0)[2:], 16)), s) + return r_unicodeEscape.sub(lambda m: codecs.decode(m.group(0), 'unicode_escape'), s) def decodeStringEscape(s): |