java的Base64Decode解码5M的字符串会卡死,请问有没有好的解决办法???? java base64解码 怎么是乱码呢

java\u95ee\u9898\uff1a\u4e00\u4e2a\u5b57\u7b26\u4e32base64\u89e3\u7801\u540e\u518dzip\u89e3\u538b


import org.apache.commons.codec.binary.Base64;public class c {public static void main(String[] args) throws Exception {// String base64Str =// "UEsDBC0AAAAIAAaPJkfS5clx//////////8JABQARW1wbG95ZWVzAQAQAM4BAAAAAAAAmgAAAAAAAACLrlZyKS2pVLJSetqz+/mU+Uo6Sp4uSlamhjpKXvmZeS6JJalAuRh9EEPD0MjCzMzEAAK0DSwMDDRj9IE6fFITy1IhSvNKc3J0lPwSc0Hanu5Z8GRHJ1BBZrFjSkpqipJVWmJOcWqtDg5Ljahh6bO5fU9nzybeUmMcllqaGJhYEGvp877uJ7um4LO0uBhmoQk1fJmWloJpWywAUEsBAjMALQAAAAgABo8mR9LlyXH//////////wkAFAAAAAAAAAAAAAAAAAAAAEVtcGxveWVlcwEAEADOAQAAAAAAAJoAAAAAAAAAUEsFBgAAAAABAAEASwAAANUAAAAAAA==";// BASE64Decoder decoder = new BASE64Decoder();// byte[] b = decoder.decodeBuffer(base64Str); //\u89e3\u7801// String result = decompressByteArrayToString(b, "UTF-8");// System.out.println(result);String baseString = Base64.encodeBase64String("\u6211\u7231\u4e2d\u56fd".getBytes("UTF-8"));System.out.println("\"\u6211\u7231\u4e2d\u56fd\"\u7684Base64\u7f16\u7801\u4e3a:" + baseString);String base64Str = "5oiR54ix5Lit5Zu9";byte[] bytes = Base64.decodeBase64(base64Str);System.out.println("\u89e3\u7801\u540e:" + new String(bytes, "UTF-8"));}}

\u4f1a\u4e71\u7801\u7684\u539f\u56e0\u662f\u4f60\u7684\u7f16\u7801\u4e0d\u4e00\u81f4\u5bfc\u81f4\u7684php\u4e2d\u7684urlencode\u7684\u7f16\u7801\u662f\u548c\u7cfb\u7edf\u7f16\u7801\u4e00\u81f4\u7684(\u6bd4\u5982windows\u9ed8\u8ba4gb2312,ubuntu\u9ed8\u8ba4utf-8)\u6240\u4ee5\u9996\u5148\u9700\u8981\u786e\u5b9a\u4f60\u7684\u7cfb\u7edf\u7f16\u7801,\u4e4b\u540e\u6839\u636e\u5f97\u5230\u7684\u7cfb\u7edf\u7f16\u7801\u5728\u8c03\u7528java\u7684decode\u65b9\u6cd5\u7684\u65f6\u5019,\u5c06\u8fd9\u4e2a\u7f16\u7801\u4f20\u5165(\u8003\u8651\u5230\u4f60\u7684\u4f8b\u5b50\u4e2d\u6709\u7e41\u4f53\u5b57,\u6240\u4ee5,\u5efa\u8bae\u4f60\u4f7f\u7528utf-8\u7f16\u7801),\u4ee5\u4e0b\u662f\u6211\u4f7f\u7528utf-8\u7f16\u7801\u7684\u4f8b\u5b50(php\u73af\u5883\u662fubuntun\u4e0b)

卡死也有硬件的原因
首先看下你的业务代码
看下是不是有输出之类的
如果完全因为5M的大小而卡死的话你可以截取成2个或者多个经行解码组装

每次只读较小容量的数据再解码,比如读1000个base64字符,解出750个字节,保存
多次读、解码、写。对较小容量的数据操作就不会死机。

扩展阅读:www.sony.com.cn ... java windowbuilder ... xboxone港版欧版美版区别 ... base64 在线解码 ... matebook14 ... base64解码网址 ... 韩国macbookpro ... base64在线转换器 ... javascript ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网