summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYves-Marie Haussonne <ymh.work+github@gmail.com>2015-02-18 01:19:02 +0100
committerYves-Marie Haussonne <ymh.work+github@gmail.com>2015-02-18 01:19:02 +0100
commit30f0f8ca7dba3e9dbfef39fb2006e4b395748f6c (patch)
treed88596e01d01e1c1280a8dd944e55b721b722eb4
parent5f412635f44db9ef68afab09f4f107f11d3c5b4c (diff)
downloadrdflib-30f0f8ca7dba3e9dbfef39fb2006e4b395748f6c.tar.gz
use codecs.decode with unicode_escape instead of unichr. Fixes #453
-rwxr-xr-xrdflib/plugins/parsers/notation3.py2
-rw-r--r--rdflib/py3compat.py2
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):