BOM size for different encodings

The number of bytes for the Byte Order Mark („BOM“) differs among the used encodings.

public static bool IsBomRelevantEncoding(
    Encoding encoding,
    out int bomSizeBytes )
{
    if ( encoding == Encoding.Unicode )
    {
        bomSizeBytes = 2;
        return true;
    }
    else if ( encoding == Encoding.UTF32 )
    {
        bomSizeBytes = 4;
        return true;
    }
    else if ( encoding == Encoding.UTF8 )
    {
        bomSizeBytes = 3;
        return true;
    }
    else if ( encoding == Encoding.UTF7 )
    {
        bomSizeBytes = 4;
        return true;
    }
    else
    {
        bomSizeBytes = 0;
        return false;
    }
}

References:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.