我需要在Java中向字符串添加一些不可打印字符,以便将其发送到TCP管道。这些字符对我使用的协议很重要(分隔记录和消息结束)。最好的方法是什么?理想情况下,我希望将它们称为常量,以便可以使用字符串连接/ StringBuilder / string.format 在所需位置添加它们,而无需手动键入它们。对于好奇的人,我需要的字符是ASCIIx1E(记录分隔符)和ACSIIx03(文本结束)。
public final class ProtocolConstants {
public final char RECORD_SEPARATOR = 0x1e;
public final char END_OF_TEXT = 0x03;
private ProtocolConstants() {}
}
something like that?
final String endOfText = "\u0003";
我假设你并不是真的想要ASCII作为基于字节的协议(字符仍然是16位)。
你可以向Java的String
中添加任何字符。但是,如果你只想传输二进制数据,String
可能不是你想要的。考虑使用byte[]
或其他面向字节的接口。