String 类型 转 byte 16进制 java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String 类型 转 byte 16进制 java相关的知识,希望对你有一定的参考价值。

String a = "15";//16进制的15
转换成byte b = 0x15;
/**
* 16进制字符串转2进制
* @param s
* @return
*/
public static byte[] hexStringToByte(String hexString)
if (hexString == null || hexString.equals(""))
return null;

hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++)
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));

return d;


/**
* 字符转为byte
* @param c
* @return
*/
private static byte charToByte(char c)
return (byte) "0123456789ABCDEF".indexOf(c);


10进制转换16进制字符串 Integer.toHexString(a);再用上面方法得到该十进制的16进制byte[]类型

参考技术A String str = "#15";
int x = Integer.decode(str);
System.out.println(Integer.toHexString(x));追问

坑爹呢?

如何把一个byte数组转化为字符串

工具/原料

C#   IDEA软件   java开发环境   电脑

方法/步骤

1、依次点击“文件--》新建--》项目”。

2、选择为:控制台应用程序。

3、确定后系统生成的代码。

4、测试2代码:把一个byte数组转换为一个字符串。

5、测试2结果byte数组成字符串成功。

参考技术A Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换, 参考技术B Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:

String str = "hello";
byte[] srtbyte = null;
try
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
catch (UnsupportedEncodingException e) //有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
本回答被提问者采纳

以上是关于String 类型 转 byte 16进制 java的主要内容,如果未能解决你的问题,请参考以下文章

Java——进制转换的一些内容

进制之间互转

字符串怎么转换成16进制byte

C#string转化成16进制int

go笔记 - 字符串、数字、byte相互转换

C# short、string、二进制之间的转换问题。