byte[] 转Hex String
一、一个字符串转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的更多相关文章
- byte ---> hex String
public static String byte2HexString(byte[] b){ String ret = ""; ;i<b.lenght;i++){ Strin ...
- java byte to hex
String str; byte[] bs = null; bs =str.getBytes(); bs =str.getBytes("utf-8") java byte to ...
- Unity3D 集成 Face++ FacePlusPlus httpClient http协议 byte数组转string
//開始由于要实现跨平台.考虑过用curl封装c++的dll(android *.so)的方式,在c#Dllimport实现 //后来发现Unity3D本身支持http协议.且face++的api都是 ...
- 深入 JAVA里面关于byte数组和String之间的转换问题
把byte转化成string,必须经过编码. 例如下面一个例子: importjava.io.UnsupportedEncodingException; publicclass test{ pub ...
- C# byte[]数组和string的互相转化 (四种方法)
C# byte[]数组和string的互相转化 (四种方法) 第一种 [csharp] view plain copy string str = System.Text.Encoding.UTF8.G ...
- java byte数组与String的相互转换
String -> byte数组 String str = "abc天"; byte[] btr = str.getBytes(); System.out.printl ...
- 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 ...
- java byte数组与String互转
java byte数组与String互转 CreationTime--2018年7月6日14点53分 Author:Marydon 1.String-->byte[] 方法:使用String ...
- C语言判断字符串是否是 hex string的代码
把写内容过程中经常用到的一些内容段备份一下,如下内容内容是关于C语言判断字符串是否是 hex string的内容. { static unsigned int hex2bin[256]={0}; me ...
随机推荐
- java根据经纬度获取地址
public class GetLocation { public static void main(String[] args) { // lat 39.97646 //log 116.3039 S ...
- python 初步学习
疑惑1:windows下的python 如何设置显示汉字 推荐几个学习网址,也方便自己以后查看: http://pmghong.blog.51cto.com/3221425/d-10 www.w3c ...
- LuaCURL
LuaCURL:http://luacurl.luaforge.net/ curl大家应该都知道吧,在linux下被广泛使用,也有windows版本,网络上还有其win32版本的源代码.它是一个命令行 ...
- linux 命令行选项
命令行选项风格 1.原始unix风格 a.命令行选项以连字符'-'开头,后跟单个字符表示选项,选项后面跟着取值,如:mysql -hlocalhost b.选项不带取值的,可以组合在一起,如: ...
- linux下的tar命令
tar 命令在打包的时候如果是通过绝对路径压缩打包,在不特殊参数时,解压时会在当前路径下创建打包时的路径,并提示警告: tar: Removing leading `/' from member na ...
- Android Bundle存储数据类型
曾经被问到这样一个问题:Bundle能存哪些数据类型,不能存哪些数据类型? 当时那个汗啊,因为,平常使用Bundle,要么使用基本数据类型,要么序列化自定义的Class,那到底能存哪些类型,不能存哪些 ...
- 谈一谈chrome浏览器使用
F3或Ctrl+F5: 查找本网页里面的内容,匹配到即可高亮. F6:回到地址栏 Ctrl+J:显示下载内容 Ctrl+N: 新建一个标签页 F10:选项 F11:显示全屏 F12:调试网页 大家有什 ...
- Windows下安装配置SBT
1:安装包下载界面 http://www.scala-sbt.org/download.html 下载后进行安装. 安装路径:D:\Java\sbt\conf 2:进行配置 (1)sbtconfig. ...
- 解析 神奇的 Object.defineProperty
这个方法了不起啊..vue.js和avalon.js 都是通过它实现双向绑定的..而且Object.observe也被草案发起人撤回了..所以defineProperty更有必要了解一下了几行代码看他 ...
- Swift高速入门之函数
函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...