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)
- SM2加密速度慢 SecureUtil.generateKeyPair("SM2");加入这段代码后由1000ms变几十毫秒 HOT 1
- cn.hutool.http.HttpException: Unexpected end of file from server HOT 1
- BeanUtil对代理类型源对象拷贝失败 HOT 1
- JSONUtil.toBean时,如果Bean没有任何字段,会报错ConvertException: Can not Converter from [cn.hutool.json.JSONObject] to [xxx] HOT 6
- byte[]和数值转换问题咨询 HOT 3
- 根据身份证计算年龄逻辑不准确 HOT 1
- csv字段分隔符只能设置单个字符 HOT 1
- 在使用 hutool DB时的一些疑惑 HOT 3
- 建议:用文档训练一个AI,这样找方法的时候直接在AI里问 HOT 1
- java.lang.NoSuchMethodError
- HttpUtil工具get方法请求头Content-Type设置问题 HOT 1
- StrUtil split 判断问题 HOT 6
- Convert.digitToChinese(0),按照标准读法应该返回“零元整” HOT 3
- 有没有整合ip2region的计划 HOT 1
- 希望考虑 扩展tree功能 支持lambda模式写法 HOT 1
- ReflectUtil.invoke(Object obj, Method method, Object... args) 方法发生异常时,可以将obj、method 、 args 在异常信息里,打印出来吗?或者增加个log
- ### 版本情况 HOT 1
- hutool.cn首页无法打开 HOT 3
- 能否把CharSequenceUtil里的方法在StrUtil里重写以规避sonar检测 HOT 4
- DateUtil.endOfDay的一个奇怪问题 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.