webengine/wmlengine/src/utils/src/TEncodingMapping.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 27 Aug 2009 07:44:59 +0300
changeset 10 a359256acfc6
parent 0 dd21522fd290
child 26 cb62a4f66ebe
permissions -rw-r--r--
Revision: 200929 Kit: 200935
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     1
/*
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     8
*
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    11
*
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    12
* Contributors:
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    13
*
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    14
* Description:  
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    15
*
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    16
*/
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    17
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    18
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    19
#include "TEncodingMapping.h"
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    20
#include "nwx_http_defs.h"
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    21
#include "nwx_defs.h"
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    22
#include <charconv.h>
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    23
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    24
const SupportedCharset supportedCharset[] =
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    25
    {
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    26
    {KCharacterSetIdentifierIso88591, HTTP_iso_8859_1, EISO8859_1, (NW_Uint8*)NW_Iso88591_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    27
    {KCharacterSetIdentifierIso88591, HTTP_iso_8859_1, EISO8859_1, (NW_Uint8*)NW_Windows1252_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    28
    {KCharacterSetIdentifierUtf8,     HTTP_utf_8,      EUTF8,      (NW_Uint8*)NW_Utf8_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    29
    {KCharacterSetIdentifierGb2312,   HTTP_gb2312,     EGb2312,    (NW_Uint8*)NW_Gb2312_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    30
    {KCharacterSetIdentifierBig5,     HTTP_big5,       EBig5,      (NW_Uint8*)NW_Big5_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    31
    {KCharacterSetIdentifierIso88592, HTTP_iso_8859_2, EISO8859_2, (NW_Uint8*)NW_Iso88592_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    32
    {KCharacterSetIdentifierIso88594, HTTP_iso_8859_4, EISO8859_4, (NW_Uint8*)NW_Iso88594_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    33
    {KCharacterSetIdentifierIso88595, HTTP_iso_8859_5, EISO8859_5, (NW_Uint8*)NW_Iso88595_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    34
    {KCharacterSetIdentifierIso88596, HTTP_iso_8859_6, EISO8859_6, (NW_Uint8*)NW_Iso88596_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    35
    {KCharacterSetIdentifierIso88597, HTTP_iso_8859_7, EISO8859_7, (NW_Uint8*)NW_Iso88597_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    36
    {KCharacterSetIdentifierIso88598, HTTP_iso_8859_8, EISO8859_8, (NW_Uint8*)NW_Iso88598_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    37
    {KCharacterSetIdentifierIso88599, HTTP_iso_8859_9, EISO8859_9, (NW_Uint8*)NW_Iso88599_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    38
    {KCharacterSetIdentifierIso88599, HTTP_iso_8859_9, EISO8859_9, (NW_Uint8*)NW_Iso885915_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    39
    {0x100059d6, HTTP_windows_1250, EWindows1250, (NW_Uint8*)NW_Windows1250_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1250
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    40
    {0x100059D7, HTTP_windows_1251, EWindows1251, (NW_Uint8*)NW_Windows1251_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1251
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    41
    {0x100059D8, HTTP_windows_1253, EWindows1253, (NW_Uint8*)NW_Windows1253_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1253
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    42
    {0x100059D9, HTTP_windows_1254, EWindows1254, (NW_Uint8*)NW_Windows1254_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1254
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    43
    {0x101F8547, HTTP_windows_1255, EWindows1255, (NW_Uint8*)NW_Windows1255_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1255
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    44
    {0x101F8547, HTTP_windows_1255, EWindows1255, (NW_Uint8*)NW_Iso88598i_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1255
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    45
    {0x101F8548, HTTP_windows_1256, EWindows1256, (NW_Uint8*)NW_Windows1256_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1256
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    46
    {0x100059DA, HTTP_windows_1257, EWindows1257, (NW_Uint8*)NW_Windows1257_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-1257
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    47
    {0x101F8549, HTTP_tis_620,      ETis620,      (NW_Uint8*)NW_Tis_620_CharsetStr, NW_TRUE}, // no header file is provided with the converter tis-620
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    48
    {KCharacterSetIdentifierShiftJis,    HTTP_shift_JIS,      EShiftJis,      (NW_Uint8*)NW_ShiftJis_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    49
    {KCharacterSetIdentifierShiftJis,    HTTP_shift_JIS,      EShiftJis,      (NW_Uint8*)NW_ShiftJis_CharsetStr2, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    50
    {KCharacterSetIdentifierShiftJis,    HTTP_shift_JIS,      EShiftJis,      (NW_Uint8*)NW_X_SJis_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    51
    {KCharacterSetIdentifierJis,         HTTP_jis_x0201_1997, EJisX0201_1997, (NW_Uint8*)NW_JisX0201_1997_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    52
    {KCharacterSetIdentifierJis,         HTTP_jis_x0208_1997, EJisX0208_1997, (NW_Uint8*)NW_JisX0208_1997_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    53
    {KCharacterSetIdentifierEucJpPacked, HTTP_euc_jp,         EEucJp,         (NW_Uint8*)NW_EucJp_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    54
    {KCharacterSetIdentifierEucJpPacked, HTTP_euc_jp,         EEucJp,         (NW_Uint8*)NW_X_EucJp_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    55
    {KCharacterSetIdentifierIso2022Jp,   HTTP_iso_2022_jp,    EIso2022Jp,     (NW_Uint8*)NW_Iso2022Jp_CharsetStr, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    56
    {0x101F854A, HTTP_windows_874, EWindows874, (NW_Uint8*)NW_Windows874_CharsetStr, NW_TRUE}, // no header file is provided with the converter windows-874
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    57
    {0x101F8778, HTTP_Koi8_r,      EKoi8_r,     (NW_Uint8*)NW_Koi8r_CharsetStr, NW_TRUE}, // no header file is provided with the converter Russian
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    58
    {0x101F8761, HTTP_Koi8_u,      EKoi8_u,     (NW_Uint8*)NW_Koi8u_CharsetStr, NW_TRUE}, // no header file is provided with the converter Ukrainian
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    59
    {KCharacterSetIdentifierUcs2, HTTP_iso_10646_ucs_2, EISO10646_UCS_2, (NW_Uint8*)NW_Iso10646Ucs2_CharsetStr, NW_FALSE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    60
    {KCharacterSetIdentifierUcs2, HTTP_iso_10646_ucs_2, EISO10646_UCS_2, (NW_Uint8*)NW_Unicode_CharsetStr, NW_FALSE},
10
a359256acfc6 Revision: 200929
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    61
     {0x2000E526, HTTP_euc_kr,      EEucKr,     (NW_Uint8*)NW_EucKr_CharsetStr, NW_TRUE}, // no header file is provided with the converter Ukrainian
a359256acfc6 Revision: 200929
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    62
     {0x200113CD, HTTP_ksc_5601,      EKsc_5601,     (NW_Uint8*)NW_ksc5601_1987_CharsetStr, NW_TRUE}, // no header file is provided with the converter Ukrainian     
0
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    63
    {0, 0, EAutomatic, (NW_Uint8*)NULL, NW_TRUE},
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    64
    {0, 0, EDummyLast, (NW_Uint8*)NULL, NW_TRUE}
dd21522fd290 Revision: 200911
Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com>
parents:
diff changeset
    65
};