相信很多针对报文进行组织与拆解,在C、C++里有memset的功能很容易完成字符串里填充0x00,
在java里同样很容易做到,则是用\000,八进制来表示。
测试代码如下:
package j8583.example;
import java.util.ArrayList;
import java.util.Arrays;
import com.solab.iso8583.util.Util;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String ss = "123\00045\000678"+"\00000"+"9" ;
System.out.println("00 ="+ss+"\000" );
System.out.println(ss.length());
System.out.println(Util.printMsgHex(ss.getBytes(),0 , ss.length()));
String ss2 = "123\u0000450\u0000678"+"00X000"+"9" ;
System.out.println("00 ="+ss2+"\u0000" );
System.out.println(ss2.length());
System.out.println(Util.printMsgHex(ss2.getBytes(),0 , ss2.length()));
}
}
结果如下:
从测试结果可以看出,\000适合占一字节的情形。