JAVA如何将16进制数字转换为ASCII中的字符串。

如题所述

使用这个方法可以传进去的16进制的数字组成的字符串转化为utf-8格式的字符串

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}追问

我要ASCII格式的字符串,有吗,谢了。

追答

那就修改s = new String(baKeyword, "ASCII")这一行就行了,后面的表示要转化的编码格式可以选很多种,以下是你要的代码

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "ASCII");
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-07
直接强转为char

JAVA如何将16进制数字转换为ASCII中的字符串。
使用这个方法可以传进去的16进制的数字组成的字符串转化为utf-8格式的字符串 public static String toStringHex1(String s) { byte[] baKeyword = new byte[s.length() \/ 2];for (int i = 0; i < baKeyword.length; i++) { try { baKeyword[i] = (byte) (0xff & Integer.parseInt(...

如何将16进制数值转换成ASCII码值?
1. 将16进制数中的每个数字字符转换为十进制。例如,16进制中的'f'对应十进制中的15。2. 将每个字母字符转换为其ASCII码值。大写字母转换为十进制时,需要加上0x30(即56),小写字母转换时则加上0x37(即55)。例如,16进制中的'a'转换为十进制是10,加上0x30得到68,对应ASCII码中的大写字母...

如何把16进制数转换为对应的ASCII字符?
谢谢各位关注,我在做一个单片机上的console程序,单片机通过串口和上位机通讯,指令和返回数据全部采用ASCII码,由于需要反馈一些寄存器数据——这些数据是16进制的,通过串口输出时我想把它们变成ASCII码方便阅读。例如,十六进制0x4A,转换为ASCII字符 ‘4’和‘A’,而不是得到这个十六进制对应的ASCII,比如0x4A='J'请各位...

java 十六进制怎么转转成ASCII码
简单的转换,如下就可以:public static void main(String[] agrs) { String source = "30";int code ;code = Integer.parseInt(source, 16);\/\/ 如果30代表是 16进制的30话,就取16 \/\/ 如果30代表是 10进制的30话,就取10 \/\/ code = Integer.parseInt(source, 10);char result = (char)...

用汇编怎么将16进制转ASCII码?
1. 首先,我们需要了解16进制数`1aH`转换为ASCII码的过程。2. 在汇编语言中,大写字母`A`到`F`对应的ASCII码值分别是`31h`到`36h`,小写字母`a`到`f`对应的ASCII码值分别是`61h`到`66h`。3. 因此,16进制数`1aH`转换为ASCII码值是`31h`和`41h`。4. 具体的计算过程是:如果16进制...

怎么把16进制转换为对应的ascII字符
int main(int argc, char* argv[]){ char xNo=0x60;printf("转换的结果: %c!\\n", xNo+0x10);return 0;}

单片机中,如何将16进制转换为ASC码?
A~F对应的二进制数为0x41~0x46 (小写a~f为0x61~0x66).2. 将16进制数转换为ASCII码就是将0~F转换为字符"0"~"F" (在计算机存储的表示为0x30~0x46). 转换的算法可以多种, 比较简单的算法如下:a) 定义一个数组 const byte ASCII[]={0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,...

求助一个能实现16进制数和ASC2码相互转换的软件。
把以下代码复制到记事本,然后把文件名的txt改为vbs 然后点击打开输入你要转换的数.就得了 On Error Resume Next Do ins = InputBox(vbcr&"输入要查询的字符或编码:"&vbcr&vbcr&vbcr&"查控制符:[换行]则输入[hh]","ASCII码表交互查询","")If ins = "" Then Exit Do If IsNumeric(ins) ...

HEX转换为ASCII码是怎样进行的。具体是怎样变换的?
Hex(十六进制)转换为ASCII码的过程本质上是将16进制数转换为10进制数,以便与ASCII字符编码对应。这种转换基于每个16进制位的权值,就像十进制数的表示方法一样。每个16进制位,如'8', 'A', '3', '0', 'E',对应于16的幂次,从最高位开始计算。例如,'8A30E'的16进制值可以分解为:8 * ...

ASCII字符和16进制互转
1. 首先,我们需要理解ASCII转16进制的原理。2. 下面提供了一个简单的C语言函数示例,该示例可以将单个ASCII字符转换为16进制数。3. 函数`AscToHex`接受一个unsigned char类型的参数`aHex`,然后根据该参数的值进行转换。4. 如果参数`aHex`在0到9之间,它将直接加上0x30(即ASCII码表中的数字0的...

相似回答