[英]From Python to Java how can I do hex escape sequences?
我正在嘗試通過 Socket 命令控制繼電器板。
我能夠制作一個運行良好的小型 Python 程序:
import socket
HOST = '192.168.1.1'
PORT = 5000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
DATA = '\x58\x01\x12\x00\x00\x00\x05\x70'
s.send(DATA)
data = s.recv(4096)
s.close()
d = data.encode('hex').upper()
print 'Received', repr(d)
現在我想將它切換到 Java,但是我在發送 HEX 字符串時遇到了問題,我知道在 Java 中應該寫為:0x58, 0x01, 0x12........任何人都可以幫我在有效的 Java 例程中轉換這幾行?
在 Java 中,如果你寫String command = ("0x58, 0x01, 0x12, 0x00, 0x00, 0x00, 0x04, 0x6F");
, command
將是一個只包含您輸入的字符的字符串。 如果要使用byte
數組然后使用該字節數組初始化字符串,您需要做什么。 像這樣的東西:
byte[] buffer = new byte[]{
(byte)0x58,
(byte)0x01,
(byte)0x12,
(byte)0x00,
(byte)0x00,
(byte)0x00,
(byte)0x04,
(byte)0x6F
};
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
String command = new String(buffer);
wr.write(command);
System.out.println(command);
// Flushing the writer
wr.flush();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.