关于java字符集的有关问题(bytes[])。十分感谢

关于java字符集的问题(bytes[])。在线等,急。十分感谢
byte[] des = new byte[998 + 139 + 16];
byte[] tmp = new byte[139];
byte[] tmpbyte = commarea.getBytes("935");
System.arraycopy(tmpbyte, 0, tmp, 0, tmpbyte.length);
System.arraycopy(tmp, 0, des, 0, 139);
  报文拼接整个过程以下部分略
用这种方式拼接des报文。
对于有的字符串,例如字符长度为5,拼接的目标BYTE流长度为20。那么BYTE流前五位为字符串,后面15位为空。
类似于:“47703 ”。这个是想要的。

但是有的字符串,同样字符长度为5,拼接的目标BYTE流长度为20。通过这种方式拼接,会在后面15位形成乱码。
类似于:“47703口口口口口口口口口口口口口口口”

请问,该如何才能去掉后面的“口口口口口口口口口口口口口口口”。得到“47703 ”这种想要的格式。

---------------------------------------
另外,将“47703口口口口口口口口口口口口口口口”写入本地的文本文件中(如:c:/sql.txt)。
在c:/sql.txt中,看到的格式为“47703 ”。

----------------------------------------
编辑器的格式为GB18030


------解决方案--------------------
编辑器的格式为GB18030,达不到要求,你就不能换一种方式
------解决方案--------------------
口口口 不是乱码,是使用的字体里没有这些字符。

乱码是一堆无意义的乱七八糟的字符组合。