Commons项目中用来处理常用的编码方法的工具类包,例如DES、SHA1、MD5、Base64, 及 hex, metaphone, soundex 等编码演算。

JavaDoc:http://www.osctools.net/apidocs/apidoc?api=commons-codec

官网下载地址:http://commons.apache.org/codec/

使用:

A.Base64 编解码

package demo;import org.apache.commons.codec.binary.Base64;public class Base64Test {public static void main(String[] args) {Base64 base64 = new Base64();String str = "中文";byte[] enbytes = null;String encodeStr = null;byte[] debytes = null;String decodeStr = null;enbytes = base64.encode(str.getBytes());encodeStr = new String(enbytes);debytes = base64.decode(enbytes);decodeStr = new String(debytes);System.out.println("编码前:" + str);System.out.println("编码后:" + encodeStr);System.out.println("解码后:" + decodeStr);}
}

B.Hex 编解码

package demo;import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;public class HexTest {public static void main(String[] args) throws DecoderException {Hex hex = new Hex();String str = "中文";char[] enbytes = null;String encodeStr = null;byte[] debytes = null;String decodeStr = null;enbytes = hex.encodeHex(str.getBytes());encodeStr = new String(enbytes);debytes = hex.decodeHex(enbytes);decodeStr = new String(debytes);System.out.println("编码前:" + str);System.out.println("编码后:" + encodeStr);System.out.println("解码后:" + decodeStr);}
}

C.Metaphone 及 Soundex 编码

package demo;import org.apache.commons.codec.language.Metaphone;
import org.apache.commons.codec.language.RefinedSoundex;
import org.apache.commons.codec.language.Soundex;public class LanguageTest {public static void main(String[] args) {Metaphone metaphone = new Metaphone();RefinedSoundex refinedSoundex = new RefinedSoundex();Soundex soundex = new Soundex();for (int i = 0; i < 2; i++) {String str = (i == 0) ? "resume" : "resin";String mString = null;String rString = null;String sString = null;try {mString = metaphone.encode(str);rString = refinedSoundex.encode(str);sString = soundex.encode(str);} catch (Exception ex) {;}System.out.println("Original:" + str);System.out.println("Metaphone:" + mString);System.out.println("RefinedSoundex:" + rString);System.out.println("Soundex:" + sString + "\n");}}
}

Metaphone 建立出相同的key给发音相似的单字, 比 Soundex 还要准确, 但是 Metaphone 没有固定长度, Soundex 则是固定第一个英文字加上3个数字. 这通常是用在类似音比对, 也可以用在 MP3 的软件开发.

转载于:https://www.cnblogs.com/tingzi/archive/2012/08/17/2643742.html

Commons codec jar包详解相关推荐

  1. android jar 包 意见反馈功能,android重点jar包详解.docx

    android重点jar包详解 深入理解View(一):从setContentView谈起 我们都知道?MVC,在Android中,这个?V?即指View,那我们今天就来探探View的究竟.在onCr ...

  2. java axis2 jar_Java axis2.jar包详解及缺少jar包错误分析

    Java  axis2.jar包详解及缺少jar包错误分析 一.最小开发jar集 axis2 开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar ax ...

  3. spring2.0和spring2.5及以上版本的jar包区别 spring jar 包详解

    spring jar 包详解 spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环 ...

  4. 【spring】jar包详解与模块依赖关系

    以spring3.X为例 jar包详解 1. spring-core.jar:包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心: 2. spri ...

  5. java axis2 jar_Java axis2.jar包详解及缺少jar包错误分析

    Java  axis2.jar包详解及缺少jar包错误分析 一.最小开发jar集 axis2 开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar ax ...

  6. Jar包详解和META-INF作用(…

    原文地址:Jar包详解和META-INF作用(创建可执行jar文件)--转帖作者:玉琪星兆 如 何把 Java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然 ...

  7. java jar包详解_Jar打包用法详解

    这篇文章主要介绍了Jar打包用法,详解分析了jar打包命令的各种常见用法及参数含义,非常具有实用价值,需要的朋友可以参考下 本文较为详细的分析了Jar打包的用法.分享给大家供大家参考.具体分析如下: ...

  8. java常用jar包详解

    1.dt.jar SUN对于dt.jar的定义:Also includes dt.jar, the DesignTime archive of BeanInfo files that tell int ...

  9. Spring——jar包详解

    2019独角兽企业重金招聘Python工程师标准>>> org.springframework.aop --Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.sp ...

最新文章

  1. SAP QM QP02 没有ECO试图直接修改检验计划主数据?
  2. STM32 进阶教程 4 - 软件实现高精度延时 2
  3. VTK:可视化算法之Hello
  4. [css] 怎么让body高度自适应屏幕?为什么?
  5. moreclipboard能记录多个粘贴内容的eclipse粘贴板插件
  6. 如何查看Dell服务器前面板LCD的报错资讯
  7. mysql编译安装后各种常见错误集锦
  8. Java通过IP获取所在地
  9. VUE中nextTick( )函数思维导图
  10. inter至强服务器处理器型号,至强cpu性能排行2021
  11. 动词ing形式的5种用法_动词ing形式的用法及变化规则 | 学思外教
  12. Python编程:字典
  13. STM32CubeMX | | 使用小熊派串口驱动峰汇ETH-01以太网模块上传数据到OneNet
  14. html%2b怎么转换成加号,url 参数的加号变成空格处理
  15. 代理模式(委托模式)— 结构型
  16. 宫廷秘方,给大家分享一下,祝大家身体健康
  17. unity5 rendersetting选项
  18. 海康摄像机3D PTZ功能,拍照功能
  19. java matcher.group_详解正则表达式Matcher类中group方法
  20. iOS 解决报错 Module file /Users/anmo/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/3FOJ1MTM...

热门文章

  1. linux自启动配置文件,Linux中如何设置服务自启动?
  2. ROS 创建msg和srv 编写发布者和订阅者节点 编写服务端和客户端节点(python版本)
  3. 怎么读取can报文_【案例】东风天龙“仪表未收到EECU报文”
  4. 欧氏空间内积定义_三、n维空间简介(6)矢量平移和测地线
  5. 一个控制器2套模版php,如何不用一个自定义的控制器渲染一个模板
  6. java 常见 错误_JAVA几个常见错误简析
  7. python元素定位input button_python+selenium 定位到元素,无法点击的解决方法
  8. java 上传 进度,关于 javaweb的文件上传实时显示进度
  9. mysql取消操作系统_Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)...
  10. jest 单元测试模拟模块设置动态值