utf16OffsetAtByte method

  1. @override
int utf16OffsetAtByte(
  1. int byteOffset
)
override

Implementation

@override
int utf16OffsetAtByte(int byteOffset) {
  RangeError.checkValueInInterval(byteOffset, 0, _byteLength, 'byteOffset');
  final row = _lineAtByte(byteOffset);
  var result = _lineUtf16Starts[row];
  for (var index = _lineStarts[row]; index < byteOffset; index++) {
    final byte = byteAt(index);
    if ((byte & 0xc0) == 0x80) continue;
    result += byte >= 0xf0 ? 2 : 1;
  }
  return result;
}