packString method

void packString(
  1. String str
)

Implementation

void packString(String str) {
  var encoded = _textEncoder.convert(str);
  int length = encoded.length;

  if (length <= 0x0f) {
    packUint8(0xb0 + length);
  } else if (length <= 0xffff) {
    _bufferBuilder.append(0xd8);
    packUint16(length);
  } else if (length <= 0xffffffff) {
    _bufferBuilder.append(0xd9);
    packUint32(length);
  } else {
    throw Exception('Invalid length');
  }
  _bufferBuilder.appendBuffer(encoded.buffer);
}