setString method
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 0 ≤ offset ≤ offset+length ≤ this.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;
}