首页 > 技术文章 > 解决命令行下.class编码为base64字符串存在换行的问题

bitterz 原文

java中用到ClassLoader.defineClass的时候,一般需要从base64字符串解码后获得byte数组。制作前面提到的base64字符串难免就需要对java文件进行编译,再对class文件进行base64,网上推荐方法是linux用base64命令,windows->certutil命令,实际上两个命令都会对base64字符串进行换行,甚至certutil还会写入文件,获取base64之后还要去除换行,麻烦!!!

一行解决问题,直接输出一行base64字符串到命令行界面不行吗?所以研究了一下,整了个一行解决问题的方法

linux

javac Test.java; cat Test.class | base64 -w 0 | xargs

windows,powershell

javac .Test.java ; $a = [System.IO.File]::ReadAllBytes(".Test.class") ; [System.Convert]::ToBase64String($a)

作者:bitterz
地址:https://www.cnblogs.com/bitterz/
本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
如果您觉得本篇博文对您有所收获,请点击右下角的 [推荐],谢谢!

推荐阅读