Formatted text encoding in binary plist
- by Sean
I'm trying to do some scripting that edits a binary plist file. The plist describes the objects contained in a DVD studio pro file. It appears that a text box in DVD studio pro is encoded in the plist as hex data that describes the text string along with its formatting. I can't seem to figure out how to understand this data. Ideally, I'd like to be able to alter the text string but not the formatting. The following seems to describe a text box that says "Menu title here". There are two hex strings, one with the key called "dictionary" and the other called "string"; both are CFData. Any ideas how I can parse this or convert this into a format that I can edit directly? I've been playing around with writing a little converter in cocoa, but no luck yet.
<dict>
<key>Dictionary</key>
<data>
BAtzdHJlYW10
eXBlZIHoA4QB
QISEhAxOU0Rp
Y3Rpb25hcnkA
hIQITlNPYmpl
Y3QAhYQBaQaS
hISECE5TU3Ry
aW5nAZSEASsG
TlNGb250hpKE
hIQGTlNGb250
HpSVJIQFWzM2
Y10GAAAAGgAA
AP/+TAB1AGMA
aQBkAGEARwBy
AGEAbgBkAGUA
AACEAWYVhAFj
AJsBmwCbAIaS
hJaXB05TQ29s
b3KGkoSEhAdO
U0NvbG9yAJSb
AYQEZmZmZoPz
8nI/g/Dvbz+D
7OtrPwGGkoSW
lwtOU0V4cGFu
c2lvboaShISE
CE5TTnVtYmVy
AISEB05TVmFs
dWUAlIQBKoSa
moNHx9c9hpKE
lpcNTlNPYmxp
cXVlbmVzc4aS
hJ6ghIQBZKEA
hpKElpcQTlNQ
YXJhZ3JhcGhT
dHlsZYaShISE
EE5TUGFyYWdy
YXBoU3R5bGUA
lIQEQ0NAUwAA
hQCGkoSWlxFO
U0JhY2tncm91
bmRDb2xvcoaS
hJubA4QCZmYA
AIaG
</data>
<key>String</key>
<data>
BAtzdHJlYW10
eXBlZIHoA4QB
QISEhBJOU0F0
dHJpYnV0ZWRT
dHJpbmcAhIQI
TlNPYmplY3QA
hZKEhIQITlNT
dHJpbmcBlIQB
Kw9OZW51IFRp
dGxlIEhlcmWG
hAJpSQEPkoSE
hAxOU0RpY3Rp
b25hcnkAlIQB
aQWShJaWDU5T
T2JsaXF1ZW5l
c3OGkoSEhAhO
U051bWJlcgCE
hAdOU1ZhbHVl
AJSEASqEhAFk
nQCGkoSWlgtO
U0V4cGFuc2lv
boaShJuchIQB
Zp6DR8fXPYaS
hJaWEE5TUGFy
YWdyYXBoU3R5
bGWGkoSEhBBO
U1BhcmFncmFw
aFN0eWxlAJSE
BENDQFMAAIUA
hpKElpYGTlNG
b250hpKEhIQG
TlNGb250HpSZ
JIQFWzM2Y10G
AAAAGgAAAP/+
TAB1AGMAaQBk
AGEARwByAGEA
bgBkAGUAAACe
FYQBYwCjAaMA
owCGkoSWlgdO
U0NvbG9yhpKE
hIQHTlNDb2xv
cgCUowGEBGZm
ZmaD8/JyP4Pw
728/g+zraz8B
hoaG
</data>
</dict>