在Java中将不可打印的字符添加到字符串中?

Oma*_*eji 6 java string ascii

我需要在java中的字符串中添加一些不可打印的字符,以便可以通过tcp管道发送.字符对我正在使用的协议有意义(分别记录分隔符和消息结束)

这样做的最佳方法是什么?

理想情况下,我想将它们称为常量,以便我可以使用字符串连接/ stringbuilder/string.format在需要时添加它们,而无需键入它们.

好奇的是,我需要的字符是ASCIIx1E(记录分隔符)和ACSIIx03(文本结束).

dfa*_*dfa 8

public final class ProtocolConstants {
    public final char RECORD_SEPARATOR = 0x1e;
    public final char END_OF_TEXT = 0x03;

    private ProtocolConstants() {}
}
Run Code Online (Sandbox Code Playgroud)

这样的事情?


McD*_*ell 5

如果愿意,可以将它们编写为Unicode文字(以char或Strings形式):

final String endOfText = "\u0003";
Run Code Online (Sandbox Code Playgroud)

我假设您实际上不希望基于ASCII的协议使用ASCII(字符仍然是16位)。