hasUtf16BeBom function

bool hasUtf16BeBom(
  1. List<int> utf16EncodedBytes, [
  2. int offset = 0,
  3. int? length
])

Identifies whether a List of bytes starts (based on offset) with a big-endian byte-order marker (BOM).

Implementation

bool hasUtf16BeBom(List<int> utf16EncodedBytes, [int offset = 0, int? length]) {
  var end = length != null ? offset + length : utf16EncodedBytes.length;
  return (offset + 2) <= end &&
      utf16EncodedBytes[offset] == unicodeUtfBomHi &&
      utf16EncodedBytes[offset + 1] == unicodeUtfBomLo;
}