gpt4 book ai didi

java 二进制数据与16进制字符串相互转化方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java 二进制数据与16进制字符串相互转化方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

二进制数据一般输入的格式是0x45, 0x3a, 0xc3, 这种数据格式看起来是16进制的字符串,但是实际上在存储的时候每个都对应一个字节,比如0x45的二进制字节就是0100 0101,对应的16进制字符串就是0x45。实际编程过程中,经常遇到这两种格式的相互转化,在此记录一下代码.

二进制数据转化为16进制字符串(中间加的‘:'还有‘;'是为了查看下标,也可以自行去掉):

java" id="highlighter_14687">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static string bytestohexstring( byte [] src){
  stringbuilder stringbuilder = new stringbuilder();
  if (src == null || src.length <= 0 ) {
   return null ;
  }
  for ( int i = 0 ; i < src.length; i++) {
   int v = src[i] & 0xff ;
   string hv = integer.tohexstring(v);
 
   stringbuilder.append(i + ":" );
 
   if (hv.length() < 2 ) {
    stringbuilder.append( 0 );
   }
   stringbuilder.append(hv + ";" );
  }
  return stringbuilder.tostring();
}

16进制字符串转化为二进制数据:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static byte [] hexstringtobyte(string hex) {
   int len = (hex.length() / 2 );
   byte [] result = new byte [len];
   char [] achar = hex.tochararray();
   for ( int i = 0 ; i < len; i++) {
    int pos = i * 2 ;
    result[i] = ( byte ) (tobyte(achar[pos]) << 4 | tobyte(achar[pos + 1 ]));
   }
   return result;
  }
 
  private static byte tobyte( char c) {
   byte b = ( byte ) "0123456789abcdef" .indexof(c);
   return b;
  }

以上这篇java 二进制数据与16进制字符串相互转化方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/morgerton/article/details/78228884 。

最后此篇关于java 二进制数据与16进制字符串相互转化方法的文章就讲到这里了,如果你想了解更多关于java 二进制数据与16进制字符串相互转化方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com