@Override public void write(String str,int off,int len) throws IOException {
  final int off_plus_len=off + len;
  for (int i=off; i < off_plus_len; ) {
    char c=str.charAt(i++);
    if (c < 0x80) {
      _bytes[_index]=(byte)c;
      if (++_index >= _bytes.length) {
        flushBuffer();
      }
    }
 else {
      write(c);
    }
  }
}

@ Override public void write ( String str , int off , int len ) throws IOException { final int off_plus_len = off + len ; for ( int i = off ; i < off_plus_len ; ) { char c = str . charAt ( i ++ ) ; if ( c < 0x80 ) { _bytes [ _index ] = ( byte ) c ; if ( ++ _index >= _bytes . length ) { flushBuffer ( ) ; } } else { write ( c ) ; } } }
writes a portion of a string .
