博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
byte数组转换成16进制字符串和字符数组的方法
阅读量:5890 次
发布时间:2019-06-19

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

在与硬件设备通信的时候,硬件传回来的数据经常是十六进制的,在0-100的范围内java会自动转换成十进制的数字出来,但如果包含abc这些字符自动转换就有问题了,可能变成负数了。下面提供两个方法转换成十六进制的 可以输出和设备传的时候一样的内容(可能字母大小写变了,在设备里大写的输出是小写的)。

 

 2 
 3 
public 
class CommonUtil {
 4     
/**
 
 5 
     * byte数组转换成16进制字符串 
 6 
     * 
@param
 src 
 7 
     * 
@return
 
 8 
     
*/  
 9     
public 
static String bytesToHexString(
byte[] src){       
10            StringBuilder stringBuilder = 
new StringBuilder();       
11            
if (src == 
null || src.length <= 0) {       
12                
return 
null;       
13            }       
14            
for (
int i = 0; i < src.length; i++) {       
15                
int v = src[i] & 0xFF;       
16                String hv = Integer.toHexString(v);       
17                
if (hv.length() < 2) {       
18                    stringBuilder.append(0);       
19                }       
20                stringBuilder.append(hv);       
21            }       
22            
return stringBuilder.toString();       
23        }
24     
25     
/**
 
26 
     * byte数组转换成16进制字符数组
27 
     * 
@param
 src 
28 
     * 
@return
 
29 
     
*/  
30     
public 
static String[] bytesToHexStrings(
byte[] src){       
31            
if (src == 
null || src.length <= 0) {       
32                
return 
null;       
33            }
34            String[] str = 
new String[src.length];
35            
36            
for (
int i = 0; i < src.length; i++) {       
37                
int v = src[i] & 0xFF;       
38                String hv = Integer.toHexString(v);       
39                
if (hv.length() < 2) {       
40                    str[i] = "0";       
41                }       
42                str[i] = hv;        
43            }       
44            
return str;       
45        }
46 
47 }

 

转载地址:http://cifsx.baihongyu.com/

你可能感兴趣的文章
Java集合详解
查看>>
myeclilpse打开文件所在位置的图标消失后的找回方法
查看>>
Android利用文本分割拼接开发一个花藤文字生成
查看>>
哈夫曼树的实现
查看>>
12-18Windows窗体应用小程序之记事本(1)
查看>>
毕业论文一次性修改所有字母和数字的字体
查看>>
结构体:HASH表模板
查看>>
[转]理解Linux文件系统之inode
查看>>
视频编解码学习之五:差错控制及传输
查看>>
Postman教程
查看>>
python模块--os模块
查看>>
HSSFRow获取单元格方法与区别
查看>>
洛谷 1365 WJMZBMR打osu! / Easy
查看>>
删除UINavigationItem上的BarButtonItem
查看>>
数据分析相关模块
查看>>
Python数据结构1-----基本数据结构和collections系列
查看>>
SQL Denali-FileTable
查看>>
C# 图像处理:复制屏幕到内存中,拷屏操作
查看>>
PHP微信支付流程
查看>>
linux下单节点oracle数据库间ogg搭建
查看>>