博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字节流、字符串、16进制字符串转换__java
阅读量:7199 次
发布时间:2019-06-29

本文共 2324 字,大约阅读时间需要 7 分钟。

package com.dvn.li.main;

/**

* @Package:
* @ClassName:TypeConversion
* @Description:字节流、字符串、16进制字符串转换
* @author:xk
* @date:Jan 8, 2013 5:00:08 PM
*/
public class TypeConversion {
/**
* @Title:bytes2HexString
* @Description:字节数组转16进制字符串
* @param b
* 字节数组
* @return 16进制字符串
* @throws
*/
public static String bytes2HexString(byte[] b) {
StringBuffer result = new StringBuffer();
String hex;
for (int i = 0; i < b.length; i++) {
hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
result.append(hex.toUpperCase());
}
return result.toString();
}
/**
* @Title:hexString2Bytes
* @Description:16进制字符串转字节数组
* @param src
* 16进制字符串
* @return 字节数组
* @throws
*/
public static byte[] hexString2Bytes(String src) {
int l = src.length() / 2;
byte[] ret = new byte[l];
for (int i = 0; i < l; i++) {
ret[i] = (byte) Integer
.valueOf(src.substring(i * 2, i * 2 + 2), 16).byteValue();
}
return ret;
}
/**
* @Title:string2HexString
* @Description:字符串转16进制字符串
* @param strPart
* 字符串
* @return 16进制字符串
* @throws
*/
public static String string2HexString(String strPart) {
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < strPart.length(); i++) {
int ch = (int) strPart.charAt(i);
String strHex = Integer.toHexString(ch);
hexString.append(strHex);
}
return hexString.toString();
}
/**
* @Title:hexString2String
* @Description:16进制字符串转字符串
* @param src
* 16进制字符串
* @return 字节数组
* @throws
*/
public static String hexString2String(String src) {
String temp = "";
for (int i = 0; i < src.length() / 2; i++) {
temp = temp
+ (char) Integer.valueOf(src.substring(i * 2, i * 2 + 2),
16).byteValue();
}
return temp;
}
/**
* @Title:char2Byte
* @Description:字符转成字节数据char-->integer-->byte
* @param src
* @return
* @throws
*/
public static Byte char2Byte(Character src) {
return Integer.valueOf((int)src).byteValue();
}
/**
* @Title:intToHexString
* @Description:10进制数字转成16进制
* @param a 转化数据
* @param len 占用字节数
* @return
* @throws
*/
private static String intToHexString(int a,int len){
len<<=1;
String hexString = Integer.toHexString(a);
int b = len -hexString.length();
if(b>0){
for(int i=0;i<b;i++) {
hexString = "0" + hexString;
}
}
return hexString;
}
public static void main(String args[]) {
System.out.println(hexString2String("3133383131313536373838"));
}
}

转载于:https://www.cnblogs.com/wudage/p/8601001.html

你可能感兴趣的文章
10.27 序列
查看>>
Win32++:可替代MFC的Windows桌面应用开发框架
查看>>
Ajax post数据查询
查看>>
《大型网站技术架构:核心原理与案例分析》
查看>>
图解Android - 如何看Android的UML 图?
查看>>
博弈论笔记--05--纳什均衡之坏风气与银行挤兑
查看>>
Codeforces Round #390 (Div. 2) E(bitset优化)
查看>>
基于HTML5的WebGL呈现A星算法3D可视化
查看>>
微软原版 windows server 2003 sp2 R2 系列下载分享
查看>>
Docker系列09—Docker的系统资源限制及验证
查看>>
[转]DPM2012系列之十四:备份SQL server 2008R2数据库
查看>>
pip的安装、以及使用方法。
查看>>
ajax submit - jquery
查看>>
hadoop权威指南学习(一) - 天气预报MapReduce程序的开发和部署
查看>>
C# CultureInfo中常用的InvariantCulture
查看>>
跟KingDZ学HTML5系列:文章索引
查看>>
B10-git的简单使用
查看>>
交互式的Flash图表和仪表控件AnyChart
查看>>
论Sava(),SaveOrUpdate(),Merge()区别
查看>>
[MIP]mip-script组件自定义 JS 代码使用限制
查看>>