字节数据转换成十六进制字符串

原创 2015年11月21日 16:44:57
在这篇文章中,我们将讲述一下如何将一个字节数组转换成一个十六进制的字符串。

字节,8个二进制位,而一个十六进制字符0-F,需要四个二进制位进行表示,因此我们可以直接将一个字节拆分成两个部分(前后两个四位二进制位),然后分别将四个二进制位转换成一个十六进制字符。

具体实现如下:

private static final String HEX = "0123456789abcdef";  
public static String bytes2hex(byte[] bytes)  
    {  
        StringBuilder sb = new StringBuilder(bytes.length * 2);  
        for (byte b : bytes)  
        {  
            // 取出这个字节的高4位,然后与0x0f与运算,得到一个0-15之间的数据,通过HEX.charAt(0-15)即为16进制数  
            sb.append(HEX.charAt((b >> 4) & 0x0f));  
            // 取出这个字节的低位,与0x0f与运算,得到一个0-15之间的数据,通过HEX.charAt(0-15)即为16进制数  
            sb.append(HEX.charAt(b & 0x0f));  
        }  
  
        return sb.toString();  
    }  

讲述完毕....奋斗

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

16进制与byte的转换

本文转自:http://franksinger.iteye.com/blog/614540 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 +...

Java中byte与16进制字符串的互相转换

Java中byte与16进制字符串的互相转换 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可...

java中进制的转换,Byte与16进制的转换

java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下:        首先关于最简单的二进制转换...
  • hll174
  • hll174
  • 2016年04月05日 23:08
  • 5492

java byte[]与十六进制字符串相互转换

前言:我们经常在加密或者进行数字签名的时候,需要将字节数组(byte[])与十六进制表示的字符串之间进行相互转换。本篇文章介绍几种将字节数组转换为十六进制字符串的几种方法,以及将十六进制字符串转换为字...

Qt 16进制字符串跟QByteArray互转

/* * @breif 将16进制字符串转换为对应的字节序列 */ QByteArray MainWindow::HexStringToByteArray(QString HexString) ...
  • TGL233
  • TGL233
  • 2016年04月29日 22:04
  • 1296

C语言将16进制的数转换为字符串的方法

将16进制的数据改为字符串,也就是0xAB,改成“AB”。。。虽然看上去没什么用。...

C语言十六进制数据同字符串的相互转换

// t4.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #inclu...

字节数字和十六进制的转化

十六进制是由 0~9 及 a~f 共十六个字符组成。 先设一个十六进制的字符数组: char[] hex = new char[]{   '0','1','2','3','4','5','6',...
  • fzdswz
  • fzdswz
  • 2014年09月11日 10:38
  • 648

字节数字和十六进制的转化

十六进制是由 0~9 及 a~f 共十六个字符组成。先设一个十六进制的字符数组:char[] hex = new char[]{  '0','1','2','3','4','5','6','7',  ...
  • wqjsir
  • wqjsir
  • 2010年07月05日 11:07
  • 7350

java将字节转换成十六进制输出

public class HexUtils { public static void main(String[] args) { // TODO Auto-generated method s...
  • PZ0605
  • PZ0605
  • 2016年08月25日 10:24
  • 1611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字节数据转换成十六进制字符串
举报原因:
原因补充:

(最多只允许输入30个字)