英文:
python base64 decode and encode back not working
问题
The text you provided appears to be HTML-encoded JSON data. The characters like "
are HTML entities for double quotes, which are used to encode JSON within an HTML context. To parse this JSON, you need to first decode these HTML entities back to their original characters. Here's the corrected JSON data:
{
"mShadowFontMapHash":"9c99df30-87e2-2b53-df95-b7ef0000022d",
"mTextParam":{
"mAlignment":2,
"mBackFillColor":4144959,
"mBackFillOpacity":75,
"mBackFillSize":0,
"mBackFillVisible":false,
"mDefaultRun":[],
"mHeight":0,
"mHindiDigits":false,
"mIndic":false,
"mIsMask":false,
"mIsMaskInverted":false,
"mIsVerticalText":false,
"mLeading":0,
"mLigatures":false,
"mLineCapType":0,
"mLineJoinType":0,
"mMiterLimit":2.5,
"mNumStrokes":1,
"mRTL":false,
"mShadowAngle":135,
"mShadowBlur":0,
"mShadowColor":0,
"mShadowOffset":10,
"mShadowOpacity":100,
"mShadowSize":0,
"mShadowVisible":false,
"mStyleSheet":{
"mAdditionalStrokeColor":[],
"mAdditionalStrokeVisible":[],
"mAdditionalStrokeWidth":[],
"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,"Assistant-Regular"],[1,"Assistant-Regular"],[2,"Assistant-Regular"],[3,"Assistant-Regular"],[4,"Assistant-Regular"],[5,"Assistant-Regular"],[6,"Assistant-Regular"],[7,"Assistant-Regular"],[8,"Assistant-Regular"],[9,"Assistant-Regular"],[10,"Assistant-Regular"],[11,"Assistant-Regular"],[12,"Assistant-Regular"],[13,"Assistant-Regular"],[14,"Assistant-Regular"],[15,"58724202-DD58-420B-A6F0-2FBBC812F7B5"]]},
"mFontSize":{"mParamValues":[[0,100]]},
"mKerning":{"mParamValues":[[0,0]]},
"mStrokeColor":{"mParamValues":[[0,16777215]]},
"mStrokeVisible":{"mParamValues":[[0,false]]},
"mStrokeWidth":{"mParamValues":[[0,1]]},
"mText":"Your Title Here",
"mTracking":{"mParamValues":[[0,0]]},
"mTsumi":{"mParamValues":[[0,0]]},
"mUnderline":{"mParamValues":[[0,false]]}
},
"mTabWidth":400,
"mVerticalAlignment":0,
"mWidth":0
},
"mVersion":1
}
Now you should be able to work with this JSON data in your code.
英文:
This -
cg4AAAAAAAB7ACIAbQBTAGgAYQBkAG8AdwBGAG8AbgB0AE0AYQBwAEgAYQBzAGgAIgA6ACIAOQBjADkAOQBkAGYAMwAwAC0AOAA3AGUAMgAtADIAYgA1ADMALQBkAGYAOQA1AC0AYgA3AGUAZgAwADAAMAAwADAAMgAyAGQAIgAsACIAbQBUAGUAeAB0AFAAYQByAGEAbQAiADoAewAiAG0AQQBsAGkAZwBuAG0AZQBuAHQAIgA6ADIALAAiAG0AQgBhAGMAawBGAGkAbABsAEMAbwBsAG8AcgAiADoANAAxADQANAA5ADUAOQAsACIAbQBCAGEAYwBrAEYAaQBsAGwATwBwAGEAYwBpAHQAeQAiADoANwA1ACwAIgBtAEIAYQBjAGsARgBpAGwAbABTAGkAegBlACIAOgAwACwAIgBtAEIAYQBjAGsARgBpAGwAbABWAGkAcwBpAGIAbABlACIAOgBmAGEAbABzAGUALAAiAG0ARABlAGYAYQB1AGwAdABSAHUAbgAiADoAWwBdACwAIgBtAEgAZQBpAGcAaAB0ACIAOgAwACwAIgBtAEgAaQBuAGQAaQBEAGkAZwBpAHQAcwAiADoAZgBhAGwAcwBlACwAIgBtAEkAbgBkAGkAYwAiADoAZgBhAGwAcwBlACwAIgBtAEkAcwBNAGEAcwBrACIAOgBmAGEAbABzAGUALAAiAG0ASQBzAE0AYQBzAGsASQBuAHYAZQByAHQAZQBkACIAOgBmAGEAbABzAGUALAAiAG0ASQBzAFYAZQByAHQAaQBjAGEAbABUAGUAeAB0ACIAOgBmAGEAbABzAGUALAAiAG0ATABlAGEAZABpAG4AZwAiADoAMAAsACIAbQBMAGkAZwBhAHQAdQByAGUAcwAiADoAZgBhAGwAcwBlACwAIgBtAEwAaQBuAGUAQwBhAHAAVAB5AHAAZQAiADoAMAAsACIAbQBMAGkAbgBlAEoAbwBpAG4AVAB5AHAAZQAiADoAMAAsACIAbQBNAGkAdABlAHIATABpAG0AaQB0ACIAOgAyAC4ANQAsACIAbQBOAHUAbQBTAHQAcgBvAGsAZQBzACIAOgAxACwAIgBtAFIAVABMACIAOgBmAGEAbABzAGUALAAiAG0AUwBoAGEAZABvAHcAQQBuAGcAbABlACIAOgAxADMANQAsACIAbQBTAGgAYQBkAG8AdwBCAGwAdQByACIAOgAwACwAIgBtAFMAaABhAGQAbwB3AEMAbwBsAG8AcgAiADoAMAAsACIAbQBTAGgAYQBkAG8AdwBPAGYAZgBzAGUAdAAiADoAMQAwACwAIgBtAFMAaABhAGQAbwB3AE8AcABhAGMAaQB0AHkAIgA6ADEAMAAwACwAIgBtAFMAaABhAGQAbwB3AFMAaQB6AGUAIgA6ADAALAAiAG0AUwBoAGEAZABvAHcAVgBpAHMAaQBiAGwAZQAiADoAZgBhAGwAcwBlACwAIgBtAFMAdAB5AGwAZQBTAGgAZQBlAHQAIgA6AHsAIgBtAEEAZABkAGkAdABpAG8AbgBhAGwAUwB0AHIAbwBrAGUAQwBvAGwAbwByACIAOgBbAF0ALAAiAG0AQQBkAGQAaQB0AGkAbwBuAGEAbABTAHQAcgBvAGsAZQBWAGkAcwBpAGIAbABlACIAOgBbAF0ALAAiAG0AQQBkAGQAaQB0AGkAbwBuAGEAbABTAHQAcgBvAGsAZQBXAGkAZAB0AGgAIgA6AFsAXQAsACIAbQBCAGEAcwBlAGwAaQBuAGUATwBwAHQAaQBvAG4AIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAEIAYQBzAGUAbABpAG4AZQBTAGgAaQBmAHQAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAEMAYQBwAHMATwBwAHQAaQBvAG4AIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAEYAYQB1AHgAQgBvAGwAZAAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsAGYAYQBsAHMAZQBdAF0AfQAsACIAbQBGAGEAdQB4AEkAdABhAGwAaQBjACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAZgBhAGwAcwBlAF0AXQB9ACwAIgBtAEYAaQBsAGwAQwBvAGwAbwByACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQA2ADcANwA3ADIAMQA1AF0AXQB9ACwAIgBtAEYAaQBsAGwATwB2AGUAcgBTAHQAcgBvAGsAZQAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsAHQAcgB1AGUAXQBdAH0ALAAiAG0ARgBpAGwAbABWAGkAcwBpAGIAbABlACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAdAByAHUAZQBdAF0AfQAsACIAbQBGAG8AbgB0AE4AYQBtAGUAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADEALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADIALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADMALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADQALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADUALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADYALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADcALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADgALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADkALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADEAMAAsACIAQQBzAHMAaQBzAHQAYQBuAHQALQBSAGUAZwB1AGwAYQByACIAXQAsAFsAMQAxACwAIgBBAHMAcwBpAHMAdABhAG4AdAAtAFIAZQBnAHUAbABhAHIAIgBdACwAWwAxADIALAAiAEEAcwBzAGkAcwB0AGEAbgB0AC0AUgBlAGcAdQBsAGEAcgAiAF0ALABbADEAMwAsACIAQQBzAHMAaQBzAHQAYQBuAHQALQBSAGUAZwB1AGwAYQByACIAXQAsAFsAMQA0ACwAIgBBAHMAcwBpAHMAdABhAG4AdAAtAFIAZQBnAHUAbABhAHIAIgBdACwAWwAxADUALAAiADUAOAA3ADIANAAyADAAMgAtAEQARAA1ADgALQA0ADIAMABCAC0AQQA2AEYAMAAtADIARgBCAEIAQwA4ADEAMgBGADcAQgA1ACIAXQBdAH0ALAAiAG0ARgBvAG4AdABTAGkAegBlACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQAwADAAXQBdAH0ALAAiAG0ASwBlAHIAbgBpAG4AZwAiADoAewAiAG0AUABhAHIAYQBtAFYAYQBsAHUAZQBzACIAOgBbAFsAMAAsADAAXQBdAH0ALAAiAG0AUwB0AHIAbwBrAGUAQwBvAGwAbwByACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQA2ADcANwA3ADIAMQA1AF0AXQB9ACwAIgBtAFMAdAByAG8AawBlAFYAaQBzAGkAYgBsAGUAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALABmAGEAbABzAGUAXQBdAH0ALAAiAG0AUwB0AHIAbwBrAGUAVwBpAGQAdABoACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMQBdAF0AfQAsACIAbQBUAGUAeAB0ACIAOgAiAFkAbwB1AHIAIABUAGkAdABsAGUAIABIAGUAcgBlACIALAAiAG0AVAByAGEAYwBrAGkAbgBnACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAMABdAF0AfQAsACIAbQBUAHMAdQBtAGkAIgA6AHsAIgBtAFAAYQByAGEAbQBWAGEAbAB1AGUAcwAiADoAWwBbADAALAAwAF0AXQB9ACwAIgBtAFUAbgBkAGUAcgBsAGkAbgBlACIAOgB7ACIAbQBQAGEAcgBhAG0AVgBhAGwAdQBlAHMAIgA6AFsAWwAwACwAZgBhAGwAcwBlAF0AXQB9AH0ALAAiAG0AVABhAGIAVwBpAGQAdABoACIAOgA0ADAAMAAsACIAbQBWAGUAcgB0AGkAYwBhAGwAQQBsAGkAZwBuAG0AZQBuAHQAIgA6ADAALAAiAG0AVwBpAGQAdABoACIAOgAwAH0ALAAiAG0AVgBlAHIAcwBpAG8AbgAiADoAMQB9AA==
decoded in python - b = base64.b64decode(a).decode()
and the result is -
r{"mShadowFontMapHash":"9c99df30-87e2-2b53-df95-b7ef0000022d","mTextParam":{"mAlignment":2,"mBackFillColor":4144959,"mBackFillOpacity":75,"mBackFillSize":0,"mBackFillVisible":false,"mDefaultRun":[],"mHeight":0,"mHindiDigits":false,"mIndic":false,"mIsMask":false,"mIsMaskInverted":false,"mIsVerticalText":false,"mLeading":0,"mLigatures":false,"mLineCapType":0,"mLineJoinType":0,"mMiterLimit":2.5,"mNumStrokes":1,"mRTL":false,"mShadowAngle":135,"mShadowBlur":0,"mShadowColor":0,"mShadowOffset":10,"mShadowOpacity":100,"mShadowSize":0,"mShadowVisible":false,"mStyleSheet":{"mAdditionalStrokeColor":[],"mAdditionalStrokeVisible":[],"mAdditionalStrokeWidth":[],"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,"Assistant-Regular"],[1,"Assistant-Regular"],[2,"Assistant-Regular"],[3,"Assistant-Regular"],[4,"Assistant-Regular"],[5,"Assistant-Regular"],[6,"Assistant-Regular"],[7,"Assistant-Regular"],[8,"Assistant-Regular"],[9,"Assistant-Regular"],[10,"Assistant-Regular"],[11,"Assistant-Regular"],[12,"Assistant-Regular"],[13,"Assistant-Regular"],[14,"Assistant-Regular"],[15,"58724202-DD58-420B-A6F0-2FBBC812F7B5"]]},"mFontSize":{"mParamValues":[[0,100]]},"mKerning":{"mParamValues":[[0,0]]},"mStrokeColor":{"mParamValues":[[0,16777215]]},"mStrokeVisible":{"mParamValues":[[0,false]]},"mStrokeWidth":{"mParamValues":[[0,1]]},"mText":"Your Title Here","mTracking":{"mParamValues":[[0,0]]},"mTsumi":{"mParamValues":[[0,0]]},"mUnderline":{"mParamValues":[[0,false]]}},"mTabWidth":400,"mVerticalAlignment":0,"mWidth":0},"mVersion":1}
I am not able to read this as json. there seems to be some hidden characters in this because when i slice it as string for first 10 characters - b[:10]
result is just this r{
.
and if i just edit it as string and encode back, its not working.
答案1
得分: 0
以下是翻译好的部分:
"这些数据一团糟。前导的 r
不应该存在,而且里面有大量的0字节,这在JSON中都是无效的。要解决这个问题,你可以过滤掉这些无效的字节,并移除前导错误的字节:"
import json
import base64
inp = '在这里放入你的数据'
data = json.loads(bytes([b for b in list(base64.b64decode(inp)) if b != 0])[2:])
英文:
That data is an absolute mess. The leading r
must not be there and there are tons of 0-bytes in there which are all invalid in json. To solve this you can filter out those invalid bytes and remove the leading wrong ones:
import json
import base64
inp = 'your data here'
data = json.loads(bytes([b for b in list(base64.b64decode(inp)) if b != 0])[2:])
答案2
得分: -2
我试过去掉第一个字符,然后将其保存为 JSON,我认为它运行正常。
import json
with open('text.txt', 'r') as f:
x = json.load(f)
print(x)
英文:
I tried removing the first character and then save it as json and I think it works fine.
import json
with open('text.txt', 'r') as f:
x = json.load(f)
print(x)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论