/**
* @Package:
* @ClassName:TypeConversion
* @Description:字节流、字符串、16进制字符串转换
* @author:xk
* @date:Jan 8, 2013 5:00:08 PM
*/
public class TypeConversion {
/**
* @Title:bytes2HexString
* @Description:字节数组转16进制字符串
* @param b
* 字节数组
* @return 16进制字符串
* @throws
*/
public static String bytes2HexString(byte[] b) {
StringBuffer result = new StringBuffer();
String hex;
for (int i = 0; i < b.length; i++) {
hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
result.append(hex.toUpperCase());
}
return result.toString();
}
/**
* @Title:hexString2Bytes
* @Description:16进制字符串转字节数组
* @param src
* 16进制字符串
* @return 字节数组
* @throws
*/
public static byte[] hexString2Bytes(String src) {
int l = src.length() / 2;
byte[] ret = new byte[l];
for (int i = 0; i < l; i++) {
ret[i] = (byte) Integer
.valueOf(src.substring(i * 2, i * 2 + 2), 16).byteValue();
}
return ret;
}
/**
* @Title:string2HexString
* @Description:字符串转16进制字符串
* @param strPart
* 字符串
* @return 16进制字符串
* @throws
*/
public static String string2HexString(String strPart) {
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < strPart.length(); i++) {
int ch = (int) strPart.charAt(i);
String strHex = Integer.toHexString(ch);
hexString.append(strHex);
}
return hexString.toString();
}
/**
* @Title:hexString2String
* @Description:16进制字符串转字符串
* @param src
* 16进制字符串
* @return 字节数组
* @throws
*/
public static String hexString2String(String src) {
String temp = "";
for (int i = 0; i < src.length() / 2; i++) {
temp = temp
+ (char) Integer.valueOf(src.substring(i * 2, i * 2 + 2),
16).byteValue();
}
return temp;
}
/**
* @Title:char2Byte
* @Description:字符转成字节数据char-->integer-->byte
* @param src
* @return
* @throws
*/
public static Byte char2Byte(Character src) {
return Integer.valueOf((int)src).byteValue();
}
/**
* @Title:intToHexString
* @Description:10进制数字转成16进制
* @param a 转化数据
* @param len 占用字节数
* @return
* @throws
*/
private static String intToHexString(int a,int len){
len<<=1;
String hexString = Integer.toHexString(a);
int b = len -hexString.length();
if(b>0){
for(int i=0;i<b;i++) {
hexString = "0" + hexString;
}
}
return hexString;
}
public static void main(String args[]) {
System.out.println(hexString2String("3133383131313536373838"));
}
}
分享到:
相关推荐
在易语言中,可以使用`十六进制字符串`函数将字节转换成16进制字符串。 4. **拼接16进制字符串**:将转换后的16进制字符串逐个连接起来,形成完整的16进制文本。 5. **输出或存储**:最后,你可以选择将16进制文本...
"16进制字符串显示图片工具" 是一个专门用来将16进制字符串转换为可视图像的应用程序。这个工具基于C#(简称CS)语言构建,利用其丰富的库函数和面向对象的特性,实现了从16进制数据到图像的转换功能。C#中的System....
在 Java 中,我们可以使用 `HexString2Bytes` 函数将 16 进制字符串转换为 byte 数组。该函数接受一个参数 src,即 16 进制字符串,然后将其转换为 byte 数组。 ```java public static byte[] HexString2Bytes...
本程序主要用于将从串口助手等软件中获取的JPG图片十六进制字符串转换为字节流,以便能够直接观看。 十六进制字符串文本存放到in.txt中,该程序将其转换成图片in.jpg 其中输入文档为“in.txt”,输出文件为“in.jpg...
此工具应用于Android端与硬件通过socket通信时,需要传递的字节流,用于16进制数据流和字符串的相互转换工具类
问题描述 最近做一个项目,是用Python进行相关的串口操作...首先,我们需要知道的是,我们首先,需要用字符串构造成上面的指令,然后我们将它转换成bytes。我们可以使用encode()函数将字符串转为bytes格式: 然后我们
整个图片的数据流会被转换成一串16进制字符串,可以写入文本文件或数据库中。 4. **16进制转图片**: 当需要恢复图片时,16进制字符串需要反向转换。首先,将16进制字符串拆分成单个字节,然后将每个字节转换回二...
6. **二进制与十六进制字符串转换** 有时我们需要将二进制数据表示为十六进制字符串。可以使用`BitConverter.ToString(bytes)`,但结果会包含破折号,可通过`String.Replace("-", "")`去除。逆向转换则需要手动...
首先,字符串到数字的转换可以分为两类:将十六进制字符串转换为十六进制字节流,以及将由十六进制或十进制数字组成的字符串转换为对应的整数。 在介绍具体的函数代码之前,我们需要了解一些基本的编程概念和函数。...
易语言提供了`取字节集数据`命令来获取字节集中的单个字节,然后可以使用`整数转16进制字符串`命令将字节转换为16进制字符串。对于整个字节集,需要循环遍历每个字节并进行转换,最后将这些16进制字符串拼接起来形成...
将这两个字节转换为16进制字符串。 3. 输出16进制表示:将处理后的16进制字符串连接起来,形成整个文本的16进制表示。 反过来,从16进制转换回GBK编码的过程: 1. 解析16进制字符串:将16进制字符串按每两个字符一...
1. 发送16进制数据:考虑到串口通信通常涉及原始的二进制数据,此部分可能实现了将16进制字符串转换为字节序列,并通过SerialPort对象发送出去的功能。需要注意的是,由于空格在二进制数据中不被允许,因此发送的...
每接收一个字符,需要判断它是否为有效十六进制字符,并将其转换为对应的二进制值。 4. **数据存储**:接收到的十六进制数据需要存储在内存中。这通常涉及开辟内存空间,使用数组或者结构体来保存数据。同时,还...
例如,可以创建一个 `HexDecoder` 和 `HexEncoder`,分别处理从16进制字符串到字节的转换和反之的过程。这些处理器可以被添加到Netty的管道(`ChannelPipeline`)中,以便在数据传输时自动应用。 6. **...
发送时,将16进制字符串转换成字节流,接收时将字节流还原为16进制字符串。 3. 数据校验:为了确保数据的完整性和准确性,可以使用CRC(循环冗余校验)或其他校验算法来检查接收到的数据是否与发送的数据一致。 4....
- **解析16进制字符串**:如果接收到的是16进制字符串,我们需要将其转换回原始字节。这通常涉及解析每个两位的16进制数字,并用`std::stoul`或类似方法转换为整数,然后再组合成字节序列。 - **数据校验**:确保...
- 使用`AnsiBytesToString`和`IntToHex`函数:你可以先将字符串转换为字节数组,然后逐个字节转换为十六进制字符串。例如,`IntToHex(Ord(Char),2)`可以将一个字符转换为两位的十六进制字符串。 - 或者,你可以...
这可以通过编程语言内置的函数实现,比如在Python中可以使用`int(hex_string, 16)`,将16进制字符串转换为整数,再用`bin()`函数将其转为二进制字符串。 3. **Socket创建与连接**: 创建Socket客户端通常包括两步...
这通常涉及将16进制字符串转换为整数,然后将整数转换为字节: ```cpp CString hexInput = "0A"; int hexValue = _ttoi(hexInput); BYTE byteToSend = static_cast(hexValue); m_SerialPort.Write(&byteToSend, 1); ...