一、一个字符串转byte数组怎么转?

byte[] byteArray = String.getBytes();

二、又想把生成的数组转回字符串怎么办?

String covertString = new String(byteArray);

以上的轻松愉快仅限于字符串之间互转(适当的时候还要注意编码格式)。

三、如果一个的数值byte[]数组怎么转成字符串?例如:

byte[] byteArray = new byte[]{-60,60};

如果用new String(byteArray)直接转,会丢失负数信息(毕竟char的取值范围和byte的取值范围不一样)。

所以一个较好的策略是把byte信息转成16进制的字符串,方便再从16进制字符串转回byte数组。

3.1 byte[]转成Hex String

public static String byteArrayToHexStr(byte[] byteArray) {
if (byteArray == null) {
return null;
}
char[] hexArray = "0123456789ABCDEF".toCharArray();
char[] hexChars = new char[byteArray.length * ];
for (int j = ; j < byteArray.length; j++) {
int v = byteArray[j] & 0xFF;
hexChars[j * ] = hexArray[v >>> ];
hexChars[j * + ] = hexArray[v & 0x0F];
}
return new String(hexChars);
}

3.2 Hex String转成byte[]

public static byte[] hexStrToByteArray(String str) {
if (str == null) {
return null;
}
if (str.length() == ) {
return new byte[];
}
byte[] byteArray = new byte[str.length() / ];
for (int i = ; i < byteArray.length; i++) {
String subStr = str.substring( * i, * i + );
byteArray[i] = ((byte) Integer.parseInt(subStr, ));
}
return byteArray;
}

 

byte[] 转Hex String的更多相关文章

  1. byte ---> hex String

    public static String byte2HexString(byte[] b){ String ret = ""; ;i<b.lenght;i++){ Strin ...

  2. java byte to hex

    String str; byte[] bs = null; bs =str.getBytes(); bs =str.getBytes("utf-8") java  byte to ...

  3. Unity3D 集成 Face++ FacePlusPlus httpClient http协议 byte数组转string

    //開始由于要实现跨平台.考虑过用curl封装c++的dll(android *.so)的方式,在c#Dllimport实现 //后来发现Unity3D本身支持http协议.且face++的api都是 ...

  4. 深入 JAVA里面关于byte数组和String之间的转换问题

    把byte转化成string,必须经过编码.  例如下面一个例子:  importjava.io.UnsupportedEncodingException; publicclass test{ pub ...

  5. C# byte[]数组和string的互相转化 (四种方法)

    C# byte[]数组和string的互相转化 (四种方法) 第一种 [csharp] view plain copy string str = System.Text.Encoding.UTF8.G ...

  6. java byte数组与String的相互转换

    String  ->   byte数组 String str = "abc天"; byte[] btr = str.getBytes(); System.out.printl ...

  7. how convert large HEX string to binary array ?

    how convert large HEX string to binary I have a string with 14 characters . This is a hex represanta ...

  8. java byte数组与String互转

      java byte数组与String互转 CreationTime--2018年7月6日14点53分 Author:Marydon 1.String-->byte[] 方法:使用String ...

  9. C语言判断字符串是否是 hex string的代码

    把写内容过程中经常用到的一些内容段备份一下,如下内容内容是关于C语言判断字符串是否是 hex string的内容. { static unsigned int hex2bin[256]={0}; me ...

随机推荐

  1. Android -- MeasureSpec

    自定义控件都会去重写View的onMeasure方法,因为该方法指定该控件在屏幕上的大小. protected void onMeasure (int widthMeasureSpec, int he ...

  2. Android -- PullToRefresh应用

    PullToRefresh 支持ListView.ExpandableListView.GridView.WebView 下载地址:https://github.com/chrisbanes/Andr ...

  3. Web.config中加了system.diagnostics节点后就不能访问了

    Web.config中加了system.diagnostics节点后就不能访问了,怎么回事? [解决方法] 不要把system.diagnostics节点作为web.config的第一个节点.

  4. System.Windows.Forms.ListView : Control

    #region 程序集 System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ...

  5. oracle 之flashback 深入研究。

    oracle 之flashback 深入研究. 今天是2013-08-24,开始进行oracle flashback 内部原理研究,记录一下笔记. SQL> startup ORACLE ins ...

  6. Tomcat之安装篇- 1

    1. 提供了下载页面 以及tomcat下载地址,点击即可下载 : Tomcat9.0(Windows64) 方便好用的录像机下载请点击: gif工具 即可下载. 2.下载好的压缩包进行解压 3.配置路 ...

  7. Linux一些基本命令一(学习笔记三)

    菜鸟记录. 一.更改主机名 hostname 新的主机名 hostname ln0491 将主机名更改为ln0491 登出再登陆,就变为新的主机名 二.新建文件夹和删除 如:在当前路径新建data文件 ...

  8. 算法笔记_119:蓝桥杯第六届省赛(Java语言A组)试题解答

     目录 1 熊怪吃核桃 2 星系炸弹 3 九数分三组 4 循环节长度 5 打印菱形 6 加法变乘法 7 牌型种数 8 移动距离 9 垒骰子 10 灾后重建   前言:以下试题解答代码部分仅供参考,若有 ...

  9. eclipse 显示特殊符号

    windows --> Preferences --> General --> Editors --> Text Editors 右边 show white space let ...

  10. hmac库 密钥相关的哈希运算消息认证码

    # -*- coding: cp936 -*- #xiaodeng #python 2.7.10 #HMAC是密钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一 ...