From a84348aeaae436edca16a4256a72dcf55f34b9e6 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 12 Jun 2025 22:30:39 +1000 Subject: [PATCH] Optimize based on feedback --- .../Profiles/Exif/ExifEncodedStringHelpers.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 34bbbb79d..d2b88cbff 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -67,29 +67,23 @@ internal static class ExifEncodedStringHelpers if (code == CharacterCode.Unicode && textBuffer.Length >= 2) { // Check BOM - if (textBuffer[0] == 0xFF && textBuffer[1] == 0xFE) + if (textBuffer.StartsWith((ReadOnlySpan)[0xFF, 0xFE])) { // Little-endian BOM string text = Encoding.Unicode.GetString(textBuffer[2..]); encodedString = new EncodedString(code, text); return true; } - else if (textBuffer[0] == 0xFE && textBuffer[1] == 0xFF) + + if (textBuffer.StartsWith((ReadOnlySpan)[0xFE, 0xFF])) { // Big-endian BOM string text = Encoding.BigEndianUnicode.GetString(textBuffer[2..]); encodedString = new EncodedString(code, text); return true; } - else - { - // No BOM, use EXIF byte order - string text = GetEncoding(code, order).GetString(textBuffer); - encodedString = new EncodedString(code, text); - return true; - } } - else + { string text = GetEncoding(code, order).GetString(textBuffer); encodedString = new EncodedString(code, text);