Added support for unicode strings (utxt).
This commit is contained in:
parent
085eb1b372
commit
5bb8f78d97
|
@ -88,6 +88,11 @@ def pack(x, forcetype = None):
|
||||||
return AE.AECreateDesc('doub', struct.pack('d', x))
|
return AE.AECreateDesc('doub', struct.pack('d', x))
|
||||||
if t == StringType:
|
if t == StringType:
|
||||||
return AE.AECreateDesc('TEXT', x)
|
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:
|
if t == ListType:
|
||||||
list = AE.AECreateList('', 0)
|
list = AE.AECreateList('', 0)
|
||||||
for item in x:
|
for item in x:
|
||||||
|
@ -132,6 +137,8 @@ def unpack(desc):
|
||||||
return struct.unpack('b', desc.data)[0]
|
return struct.unpack('b', desc.data)[0]
|
||||||
if t == typeChar:
|
if t == typeChar:
|
||||||
return desc.data
|
return desc.data
|
||||||
|
if t == typeUnicodeText:
|
||||||
|
return unicode(desc.data, 'utf16')
|
||||||
# typeColorTable coerced to typeAEList
|
# typeColorTable coerced to typeAEList
|
||||||
# typeComp coerced to extended
|
# typeComp coerced to extended
|
||||||
# typeData returned as unknown
|
# typeData returned as unknown
|
||||||
|
|
Loading…
Reference in New Issue