/**
* author:wiki on 2018/12/12
* email:zhengweiqunemail@qq.com
*/
public class ConvertUtil {
/**
* 16进制字符串转化为字母ASCALL码
*
* @param hex 要转化的16进制数,用空格隔开
* 如:53 68 61 64 6f 77
* @return ASCALL码
*/
public static String convertHexToAsCall(String hex) {
StringBuilder sb = new StringBuilder();
String[] split = hex.split(" ");
for (String str : split) {
int i = Integer.parseInt(str, 16);
if (i < 0x20 || i == 0x7F) {//过滤特殊字符
continue;
}
sb.append((char) i);
}
return sb.toString();
}
/**
* 16进制数组转String
*
* @param data byte数组
* @return string
*/
public static String formatHex2String(byte[] data) {
final StringBuilder stringBuilder = new StringBuilder(data.length);
for (byte byteChar : data)
stringBuilder.append(String.format("%02X ", byteChar));
return stringBuilder.toString();
}
/**
* 16进制字符串转换为Byte值
*
* @param src Byte字符串,每个Byte之间没有分隔符,eg:616C6B
* @return byte[]
*/
public static byte[] hexStr2Bytes(String src) {
int m = 0, n = 0;
int l = src.length() / 2;
System.out.println(l);
byte[] ret = new byte[l];
for (int i = 0; i < l; i++) {
m = i * 2 + 1;
n = m + 1;
ret[i] = Byte.decode("0x" + src.substring(i * 2, m) + src.substring(m, n));
}
return ret;
}
/**
* 字符串转换成十六进制字符串
*
* @param str 待转换的ASCII字符串
* @return String 每个Byte之间没有分隔,如: [616C6B]
*/
public static String str2HexStr(String str) {
char[] chars = "0123456789ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder("");
byte[] bs = str.getBytes();
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(chars[bit]);
bit = bs[i] & 0x0f;
sb.append(chars[bit]);
// sb.append(' ');
}
return sb.toString().trim();
}
//byte 数组与 int 的相互转换
public static int byteArrayToInt(byte[] b) {
return b[3] & 0xFF |
(b[2] & 0xFF) << 8 |
(b[1] & 0xFF) << 16 |
(b[0] & 0xFF) << 24;
}
public static byte[] intToByteArray(int a) {
return new byte[] {
(byte) ((a >> 24) & 0xFF),
(byte) ((a >> 16) & 0xFF),
(byte) ((a >> 8) & 0xFF),
(byte) (a & 0xFF)
};
}
}
Android 16进制转换工具类
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- //十进制转其他 parseInt('ff',10).toString(2) parseInt('ff',10)....
- 前言 CSDN博客地址 GitHub https://github.com/MrQ-Android 最近在操作蓝...