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;
}