private static void writeGeneralBinaryEntry(byte[] valueBytes,boolean isAsc,ByteStream bout){
  int dataLen=valueBytes.length;
  int extraLen=(dataLen + 7) / 8;
  int entryLen=((dataLen + extraLen + 8) / 9) * 9;
  bout.ensureNewCapacity(entryLen);
  byte[] partialEntryBytes=new byte[9];
  int segmentLen=dataLen;
  int pos=0;
  while (segmentLen > 8) {
    System.arraycopy(valueBytes,pos,partialEntryBytes,0,8);
    if (!isAsc) {
      flipBytes(partialEntryBytes,0,8);
    }
    partialEntryBytes[8]=(byte)9;
    pos+=8;
    segmentLen-=8;
    bout.write(partialEntryBytes);
  }
  if (segmentLen > 0) {
    System.arraycopy(valueBytes,pos,partialEntryBytes,0,segmentLen);
    for (int i=segmentLen; i < 8; ++i) {
      partialEntryBytes[i]=0;
    }
    partialEntryBytes[8]=(byte)segmentLen;
    if (!isAsc) {
      flipBytes(partialEntryBytes,0,9);
    }
    bout.write(partialEntryBytes);
  }
}

private static void writeGeneralBinaryEntry ( byte [ ] valueBytes , boolean isAsc , ByteStream bout ) { int dataLen = valueBytes . length ; int extraLen = ( dataLen + 7 ) / 8 ; int entryLen = ( ( dataLen + extraLen + 8 ) / 9 ) * 9 ; bout . ensureNewCapacity ( entryLen ) ; byte [ ] partialEntryBytes = new byte [ 9 ] ; int segmentLen = dataLen ; int pos = 0 ; while ( segmentLen > 8 ) { System . arraycopy ( valueBytes , pos , partialEntryBytes , 0 , 8 ) ; if ( ! isAsc ) { flipBytes ( partialEntryBytes , 0 , 8 ) ; } partialEntryBytes [ 8 ] = ( byte ) 9 ; pos += 8 ; segmentLen -= 8 ; bout . write ( partialEntryBytes ) ; } if ( segmentLen > 0 ) { System . arraycopy ( valueBytes , pos , partialEntryBytes , 0 , segmentLen ) ; for ( int i = segmentLen ; i < 8 ; ++ i ) { partialEntryBytes [ i ] = 0 ; } partialEntryBytes [ 8 ] = ( byte ) segmentLen ; if ( ! isAsc ) { flipBytes ( partialEntryBytes , 0 , 9 ) ; } bout . write ( partialEntryBytes ) ; } }
writes a binary value using the general binary entry encoding rules .
