java tcp发送16进制字符串
时间: 2023-09-30 10:06:31 浏览: 81
在Java中,可以通过Socket和OutputStream将16进制字符串转换为字节数组并发送。
以下是一个示例代码:
```java
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class HexStringSender {
public static void main(String[] args) throws IOException {
String hexString = "deadbeef"; // 16进制字符串
byte[] bytes = hexStringToByteArray(hexString); // 将16进制字符串转换为字节数组
Socket socket = new Socket("127.0.0.1", 8888); // 连接服务器
OutputStream outputStream = socket.getOutputStream();
outputStream.write(bytes); // 发送字节数组
outputStream.flush();
socket.close();
}
private static byte[] hexStringToByteArray(String hexString) {
int len = hexString.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4)
+ Character.digit(hexString.charAt(i + 1), 16));
}
return data;
}
}
```
在上面的代码中,我们将16进制字符串 `deadbeef` 转换为字节数组,并通过Socket和OutputStream将其发送到服务器上。您需要将`127.0.0.1`和`8888`替换为服务器的IP地址和端口号。
阅读全文