const unsigned int FAEncoding2CodePage()

in blingfirecompile.library/src/FAUtils.cpp [121:230]


const unsigned int FAEncoding2CodePage (const char * pEncStr)
{
    DebugLogAssert (pEncStr);

    const int EncLen = (const int) strlen (pEncStr);

    if (3 < EncLen && 0 == strncmp ("IBM", pEncStr, 3)) {

        const unsigned int CP = atoi (pEncStr + 3);
        return CP;

    } else if (8 < EncLen && 0 == strncmp ("WINDOWS-", pEncStr, 8)) {

        const unsigned int CP = atoi (pEncStr + 8);
        return CP;

    } else if (3 < EncLen && 0 == strncmp ("CP-", pEncStr, 3)) {

        const unsigned int CP = atoi (pEncStr + 3);
        return CP;

    } else if (2 < EncLen && 0 == strncmp ("CP", pEncStr, 2)) {

        const unsigned int CP = atoi (pEncStr + 2);
        return CP;

    } else if (9 < EncLen && 0 == strncmp ("ISO-8859-", pEncStr, 9)) {

        const unsigned int CP = 28590 + atoi (pEncStr + 9);
        return CP;

    } else if (6 == EncLen && 0 == strcmp ("KOI8-R", pEncStr)) {

        return 20866;

    } else if (4 == EncLen && 0 == strcmp ("BIG5", pEncStr)) {

        return 950;

    } else if (9 == EncLen && 0 == strcmp ("DIN_66003", pEncStr)) {

        return 20106;

    } else if (9 == EncLen && 0 == strcmp ("NS_4551-1", pEncStr)) {

        return 20108;

    } else if (12 == EncLen && 0 == strcmp ("SEN_850200_B", pEncStr)) {

        return 20107;

    } else if (12 == EncLen && 0 == strcmp ("CSISO2022JP2", pEncStr)) {

        return 50221;

    } else if (13 == EncLen && 0 == strcmp ("ISO-2022-JP-2", pEncStr)) {

        return 50221;

    } else if (6 == EncLen && 0 == strcmp ("UTF-16", pEncStr)) {

        return 1200;

    } else if (5 == EncLen && 0 == strcmp ("UTF16", pEncStr)) {

        return 1200;

    } else if (5 == EncLen && 0 == strcmp ("UTF-7", pEncStr)) {

        return 65000;

    } else if (4 == EncLen && 0 == strcmp ("UTF7", pEncStr)) {

        return 65000;

    } else if (5 == EncLen && 0 == strcmp ("UTF-8", pEncStr)) {

        return 65001;

    } else if (4 == EncLen && 0 == strcmp ("UTF8", pEncStr)) {

        return 65001;

    } else if (8 == EncLen && 0 == strcmp ("US-ASCII", pEncStr)) {

        return 20127;

    } else if (5 == EncLen && 0 == strcmp ("ASCII", pEncStr)) {

        return 20127;

    } else if (9 == EncLen && 0 == strcmp ("MACINTOSH", pEncStr)) {

        return 10000;

    } else if (3 == EncLen && 0 == strcmp ("MAC", pEncStr)) {

        return 10000;

    } else if (6 == EncLen && 0 == strcmp ("EUC-JP", pEncStr)) {

        return 51932;

    } else if (5 == EncLen && 0 == strcmp ("EUCJP", pEncStr)) {

        return 51932;
    }

    return 0;
}