>>386
>out.print(packet);    /* out はソケット出力ストリーム */
out#write(byte[] b); を使ってくらさい。
char は unicodeで一文字を示すための型で、符号なし 2byte値です。
(サロゲートペアとかあるとそうでもないけど)

print() は Unicode から encoding の変換を伴うので、
その際に変換不能な文字は 0x3F('?') とか \uFFFD(定義領域外を示す) とかに
置き換えられます。