package test;
import java.util.StringTokenizer;
public class StrToByte {
public static String byte2hex(byte[] b) // 二进制转字符串
{
String hs = "";
String stmp = "";
for (int n = 0; n < b.length; n++) {
stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));
if (stmp.length() == 1)
hs = hs + "0" + stmp;
else
hs = hs + stmp;
}
return hs;
}
public static byte[] hex2byte(String str) { // 字符串转二进制
if (str == null)
return null;
str = str.trim();
int len = str.length();
if (len == 0 || len % 2 == 1)
return null;
byte[] b = new byte[len / 2];
try {
for (int i = 0; i < str.length(); i += 2) {
b[i / 2] = (byte) Integer
.decode("0x" + str.substring(i, i + 2)).intValue();
}
return b;
} catch (Exception e) {
return null;
}
}
public static void main(String[] args) {
String str = "absadfawegsdcd";
String result = "";
result = byte2hex(str.getBytes());
System.out.println(result);
System.out.println(new String(hex2byte(result)));
}
}
转载:http://java.chinaitlab.com/dynamic/828909.html
分享到:
相关推荐
2. **字符串转二进制**:将字符串转换为二进制数据。这个过程是上面操作的逆过程,它将字符串中的每个字符根据选定的编码转换为其对应的二进制表示。例如,字符'H'的ASCII值(72)会被转换成二进制`01001000`。 3. ...
- `Integer.toBinaryString(int i)`: 将十进制整数转换为二进制字符串,如`Integer.toBinaryString(10)`返回"1010"。 - `Integer.toOctalString(int i)`: 转换为八进制字符串,`Integer.toOctalString(10)`返回"12...
4. 将字符串转换为十六进制字符串:`public static String encodeHexStr(String str, Charset charset)` 该方法将字符串转换为十六进制字符串。该方法可以将字符串转换为小写或大写的十六进制字符串,可以根据需要...
- `HexString2Bytes`方法实现了将16进制字符串转换为字节数组。它首先创建一个目标数组,然后遍历输入字符串的每个字符对,将每两个字符视为一个16进制数字,通过`uniteBytes`方法合并成一个字节并存入数组。`...
2. 二进制字符串转换为Unicode字符串:我们可以使用toChar()方法将二进制字符串转换为Unicode字符串。 3. 字符串转换为二进制字符串的实现:我们可以使用下面的代码将字符串转换为二进制字符串: ``` public String ...
你可以通过运行这个程序,观察输入图片文件和输出的字符串,理解二进制字节与字符串之间的转换过程。同时,也可以通过反向转换验证数据是否能准确还原,确保图片的质量和完整性不受影响。 总之,理解和掌握二进制...
/* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */
在Java中,我们可以使用`Integer.parseInt()`或`Integer.valueOf()`方法将二进制字符串转换为整数。这些方法接受两个参数:一个字符串和一个基数(在这种情况下是2,因为是二进制)。如果字符串无法转换为指定基数的...
1. **二进制转十进制**:Java中可以使用`Integer.parseInt()`或`Long.parseLong()`方法,配合`"0b"`前缀来解析二进制字符串。例如: ```java String binary = "1010"; int decimal = Integer.parseInt(binary, 2); `...
在Java中,我们可以使用`Integer`类的`toHexString`方法,将一个整数的二进制表示转换为十六进制字符串。例如: ```java int binaryNumber = 0b101010; // 二进制数 String hexString = Integer.toHexString(binary...
二进制数组转换为二进制字符串 将二进制数组转换为十六进制字符串 将十六进制转换为二进制字节数组 将十六进制转换为二进制字符串
- 示例中的`hexStringToByte()`方法将十六进制字符串转换为字节数组,而`bytesToHexString()`则将字节数组转换为十六进制字符串。 2. **字节数组** - 字节数组在Java中用`byte[]`表示,它可以存储任意字节值,常...
例如,`TestImageBinary.java`可能会有一个方法,接受图片路径作为输入,读取图片,将其转换为Base64字符串,然后再反向操作,将Base64字符串转换回图片。 `20090709442.jpg`文件很可能是用来测试上述代码的图片。...
在Java中,我们可以利用`Integer.parseInt()`方法将十六进制字符串转换为整数,再使用位运算符`^`来进行异或操作。首先,我们需要将输入的十六进制字符串按空格分隔,然后对每个分隔后的十六进制数进行异或运算。...
这个程序可能包含方法,如`hexToCharSequence()`用于将16进制字符串转换为字符序列,以及`charSequenceToHex()`将字符序列转换为16进制字符串。 总之,16进制ASCII与字符串的相互转换是编程中基础但关键的操作,它...
这个方法将 16 进制字符串转换为二进制数据,每个十六进制数字都对应一个 byte。例如,输入字符串 "4567",输出结果将是一个 byte 数组 {0x45, 0x67}。 Java 中二进制数据与 16 进制字符串相互转换的方法可以使用...
在Java中,我们可以使用`Integer.toHexString()`方法轻松地将一个整数转换为16进制字符串。 下面,我们来看`StringToAscii.java`文件中的实现方式,它主要涉及到字符到整数的转换和整数到16进制的转换。由于没有...
4. **输出结果**:最后,打印出转换得到的二进制字符串`s`。 例如,对于输入`255`: - 最初,`i = 255`,`s = ""`,`length = 0`。 - 经过循环,最终`i`变为0,`s`变为`"11111111"`,`length`变为8。 - 所以,输出...
1. **字符串到整数的转换**:在Java中,我们可以使用`Integer.parseInt()`或`Integer.valueOf()`方法将表示特定进制的字符串转换为整数。这两个方法都需要两个参数:一个是字符串,另一个是字符串所代表的进制基数。...
2. **十六进制转二进制**:接着调用 `HexStringToBinary` 方法将十六进制字符串转换回字节数组,并再次转换为字符串打印出来,验证转换的正确性。 3. **转换方法实现**:`BinaryToHexString` 和 `HexStringToBinary`...