}
}
Tsfile t1=new Tsfile();
- //inf="'D:\\jTssplitter\\test.ts'";
- //outf="'D:\\jTssplitter\\test.split-5test.ts'";
+ inf="'D:\\jTssplitter\\test.ts'";
+ outf="'D:\\jTssplitter\\test.split-5test.ts'";
inf=inf.replace("\"","");
inf=inf.replace("\'","");
outf=outf.replace("\"","");
byte[] b=new byte[2];
b[0]=ts[1];
b[1]=ts[2];
- //String s=byte2String(b);
+ //String s=byte2String2(b);
//s=s.substring(3,16);
- return Integer.parseInt(byte2String(b).substring(3,16),2);
+
+ return Integer.parseInt(byte2String2(b).substring(3,16),2);
}
public void readTS(byte[] ts) {
/**
* 188バイトのtsから読み出したbyteを与える
*/
- String tsbyte = byte2String(ts);
+ String tsbyte = byte2String2(ts);
//header = tsbyte.substring(0, 31);
payload = tsbyte.substring(32);
//starter = TSString2Int(tsbyte, 0, 8);
}else{
bPAT_payload=tbb;
}
- String tsbyte = byte2String(ts);
+ String tsbyte = byte2String2(ts);
String tsheader = "";
header = tsbyte.substring(0, 31);
payload = tsbyte.substring(32);
if ((sb2.length() < 8) & (sb2.length() > 0)) {
sb2.insert(0,addzero(8-sb2.length()));
}
- String s3=sb2.toString();
sb.append(sb2);
}
return sb.toString();
}
+ private String byte2String2(byte[] b){
+ int bl=b.length;
+ bl=bl-bl%8;
+ bl=bl/8;
+ StringBuffer sb=new StringBuffer();
+ for (int i=0;i<bl;i++){
+ long retl=0;
+ for (int j=0;j<8;j++){
+ retl=retl<<8;
+ int ri=b[i*8+j]&0xFF;
+ retl=retl+ri;
+ }
+ sb.append(Long2String(retl,64));
+ }
+ int bl2=b.length%8;
+ bl2=(bl2-bl2%4)/4;
+ for (int i=0;i<bl2;i++){
+ int reti=0;
+ for (int j=0;j<4;j++){
+ reti=reti<<8;
+ reti=reti+(b[bl*8+4*i+j]&0xFF);
+ }
+ sb.append(Int2String(reti,32));
+ }
+ for (int i=0;i<(b.length%8)%4;i++){
+ sb.append(Int2String(b[bl*8+bl2*4+i]&0xFF,8));
+ }
+ return sb.toString();
+ }
private String byte2HexString(byte[] b) {
String ret = "";