code: public void setValueAscii(byte[] bytes, int offset, int len) {
  		if (bytes == null) {
  			throw new NullPointerException("Bytes must not be null");
  		}
  		if (len < 0 | offset < 0 | offset > bytes.length - len) {
  			throw new IndexOutOfBoundsException();
  		}
  		
  		ensureSize(len);
  		this.len = len;
  		this.hashCode = 0;
  		
  		final char[] chars = this.value;
  		
  		for (int i = 0, limit = offset + len; offset < limit; offset++, i++) {
  			chars[i] = (char) (bytes[offset] & 0xff);
  		}
  	}
docs: Sets the value of this <code>StringValue</code>, assuming that the binary data is ASCII coded. The n-th character of the
  <code>StringValue</code> corresponds directly to the n-th byte in the given array after the offset.
  
  @param bytes The binary character data.
  @param offset The offset in the array.
  @param len The number of bytes to read from the array.