package test;
public class StringTest {
public static String toHexString(String s) {
String str = "";
for (int i = 0; i < s.length(); i++) {
int ch = (int) s.charAt(i);
String s4 = Integer.toHexString(ch);
str = str + s4;
}
return "0x" + str;//0x表示十六进制
}
//转换十六进制编码为字符串
public static String toStringHex(String s) {
if ("0x".equals(s.substring(0, 2))) {
s = s.substring(2);
}
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;
}
public static void main(String[] args) throws Exception {
String str = "test";
printHexString(str.getBytes());
}
public static void printHexString(byte[] b) {
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
System.out.print(hex.toUpperCase());
}
}
}
分享到:
相关推荐
在Java编程语言中,将字符转换为十六进制表示的ASCII码是一项常见的任务,尤其是在处理字符串数据时。本文将深入探讨如何实现这个功能,并通过一个具体的示例代码`StringToAscii.java`进行演示。 首先,我们需要...
二、字节数组与十六进制字符串转换 1. **字节数组转十六进制字符串**:可以使用自定义方法或者`HexUtils`类(参考你的文件名)。例如: ```java byte[] bytes = {1, 2, 3}; String hexString = toHexString(bytes);...
接着,我们将字符转换为其对应的ASCII十进制值,再分别转换为二进制和十六进制字符串。最后,我们使用`System.out.println`打印出这些值。 此程序的运行依赖于Java的I/O和类型转换功能。`Scanner`类提供了方便的...
描述中提到的“该程序主要用于将jpg图片的数据流转换为十六进制字符串”,这意味着有一个特定的程序或脚本,它可以读取jpg图片的原始二进制数据,然后将其转化为由0到9和A到F这些字符组成的十六进制序列。...
该工具类主要提供了将字节数组转换为十六进制字符数组或字符串的方法,以及将字符串转换为十六进制字符数组或字符串的方法。 在Java中,十六进制是一种常用的进制,它可以用数字0到9和字母A到F表示。十六进制在...
首先,它将输入的十六进制字符串转换为字节数组,然后使用这些字节尝试以UTF-8、UTF-16(与Unicode相同)、UTF-16LE(小端字节序)、UTF-16BE(大端字节序)、UTF-32以及各自的LE和BE版本进行解码。`str2all`方法则...
在IT领域,尤其是在编程中,将字符串转换为十六进制数字是一项常见的操作。这涉及到字符编码、数值系统转换以及函数调用等基础知识。本篇将详细介绍如何在DLL(动态链接库)文件中实现这一功能,并指导如何利用...
这里我们将深入探讨“Base16”(也称为Hex)编码,以及Java和JavaScript中如何进行字符串与十六进制之间的转换。 Base16是一种简单的二进制到文本的编码方式,它将每个八位字节表示为两个十六进制数字。这种编码...
- 示例中的`hexStringToByte()`方法将十六进制字符串转换为字节数组,而`bytesToHexString()`则将字节数组转换为十六进制字符串。 2. **字节数组** - 字节数组在Java中用`byte[]`表示,它可以存储任意字节值,常...
/* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */
在Java编程语言中,将字符串转换为16进制ASCII值是一个常见的操作,尤其是在处理数据编码、网络通信或存储时。这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入...
总结来说,Java中将字节转换为十六进制主要涉及位操作、字符编码以及字符串处理。了解这些基本概念对于理解和实现这种转换至关重要,同时也为处理二进制数据和进行数据编码解码提供了基础。在实际开发中,可以使用...
反之,要将其他进制的字符串转换为十进制,可以使用`Integer.valueOf()`方法,并传入基数作为第二个参数。 在上述代码示例中,`main`方法展示了如何使用这些方法进行转换: 1. `Integer.toHexString(20)`将十进制的...
这两种方法都能有效地将Java中的二进制数据转换为十六进制字符串。第一种方法依赖于`Character.forDigit()`,而第二种方法则直接将数值转换为对应的十六进制字符。无论选择哪种方法,关键在于正确提取二进制数据的每...
在这里,`String.format()`和`BigInteger`用于将字符串转换为16进制,而`Base64.getDecoder().decode()`则用于将16进制字符串解码回原始的字节数组,再转化为字符串。 在实际应用中,你可能还会遇到其他复杂情况,...
### 转换带十六进制Unicode编码字符串文件的Java程序 #### 一、背景介绍 在处理文本数据时,经常会遇到不同格式的编码问题,其中Unicode编码是一种广泛使用的字符编码标准,它能够支持世界上几乎所有的字符集。...
- `Integer.parseInt(String str, int radix)`: 这个方法用于将一个表示特定进制的字符串转换为整数。例如,`Integer.parseInt("1010", 2)`会返回十进制中的10,因为"1010"是二进制的10。 - `Long.parseLong...
例如,在Python中,可以使用`hex()`函数将十进制数转换成十六进制字符串,而`int('1EOC', 16)`则可以将十六进制字符串转换回十进制数。 总之,掌握十进制到十六进制的转换对于理解和操作计算机数据至关重要。无论是...
这里首先通过`Integer.valueOf(code, 16)`将十六进制字符串转换为十进制整数,然后再使用`Integer.parseInt(hexString)`将这个整数转换为字符。由于汉字的Unicode码点是一个整数,因此可以直接用整数来表示一个汉字...
十六进制与汉字之间的转换是一种特殊的编码转换过程,涉及到字符编码如Unicode或GBK等。在中文环境下,每个汉字通常由两个或三个字节的二进制序列表示,而这些二进制序列可以转换为十六进制形式。例如,使用GB2312...