コード例 #1
0
 static public bool check(uni_bom_t typ, byte[] uni, byte[] range)
 {
     for (int i = 0; i < uni.Length; i++)
     {
         if (uni[i] != range[i])
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #2
0
        static public bool check(uni_bom_t typ, byte[] range)
        {
            byte[] ck;
            switch (typ)
            {
            case uni_bom_t.UTF32_BE: return(check(typ, bom_utf32_be, range));

            case uni_bom_t.UTF32_LE: return(check(typ, bom_utf32_le, range));

            case uni_bom_t.UTF16_BE: return(check(typ, bom_utf16_be, range));

            case uni_bom_t.UTF16_LE: return(check(typ, bom_utf16_be, range));

            case uni_bom_t.UTF8: return(check(typ, bom_utf8, range));

            default: return(false);
            }
        }
コード例 #3
0
        /// returns the default (Ansi) Encoding if no encoding is found
        static public System.Text.Encoding get_encoder(byte[] range)
        {
            uni_bom_t t = check(range);

            if (t == uni_bom_t.Unknown)
            {
                return(System.Text.Encoding.Default);
            }
            switch (t)
            {
            case uni_bom_t.UTF32_BE:
            case uni_bom_t.UTF32_LE:
                return(System.Text.Encoding.UTF32);

            case uni_bom_t.UTF16_BE:
            case uni_bom_t.UTF16_LE:
                return(System.Text.Encoding.Unicode);

            case uni_bom_t.UTF8: return(System.Text.Encoding.UTF8);
            }
            return(System.Text.Encoding.Default);
        }