Comments (4)
做了一些兼容。
from hutool.
这是我用最新的版本跑出来的结果,它没有走你截图的else部分
from hutool.
mark 一下,有空展开讲讲原理 😂,最近求知的同学好多。
如果你仅仅是想知道答案的话,你可以认为你添加的字母 s(指代 6 个比特) 因为不满足 Base64 要求的最小置换单元长度(8 个比特),被 hutool 库丢弃了,至于是丢弃还是报错,这其实跟库的解码行为有关,看库是倾向于尽量解码出更多的内容,还是库要对内容做严格的合法性校验。
from hutool.
@changhr2013 @reixuemin 解码逻辑大概是解析固定位数,的整数倍,然后多余的字符忽略掉了。
Hutool的解码相对宽松,最终目标是“尽可能”解析出Base64内容。
举个例子,加入给定内容中有Base64和非Base64混合内容,通过宽松方式解码,就会尽可能的找出被解码的内容。
final String str ="我是不需要解码的内容5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5LiyNjY我是不需要解码的内容";
// 伦家是一个非常长的字符串66
Base64.decodeStr(str);
你会发现前面和后面的内容都会被丢弃,重要的逻辑在这里:
如果你需要严格的解码,考虑使用java.util.Base64.getDecoder().decode(in)
from hutool.
Related Issues (20)
- 关于ListUtil#setOrPadding的安全检查 HOT 2
- BooleanUtil.andOfWrap针对null取与结果与预期不符 HOT 1
- JSONObject.toBean为null问题 HOT 2
- 图片添加文字水印可以支持45度倾斜多行重复文字的效果么 HOT 1
- cn.hutool.core.io.FileUtil#getTotalLines 在jdk8和jdk21中结果不一致 HOT 1
- cn.hutool.http.HttpUtil#post(java.lang.String, java.lang.String) 这个方法按文档的标准参数调用报异常 HOT 5
- HttpRequest 设置body的时候能否修改isMultiPart的值。 HOT 4
- 需求请求:LocalDateTimeUtil.endOfDay重载一个接收LocalDate的方法 HOT 3
- get请求https时会出现ssl证书问题 HOT 3
- CVE-2023-51075 7.5 Loop with Unreachable Exit Condition ("Infinite Loop") vulnerability with High severity found HOT 1
- 贵团队有支持JPMS的计划吗? HOT 1
- NumberUtil.pow(3,-2) 指数不能为负数 HOT 3
- 能够提供Neo4jUtil HOT 2
- JDK17环境下,JarClassLoader.loadJar()方法异常
- 【question】请问一下hutool有直接读取并返回X509Certificate的方法吗? HOT 2
- ListUtil 需要一个【元素移动】的方法 HOT 1
- 请教下在HttpFilter里面有办法重写响应体吗? HOT 3
- Should avoid NPE when `coll1` is null HOT 1
- DateUtil.parse()无法解析日期: HOT 2
- [程序崩溃]JDK11 + HuTool5.7.5 偶发程序崩溃问题 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hutool.