setString method

int setString(
  1. String value,
  2. BufferEncoding encoding, [
  3. int offset = 0,
  4. int? length,
])

Writes an `encoded value to a region of the buffer.

Returns the position of the last element written to the buffer (offset + decoded-length).

The encoded value is written to the range [offset : offset+length]. If length is omitted, the range extends to the end of the buffer.

The range must satisy the relations 0offsetoffset+lengththis.length.

final Buffer buffer = Buffer(7);
const String value = '4869204B617465';
buffer.setString(value, BufferEncoding.hex, 0, 2);
print(buffer); // [72, 105, 0, 0, 0, 0, 0]
buffer.setString(value, BufferEncoding.hex, 0);
print(buffer); // [72, 105, 32, 75, 97, 116, 101]

Implementation

int setString(
  final String value,
  final BufferEncoding encoding, [
  final int offset = 0,
  final int? length,
]) {
  final Iterable<int> bytes = _decode(value, encoding);
  final int rngLength = length ?? min(this.length - offset, bytes.length);
  _data.setRange(offset, offset + rngLength, bytes);
  return offset + rngLength;
}