【问题标题】:How to get the bytes of a control character in Java如何在Java中获取控制字符的字节
【发布时间】:2015-04-19 22:46:48
【问题描述】:

我需要获取控制字符 STX (02h) 的字节以附加到我需要发送到控制器板的流中。

如何在 Java 中获取 STX 控制字符的字节?

【问题讨论】:

标签: java character


【解决方案1】:

控制字符的字节取决于控制器板使用的编码。对于 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
  • @AdrianLeonhard - 这行得通 - 谢谢!!!该板确实使用标准的 ASCII 字符。
  • @RealSkeptic 你是对的,当然,我改进了我的答案。
猜你喜欢
  • 2017-07-21
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2014-08-27
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
相关资源
最近更新 更多