Java 将字节转换为十六进制字符串

/**
     * 将字节转换为十六进制字符串
     *
     * @param mByte
     * @return
     */
    private static String byteToHexStr(byte mByte) {
        char[] Digit = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘A‘,
                ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘ };
        char[] tempArr = new char[2];
        tempArr[0] = Digit[(mByte >>> 4) & 0X0F];
        tempArr[1] = Digit[mByte & 0X0F];

String s = new String(tempArr);
        return s;
    }

时间: 2024-10-10 01:57:51

Java 将字节转换为十六进制字符串的相关文章

将字节数组转换为十六进制字符串

/**     * 将字节数组转换为十六进制字符串     *      * @param byteArray     * @return     */    private static String byteToStr(byte[] byteArray) {        String strDigest = "";        for (int i = 0; i < byteArray.length; i++) {            strDigest += byte

用Java语言实现对十六进制字符串异或运算

前言:好久没有写博客,最近一年感觉真是好忙,各种做不完的工作.相信很多上班族都会有这种感觉.最近对NFC进行写卡操作,需要计算一个校验位.一般情况下,校验位多数是由前几个字节进行异或运算所得. 现在我就先说一下我使用的场景: 把一个16字节的数据写到CPU卡(如交通卡)里面,最后一字节是校验码---前十五字节异或. 我开始从网上找了一些别人写的算法发现计算后结果不对,或者就是写的太复杂了,于是自己就写了一个,感觉也比较简单,现在分享给大家,希望一起交流一下. 第一节:什么是异或运算(主要摘自百度

Java按照字节来截取字符串的工具,不会出现半个汉字

原文:Java按照字节来截取字符串的工具,不会出现半个汉字 源代码下载地址:http://www.zuidaima.com/share/1550463396842496.htm Java 按照字节来截取字符串的工具,不会出现半个汉字.一个中文两个字节,一个英文字符只占 1 个字节 1. 通常我们用于前端显示的时候,防止标题过长.... /* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.com

VB下较为高效的字节和十六进制字符串转换

在进行十六进制字符串转换为byte()的时候,比网络常见的下面这种代码快一倍以上,以空间换时间吧... Private Function HexToByte(str As String) As Byte() Dim rst() As Byte Dim i As Long, j As Long i = Len(str) j = i \ 2 - 1 ReDim rst(j) For i = 0 To j rst(i) = CByte("&H" & Mid$(str, i +

Java之字节数组和字符串的转换问题

今天在使用字节流复制图片的时候发现一个问题,就是将字节数组转化为字符串的时候会出现长度不同的问题.这其实是个错误的操作. public static void main(String[] args) throws IOException { // 第一种方式(不会出现问题) /*FileInputStream fis = new FileInputStream("D:\\美女.jpg"); FileOutputStream fos = new FileOutputStream(&quo

java byte数到十六进制字符串表现形式程序设计原理和实现方式

在取低四位时,需要同时满足高四位全部为零,且低四位不变,所以&0x0f,这样就能使这两个条件同时满足. 在取高四位时,需要将该byte数左移>>四位,同理如上. 程序实现如下: public class Demo9 {    public static void main(String[] args) {        System.out.println(convert((byte) 105));    }    static String convert(byte b){     

android byte字节数组转换十六进制字符串(物联网开发总结)

想起前段时间的物联网的外包开发,经常遇到通过wifi接受的数据,要通过转换成十六进制字符串,或者最后又是十进制数据.都是根据双方的协议来开发的.那么我发送过去的数据也需要,经过特殊转换成byte字节发过去,硬件那边收到不至于乱码的数据. 1.硬件调试发给android这边是十六进制数据 原始数据:68 38 38 68 A 72 78 55 34 12 43 23 01 07 Y 00 00 00 0C 13 78 56 34 12 0C 3B 78 34 12 0C 26 78 56 34 1

Java 十六进制字符串-HexString

http://my.oschina.net/xinxingegeya/blog/287476 byte[]和十六进制字符串相互转换 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示. 所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果 new String(H) + new String(L). 同理,相反的转换也是将两个16进制字符

字节数组与字符串(字符数组)的转换操作

1.默认编码方式转换: (1)string(char[])转换为byte[] byte[] byteArr = System.Text.Encoding.Default.GetBytes(char[]); byte[] byteArr = System.Text.Encoding.Default.GetBytes(string); byte[] byteArr = System.Text.Encoding.Default.GetBytes(char[], startindex, count);