【发布时间】:2015-04-19 22:46:48
【问题描述】:
我需要获取控制字符 STX (02h) 的字节以附加到我需要发送到控制器板的流中。
如何在 Java 中获取 STX 控制字符的字节?
【问题讨论】:
-
STX 是 ASCII 中的单个字符,不是由文字“STX”表示的。
我需要获取控制字符 STX (02h) 的字节以附加到我需要发送到控制器板的流中。
如何在 Java 中获取 STX 控制字符的字节?
【问题讨论】:
控制字符的字节取决于控制器板使用的编码。对于 ASCII:
"\u0002".getBytes(StandardCharsets.US_ASCII);
请注意,如果您将字符写入输出流,则应使用配置了正确编码的 Writer 包装它:
OutputStream controllerOutputStream;
Charset controllerCharset = StandardCharsets.US_ASCII; // probably ASCII
Writer controllerWriter = new OutputStreamWriter(controllerOutputStream, controllerCharset);
controllerWriter.append('\u0002'); // append a single character
【讨论】:
getBytes(),而不是toBytes()。第二,不在utf-16。