Apache Commons Codec官网 通用的编码解码算法(例如语音编码器、 Base64、URL)
包结构
Package | Description |
---|---|
org.apache.commons.codec | 由子包中各种实现使用的接口和类 |
org.apache.commons.codec.binary | Base64, Base32, Binary, 和十六进制字符串编码和解码。 |
org.apache.commons.codec.cli | 含有一个Digest类,运行命令行 |
org.apache.commons.codec.digest | 简化常见的 MessageDigest 工作,包含一个兼容libc crypt(3) 的加密方法,支持DES,MD5,SHA-256和SHA-512算法以及Apache特定"$apr1$"变体。 |
org.apache.commons.codec.language | 语言和语音编码器。 |
org.apache.commons.codec.net | 网络相关的编码和解码。 |
常用
Codec 目前由一组工具和一个简单编码,解码框架组成,分为三类:二进制编码器,语言编码器和网络编码器。
工具
org.apache.commons.codec.digest 子包
- MD5 & SHA
DigestUtils.md5Hex(byte[] data);
DigestUtils.sha256Hex(byte[] data);
...
二进制编码器
org.apache.commons.codec.binary 子包
- Base64
Base64 base64 = new Base64();
base64.encodeBase64(byte[] binaryData) 编码
base64.decodeBase64(String base64String) 解码
...
- Hex
Hex hex = new Hex();
hex.encodeHex(byte[] data)
hex.decodeHex(char[] data)
...
语言编码器
org.apache.commons.codec.language 子包
- Soundex Soundex类 - Soundex 算法的实现 Soundex 是固定第一个英文加上3个数字。通常用在类似音比对
Soundex soundex = new Soundex();
soundex.encode("resume");//R250
soundex.encode("resin");//R250
- Metaphone Metaphone类 - Metaphone 算法的实现,将字符串转为 Metaphone 值 Metaphone 根据key给发音相似的单字, 比 Soundex 准确, 没有固定长度
Metaphone metaphone = new Metaphone();
metaphone.encode("resume");//RSM
metaphone.encode("resin");//RSN
网络编码器
org.apache.commons.codec.net 子包
- URLCodec URLCodec类 - 实现’www-form-urlencoded’编码方案。
URLCodec codec = new URLCodec();
codec.encode(String str, String charset);
codec.decode(String str, String charset);
...