如何在OutputStream中编写ASCII

时间:2015-12-16 07:23:03

标签: java

根据Datamax文档:

<CR> is used to identify the line termination character. Other strings placed
between < > in this manual represent the character of the same ASCII name, and
are single-byte hexadecimal values (e.g., <STX>, <CR>, and <0x0D> equal 02, 0D,
and 0D, respectively). 

我正在尝试编写代码&lt; CR&GT;在Printer OutputStream中,但我不知道如何?我尝试了以下代码:

outputStream.write("<CR>");

但它没有奏效。如何在输出流中编写ASCII和十六进制?

2 个答案:

答案 0 :(得分:3)

请参阅ASCII表:http://www.asciitable.com/

<CR>为十六进制D,十进制13,八进制015

在Java字符串文字中,可以通过3种方式对其进行转义:

再次查看该ASCII表,您还可以看到<STX>是十六进制2,十进制2,八进制2,其中Java是{{1} }或\002。没有\u0002的字母版本,例如<STX>的{​​{1}}。

注意:八进制表格可以用一个,两个或三个数字的变体写成,例如: \r<CR>\2,但最好使用3位数版本。实际上,JLS说:

  

提供八进制转义以与C兼容,但只能表达\02\002的Unicode值,因此通常首选Unicode转义。

答案 1 :(得分:1)

此处,<CR>表示“回车”,即"\r"。但是,如果您有一个OutputStream,并且想要为其编写文本,我建议将其包装在OutputStreamWriter中,并指定适当的编码。然后,您可以适当地使用面向文本的调用。

对于其他值,您可以使用\uxxxx,例如STX \u0002