美文网首页
Python脚本之解析Base64实用案例(一)

Python脚本之解析Base64实用案例(一)

作者: 小飞牛_666 | 来源:发表于2021-05-10 21:28 被阅读0次

  Python作为脚本语言,比shell和其它脚本更加好用,主要是Python提供了丰富的类库,现在越来越多的框架都开启了PyAPI,特别是机器学习方面,可见Python在脚本领域中占的分量有多大。直接上需求:

通过Python解析整形的Base64编码

  当然,这个案例不仅仅是使用Python那么简单,因为我试了好多Python的类库就是解析不了项目中编码过后的整形,因此,这个案例将结合 Java 去解码。

一、Java代码的编写和打包

1.1 编写代码

package com.nfdw;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Base64;

public class Base64ToDecimal {

    public static BigDecimal b64ToDecimal(String value, int decimal){
        BigDecimal new_value = new BigDecimal(new BigInteger(Base64.getDecoder().decode(value)), decimal);
        return new_value;
    }

}

1.2 打包 image.png
  打包成 jar 包后,我们重命名包,然后复制到我们的 Python 项目中 image.png
二、编写 Python 脚本代码

2.1 编写代码

import jpype
import os.path


'''
    注意函数里第一行 jar的路径
'''
def base64_to_decimal(value, decimal):
    jarpath = os.path.join(os.path.abspath('.'), 'libs/base64todecimal.jar')  # 注意 jar 包的路径
    try:
        jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % jarpath)
    except:
        pass
    base64ToDecimal = jpype.JClass('com.nfdw.Base64ToDecimal')
    t = base64ToDecimal()
    result = t.b64ToDecimal(value, decimal)
    return result


if __name__ == '__main__':
    print(base64_to_decimal("AW42AA==", int(2)))
    jpype.shutdownJVM()


2.2 运行结果 image.png

  好了,到这里,我们的案例已完成。。。

相关文章

网友评论

      本文标题:Python脚本之解析Base64实用案例(一)

      本文链接:https://www.haomeiwen.com/subject/pmcwdltx.html