convert method

  1. @override
Uint8List convert(
  1. String string, [
  2. int start = 0,
  3. int? end
])
override

Converts string to its GBK code units (a list of unsigned 8-bit integers).

If start and end are provided, only the substring string.substring(start, end) is converted.

Implementation

@override
Uint8List convert(String string, [int start = 0, int? end]) {
  var stringLength = string.length;
  end = RangeError.checkValidRange(start, end, stringLength);
  var length = end - start;
  if (length == 0) return Uint8List(0);

  var encoder = _GbkStreamEncoder.withBufferSize(stringLength * 2);
  var ending = encoder.encode(string, start, end);
  return encoder._buffer.sublist(0, ending);
}