python工具-base64-zip-json

python工具-base64-zip-json

# 先 base64 解码,再 zip 解码,再打印 json 内容,支持多个字符串解码

import sys
import base64
import zlib
import json

def enc_json_zip_base64(input_data):
    json_object = json.loads(input_data)
    zip_data = zlib.compress(json.dumps(json_object).encode("utf-8"))
    base64_data = base64.b64encode(zip_data)
    return base64_data

def dec_base64_zip_json(input_data):
    zip_data = base64.b64decode(input_data)
    json_data = zlib.decompress(zip_data)
    json_object = json.loads(json_data)
    return json.dumps(json_object, sort_keys=True, indent=4, separators=(', ', ': '))

# python decode-base64-zip-json.py eJyrVkpJLU5WslKoVjIEkkpJicWpZiYKKanJSjoKSkYgoarMAhjfGMQvKMrMK1HIKs7PAwmZgISKSwsK8otKFHIT8yoVwPJKtbUAd+Mamg==
# input:
# eJyrVkpJLU5WslKoVjIEkkpJicWpZiYKKanJSjoKSkYgoarMAhjfGMQvKMrMK1HIKs7PAwmZgISKSwsK8otKFHIT8yoVwPJKtbUAd+Mamg==

# output:
# {
#     "desc": {
#         "1": "base64 dec", 
#         "2": "zip dec", 
#         "3": "print json", 
#         "4": "support many print"
#     }
# }
if __name__ == "__main__":
    if len(sys.argv) == 1:
        print("need para. \nfor example: python3 base64-zip.py argv1 ...\n")
        data = enc_json_zip_base64('''{
                                "desc":{
                                    "1":"base64 dec",
                                    "2":"zip dec",
                                    "3":"print json",
                                    "4":"support many print"
                                }
                            }''')
        output = dec_base64_zip_json(data)
        print(f"input: {data}\n")
        print(f"output: {output}\n")
        exit()

    for i in range(len(sys.argv)-1):
        # base64_zip_data = '''eJyrVkpJLU5WslKoVjIEkkpJicWpZiYKKanJSjoKSkYgoarMAhjfGMQvKMrMK1HIKs7PAwmZgISKSwsK8otKFHIT8yoVwPJKtbUAd+Mamg=='''
        output = dec_base64_zip_json(sys.argv[i+1])
        print(f"input:\n{sys.argv[i+1]}\n")
        print(f"output:\n{output}\n")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值