internal static int GetPreambleSize()

in binding/SkiaSharp/Util.cs [17:34]


		internal static int GetPreambleSize (SKData data)
		{
			_ = data ?? throw new ArgumentNullException (nameof (data));

			var buffer = data.AsSpan ();
			var len = buffer.Length;

			if (len >= 2 && buffer[0] == 0xfe && buffer[1] == 0xff)
				return 2;
			else if (len >= 3 && buffer[0] == 0xef && buffer[1] == 0xbb && buffer[2] == 0xbf)
				return 3;
			else if (len >= 3 && buffer[0] == 0x2b && buffer[1] == 0x2f && buffer[2] == 0x76)
				return 3;
			else if (len >= 4 && buffer[0] == 0 && buffer[1] == 0 && buffer[2] == 0xfe && buffer[3] == 0xff)
				return 4;
			else
				return 0;
		}