Hex 和 Base64 编码对比

@Test
public void testHexAndBase64(){
String data = "你在哪儿,我的天你在哪儿" ;
byte[] bytes = data.getBytes() ;
try {
long start = System.currentTimeMillis() ;
String encryStr = "" ;
String decryStr = "" ; 
for(int i= 0 ; i < 10000 ; i++) {
//	 encryStr = CryptoUtil.getInstance().byte2HexStr(bytes) ;
encryStr = Hex.encodeHexString(bytes) ;
decryStr = new String(Hex.decodeHex(encryStr.toCharArray())) ;
//	 decryStr = new String(CryptoUtil.getInstance().hexStr2Byte(encryStr)) ;
}
print("Hex:"  + (System.currentTimeMillis() - start ) + " ms " +  encryStr  + " | " + decryStr) ;

} catch (Exception e) {
e.printStackTrace();
}

try {
long start = System.currentTimeMillis() ;
String encryStr = "" ; 
String decryStr = "" ; 
for(int i= 0 ; i < 10000 ; i++) {
encryStr = Base64.encodeBase64String(bytes) ;
decryStr = new String(Base64.decodeBase64(encryStr.getBytes()) );
}
print("base64: " + (System.currentTimeMillis() - start ) + " ms " +  encryStr  + " | " + decryStr) ;

} catch (Exception e) {
e.printStackTrace();
}
}

结果:

Hex:31 ms e4bda0e59ca8e593aae584bfefbc8ce68891e79a84e5a4a9e4bda0e59ca8e593aae584bf | 你在哪儿,我的天你在哪儿
base64: 80 ms 5L2g5Zyo5ZOq5YS/77yM5oiR55qE5aSp5L2g5Zyo5ZOq5YS/ | 你在哪儿,我的天你在哪儿

明显这是速度与空间选择不同,16进制编码速度明显快,但体积要大,base64相对慢些,编码后相对较小,根据实际情况选择

转载于:https://my.oschina.net/u/591938/blog/129772

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值