2009-07-22 6 views
6

javaの文字列に印刷できない文字を追加する必要があります。そのため、tcpパイプを使って送ることができます。文字は、私が使用しているプロトコル(レコードセパレータとメッセージの終わりのそれぞれ)に何かを意味します。Javaの文字列に印刷できない文字を追加しますか?

これを行う最善の方法は何ですか?

理想的には、それらを定数として参照して、string concatation/stringbuilder/string.formatを使用して、必要な場所にそれらを入力することなく追加することができます。

私が必要とする文字はASCIIx1E(レコードセパレータ)とACSIIx03(テキストの終わり)です。

答えて

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

    private ProtocolConstants() {} 
} 

何か?

3

ご希望の場合は、(文字または文字列で)のUnicodeリテラルとしてこれらを記述することができます。

final String endOfText = "\u0003"; 

を私はあなたがいないと仮定しています文字通り、バイトベースのプロトコルにはASCIIが必要です(文字はまだ16ビットです)。

1

任意の文字をJava Stringに追加できます。しかし、Stringはおそらく、バイナリデータを送信したいだけの場合は必要ありません。 byte[]またはその他のバイト指向のインタフェースを使用することを検討してください。

関連する問題