Hello there, thank you for that work, It helped me a lot to understand. I don’t know ASObjC and I’m wondering If you could help me with and issue : I’m trying to build an XML that contains base64 text, and I build it with a patern. I’d like to be able to edit the text without decoding and encoding it everytime, because I’m loosing information while doing that.
At some point in the XML I have to write something like this :
nAsAAAAAAAB7ACIAbQBUAGUAeAB0AFAAYQByAGEAbQAiADoAewAiAG0AQQBsAGkAZwBuAG0AZQBuAHQAIgA6ADAALAAiAG0AQgBhAGMAawBGAGkAbABsAEMAbwBsAG8AcgAiADoANAAxADQANAA5ADUAOQAsACIAbQBCAGEAYwBrAEYAaQBsAGwATwBwAGEAYwBpAHQAeQAiADoANAA0AC4ANQA1ADQANAA1ADQAOAAwADMANAA2ADYANwA5ADcALAAiAG0AQgBhAGMAawBGAGkAbABsAFMAaQB6AGUAIgA6ADQANgAuADUAMwA0ADYANQAyADcAMAA5ADkANgAwADkAMwA4ACwAIgBtAEIAYQBjAGsARgBpAGwAbABWAGkAcwBpAGIAbABlACIAOgB0AHIAdQBlACwAIgBtAEQAZQBmAGEAdQBsAHQAUgB1AG4AIgA6AFsAXQAsACIAbQBIAGUAaQBnAGgAdAAiADoAMAAsACIAbQBIAGkAbgBkAGkARABpAGcAaQB0AHMAIgA6AGYAYQBsAHMAZQAsACIAbQBJAG4AZABpAGMAIgA6AGYAYQBsAHMAZQAsACIAbQBJAHMATQBhAHMAawAiADoAZgBhAGwAcwBlACwAIgBtAEkAcwBNAGEAcwBrAEkAbgB2AGUAcgB0AGUAZAAiADoAZgBhAGwAcwBlACwAIgBtAEkAcwBWAGUAcgB0AGkAYwBhAGwAVABlAHgAdAAiADoAZgBhAGwAcwBlACwAIgBtAEwAZQBhAGQAaQBuAGcAIgA6ADAALAAiAG0ATABpAGcAYQB0AHUAcgBlAHMAIgA6AGYAYQBsAHMAZQAsACIAbQBMAGkAbgBlAEMAYQBwAFQAeQBwAGUAIgA6ADAALAAiAG0ATABpAG4AZQBKAG8AaQBuAFQAeQBwAGUAIgA6ADEALAAiAG0ATQBpAHQAZQByAEwAaQBtAGkAdAAiADoAMgAuADUALAAiAG0ATgB1AG0AUwB0AHIAbwBrAGUAcwAiADoAMgAsACIAbQBSAFQATAAiADoAZgBhAGwAcwBlACwAIgBtAFMAaABhAGQAbwB3AEEAbgBnAGwAZQAiADoAMQAzADUALAAiAG0AUwBoAGEAZABvAHcAQgBsAHUAcgAiADoANAAwACwAIgBtAFMAaABhAGQAbwB3AEMAbwBsAG8AcgAiADoANAAxADQANAA5ADUAOQAsACIAbQBTAGgAYQBkAG8AdwBPAGYAZgBzAGUAdAAiADoANwAsACIAbQBTAGgAYQBkAG8AdwBPAHAAYQBjAGkAdAB5ACIAOgA3ADUALAAiAG0AUwBoAGEAZABvAHcAUwBpAHoAZQAiADoAMAAsACIAbQBTAGgAYQBkAG8AdwBWAGkAcwBpAGIAbABlACIAOgBmAGEAbABzAGUALAAiAG0AUwB0AHkAbABlAFMAaABlAGUAdAAiADoAewAiAG0AQQBkAGQAaQB0AGkAbwBuAGEAbABTAHQAcgBvAGsAZQBDAG8AbABvAHIAIgA6AFsAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsADEANgA3ADcANwAyADEANQBdAF0AfQBdACwAIgBtAEEAZABkAGkAdABpAG8AbgBhAGwAUwB0AHIAbwBrAGUAVgBpAHMAaQBiAGwAZQAiADoAWwB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAdAByAHUAZQBdAF0AfQBdACwAIgBtAEEAZABkAGkAdABpAG8AbgBhAGwAUwB0AHIAbwBrAGUAVwBpAGQAdABoACIAOgBbAHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAxADIAXQBdAH0AXQAsACIAbQBCAGEAcwBlAGwAaQBuAGUATwBwAHQAaQBvAG4AIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAEIAYQBzAGUAbABpAG4AZQBTAGgAaQBmAHQAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAEMAYQBwAHMATwBwAHQAaQBvAG4AIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAEYAYQB1AHgAQgBvAGwAZAAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsAGYAYQBsAHMAZQBdAF0AfQAsACIAbQBGAGEAdQB4AEkAdABhAGwAaQBjACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAZgBhAGwAcwBlAF0AXQB9ACwAIgBtAEYAaQBsAGwAQwBvAGwAbwByACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQA2ADcANwA3ADIAMQA1AF0AXQB9ACwAIgBtAEYAaQBsAGwATwB2AGUAcgBTAHQAcgBvAGsAZQAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsAHQAcgB1AGUAXQBdAH0ALAAiAG0ARgBpAGwAbABWAGkAcwBpAGIAbABlACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAdAByAHUAZQBdAF0AfQAsACIAbQBGAG8AbgB0AE4AYQBtAGUAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAiAEwAdQBjAGkAZABhAEcAcgBhAG4AZABlACIAXQBdAH0ALAAiAG0ARgBvAG4AdABTAGkAegBlACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQAwADAAXQBdAH0ALAAiAG0ASwBlAHIAbgBpAG4AZwAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsADAAXQBdAH0ALAAiAG0AUwB0AHIAbwBrAGUAQwBvAGwAbwByACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQA2ADcAMQAxADYAOAAwAF0AXQB9ACwAIgBtAFMAdAByAG8AawBlAFYAaQBzAGkAYgBsAGUAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAB0AHIAdQBlAF0AXQB9ACwAIgBtAFMAdAByAG8AawBlAFcAaQBkAHQAaAAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsADYANABdAF0AfQAsACIAbQBUAGUAeAB0ACIAOgAiAEMAZQBjAGkAIABlAHMAdAAgAHUAbgAgAHQAZQBzAHQAIABxAHUAaQAgAHMAZQAgAHQAcgBvAHUAdgBlAFwAcgBzAHUAcgAgAGQAZQB1AHgAIABsAGkAZwBuAGUAcwAiACwAIgBtAFQAcgBhAGMAawBpAG4AZwAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsADAAXQBdAH0ALAAiAG0AVABzAHUAbQBpACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMABdAF0AfQB9ACwAIgBtAFQAYQBiAFcAaQBkAHQAaAAiADoANAAwADAALAAiAG0AVwBpAGQAdABoACIAOgAwAH0ALAAiAG0AVgBlAHIAcwBpAG8AbgAiADoAMQB9AA==
When I decode it, I have something like
å{“mTextParam”:{“mAlignment”:0,“mBackFillColor”:4144959,“mBackFillOpacity”:44.554454803466797,“mBackFillSize”:46.534652709960938,“mBackFillVisible”:true,“mDefaultRun”:[],“mHeight”:0,“mHindiDigits”:false,“mIndic”:false,“mIsMask”:false,“mIsMaskInverted”:false,“mIsVerticalText”:false,“mLeading”:0,“mLigatures”:false,“mLineCapType”:0,“mLineJoinType”:1,“mMiterLimit”:2.5,“mNumStrokes”:2,“mRTL”:false,“mShadowAngle”:135,“mShadowBlur”:40,“mShadowColor”:4144959,“mShadowOffset”:7,“mShadowOpacity”:75,“mShadowSize”:0,“mShadowVisible”:false,“mStyleSheet”:{“mAdditionalStrokeColor”:[{“mParamValues”:[[0,16777215]]}],“mAdditionalStrokeVisible”:[{“mParamValues”:[[0,true]]}],“mAdditionalStrokeWidth”:[{“mParamValues”:[[0,12]]}],“mBaselineOption”:{“mParamValues”:[[0,0]]},“mBaselineShift”:{“mParamValues”:[[0,0]]},“mCapsOption”:{“mParamValues”:[[0,0]]},“mFauxBold”:{“mParamValues”:[[0,false]]},“mFauxItalic”:{“mParamValues”:[[0,false]]},“mFillColor”:{“mParamValues”:[[0,16777215]]},“mFillOverStroke”:{“mParamValues”:[[0,true]]},“mFillVisible”:{“mParamValues”:[[0,true]]},“mFontName”:{“mParamValues”:[[0,“LucidaGrande”]]},“mFontSize”:{“mParamValues”:[[0,100]]},“mKerning”:{“mParamValues”:[[0,0]]},“mStrokeColor”:{“mParamValues”:[[0,16711680]]},“mStrokeVisible”:{“mParamValues”:[[0,true]]},“mStrokeWidth”:{“mParamValues”:[[0,64]]},“mText”:“This is a 2 lignes test\rI want to edit”,“mTracking”:{“mParamValues”:[[0,0]]},“mTsumi”:{“mParamValues”:[[0,0]]}},“mTabWidth”:400,“mWidth”:0},“mVersion”:1}
I’d like to edit the last text items in the end
“This is a 2 lignes text
I want to edit”
How could I do that ?
Thanks