summaryrefslogtreecommitdiffstats
path: root/Mac/Lib
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-02-24 22:47:43 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-02-24 22:47:43 (GMT)
commit87d9d230489408e4fb2b5150503fd5e2e89bcdb0 (patch)
tree22fa9f420155ca8ba4869507e5acbad429169700 /Mac/Lib
parent763c6645bc2d965163918ce81606a2691edf14fe (diff)
downloadcpython-87d9d230489408e4fb2b5150503fd5e2e89bcdb0.zip
cpython-87d9d230489408e4fb2b5150503fd5e2e89bcdb0.tar.gz
cpython-87d9d230489408e4fb2b5150503fd5e2e89bcdb0.tar.bz2
Backport of 1.3:
Added support for unicode strings (utxt).
Diffstat (limited to 'Mac/Lib')
-rw-r--r--Mac/Lib/aepack.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Mac/Lib/aepack.py b/Mac/Lib/aepack.py
index 161f3eb..331a53e 100644
--- a/Mac/Lib/aepack.py
+++ b/Mac/Lib/aepack.py
@@ -88,6 +88,11 @@ def pack(x, forcetype = None):
return AE.AECreateDesc('doub', struct.pack('d', x))
if t == StringType:
return AE.AECreateDesc('TEXT', x)
+ if t == UnicodeType:
+ data = t.encode('utf16')
+ if data[:2] == '\xfe\xff':
+ data = data[2:]
+ return AE.AECreateDesc('utxt', data)
if t == ListType:
list = AE.AECreateList('', 0)
for item in x:
@@ -132,6 +137,8 @@ def unpack(desc):
return struct.unpack('b', desc.data)[0]
if t == typeChar:
return desc.data
+ if t == typeUnicodeText:
+ return unicode(desc.data, 'utf16')
# typeColorTable coerced to typeAEList
# typeComp coerced to extended
# typeData returned as unknown