⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wbxml_charset.h

📁 WAP Binary XML 简单地说
💻 H
字号:
/* * libwbxml, the WBXML Library. * Copyright (C) 2002-2005 Aymerick Jehanne <aymerick@jehanne.org> *  * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *  * LGPL v2.1: http://www.gnu.org/copyleft/lesser.txt *  * Contact: libwbxml@aymerick.com * Home: http://libwbxml.aymerick.com */ /** * @file wbxml_charset.h * @ingroup wbxml_charset * * @author Aymerick Jehanne <libwbxml@aymerick.com> * @date 04/03/24 * * @brief Charset Functions */#ifndef WBXML_CHARSET_H#define WBXML_CHARSET_H#ifdef __cplusplusextern "C" {#endif /* __cplusplus */  /** @addtogroup wbxml_charset  *  @{  *//** WBXML Charsets MIBEnum */typedef enum WBXMLCharsetMIBEnum_e {  WBXML_CHARSET_UNKNOWN         = 0,       /**< Unknown Charset */  WBXML_CHARSET_US_ASCII        = 3,       /**< US-ASCII */  WBXML_CHARSET_ISO_8859_1      = 4,       /**< ISO-8859-1 */  WBXML_CHARSET_ISO_8859_2      = 5,       /**< ISO-8859-2 */  WBXML_CHARSET_ISO_8859_3      = 6,       /**< ISO-8859-3 */  WBXML_CHARSET_ISO_8859_4      = 7,       /**< ISO-8859-4 */  WBXML_CHARSET_ISO_8859_5      = 8,       /**< ISO-8859-5 */  WBXML_CHARSET_ISO_8859_6      = 9,       /**< ISO-8859-6 */  WBXML_CHARSET_ISO_8859_7      = 10,      /**< ISO-8859-7 */  WBXML_CHARSET_ISO_8859_8      = 11,      /**< ISO-8859-8 */  WBXML_CHARSET_ISO_8859_9      = 12,      /**< ISO-8859-9 */  WBXML_CHARSET_SHIFT_JIS       = 17,      /**< Shift_JIS */  WBXML_CHARSET_UTF_8           = 106,     /**< UTF-8 */  WBXML_CHARSET_ISO_10646_UCS_2 = 1000,    /**< ISO-10646-UCS-2 */  WBXML_CHARSET_UTF_16          = 1015,    /**< UTF-16 */  WBXML_CHARSET_BIG5            = 2026     /**< Big5 */} WBXMLCharsetMIBEnum;/** * @brief Get a Charset MIBEnum given a Charset Name * @param name     [in]  Charset Name to search * @param mib_enum [out] MIBEnum if found * @return Return TRUE if Charset found, FALSE otherwise */WBXML_DECLARE(WB_BOOL) wbxml_charset_get_mib(const WB_TINY       *name,                                             WBXMLCharsetMIBEnum *mib_enum);/** * @brief Get a Charset Name given a Charset MIBEnum * @param mib_enum [in]  MIBEnum to search * @param name     [out] Charset Name if found * @return Return TRUE if Charset found, FALSE otherwise */WBXML_DECLARE(WB_BOOL) wbxml_charset_get_name(WBXMLCharsetMIBEnum   mib_enum,                                              const WB_TINY       **name);  /** * Charset Convertion function * * Input is a normal pointer to buffer to convert. * * Result is a WBXML Buffer. If 'in_charset' and 'out_charset' are * identical, and are even ASCII or UTF-8, this will be a static * buffer pointing to input buffer. * * The 'io_bytes' parameter is decremented each time a byte is correctly * converted from 'in_buf', so that it reflects the number of bytes that * have been converted from 'in_buf'. * * @param in_buf      Buffer to convert * @param io_bytes    Number of bytes in buffer * @param in_charser  Original charset * @param out_buf     Resulting converted Buffer * @param out_charset Destination charset */WBXML_DECLARE(WBXMLError) wbxml_charset_conv(const WB_TINY        *in_buf,                                             WB_ULONG             *io_bytes,                                             WBXMLCharsetMIBEnum   in_charset,                                             WBXMLBuffer         **out_buf,                                             WBXMLCharsetMIBEnum   out_charset);/** * Charset Convertion function, for unknown length strings * * This is a wrapper around wbxml_charset_conv(), but to convert * a buffer that have an unknown length. This function first try to find * the buffer length, by finding its charset specific termination code * (eg: '\0', '\0\0'), then it calls the wbxml_charset_conv() function. * * Set the maximum possible length of input buffer into 'io_bytes'. A check * is done if length found is higher than input 'io_bytes' value. * * WARNING : 'io_bytes' is then set to the real length of input buffer (this is * a different behaviour than with wbxml_charset_conv()). * * @param in_buf      Buffer to convert * @param io_bytes    Number of bytes in buffer * @param in_charser  Original charset * @param out_buf     Resulting converted Buffer * @param out_charset Destination charset */WBXML_DECLARE(WBXMLError) wbxml_charset_conv_term(const WB_TINY        *in_buf,                                                  WB_ULONG             *io_bytes,                                                  WBXMLCharsetMIBEnum   in_charset,                                                  WBXMLBuffer         **out_buf,                                                  WBXMLCharsetMIBEnum   out_charset);/** @} */#ifdef __cplusplus}#endif /* __cplusplus */#endif /* WBXML_CHARSET_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -