>>10
超速レスありがとうございます。
たとえば、Stringはbyte[] にパケットの内容を入れ込んで作成したとき、
byte[] packbuff = new byte[パケットの内容を入れます。もちろん0x00も途中にあります];
String test = new String (packbuff);

これでtest.getBytes() でbyte列をとると、おかしなことになります。
これはUnicodeのエンコード処理が絡んでるから?みたいです。
StringBufferも同様にUnicodeを扱う「char」を格納するためのコンテナ(って呼ぶんですか?)ですよね。
パケットをもらって、それをStringみたいなクラスに格納、そしていつでもとりだせる・・
ってやりたいんですけど、StringやStringBuffer自体の使い方が間違ってますか・・;;