7

I need to add some non printable chars to a string in java so it can be sent down a tcp pipe. the chars mean something to the protocol I am using (record separator and end of message respectively)

what is the best way to go about doing this?

Ideally I'l like to refer to them as constants so that I can use string concatonation/stringbuilder/string.format to add them where required, without having to type them out.

For the curious the chars I need are ASCIIx1E (Record separator) and ACSIIx03 (End of Text).

3 Answers 3

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

    private ProtocolConstants() {}
}

something like that?

Sign up to request clarification or add additional context in comments.

Comments

7

If you wish, you can write these as Unicode literals (in chars or Strings):

final String endOfText = "\u0003";

I am assuming that you don't literally want ASCII for a byte-based protocol (the chars are still 16 bits).

Comments

1

You can add any chars to a Java String. But a String is probably not what you want if you just want to transmit binary data. Consider using a byte[] or some other byte-oriented interface.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.