#include <charset_conv.hpp>
|
| charset_conv (void) |
|
| ~charset_conv (void) |
|
void | set_add_invalid (bool onoff) |
|
bool | convert (const char *fromCharset, const char *toCharset, const char *in, size_t n, string *out) |
|
const char * | serror (void) const |
|
void | reset (void) |
|
bool | update_begin (const char *fromCharset, const char *toCharset) |
|
bool | update (const char *in, size_t len, string *out) |
|
void | update_finish (string *out) |
|
virtual int | push_pop (const char *in, size_t len, string *out, size_t max=0) |
|
virtual int | pop_end (string *out, size_t max=0) |
|
virtual void | clear () |
|
| pipe_stream () |
|
virtual | ~pipe_stream () |
|
◆ charset_conv()
acl::charset_conv::charset_conv |
( |
void |
| ) |
|
◆ ~charset_conv()
acl::charset_conv::~charset_conv |
( |
void |
| ) |
|
◆ clear()
virtual void acl::charset_conv::clear |
( |
| ) |
|
|
virtual |
◆ convert()
bool acl::charset_conv::convert |
( |
const char * |
fromCharset, |
|
|
const char * |
toCharset, |
|
|
const char * |
in, |
|
|
size_t |
n, |
|
|
string * |
out |
|
) |
| |
转换函数
- 参数
-
fromCharset | {const char*} 源字符集 |
toCharset | {const char*} 目标字符集 |
in | {const char*} 输入的源数据地址(非空) |
n | {size_t} 输入源数据的长度(>0) |
out | {string*} 存储转换结果 |
- 返回
- {bool} 转换是否成功
◆ create()
static charset_conv* acl::charset_conv::create |
( |
const char * |
fromCharset, |
|
|
const char * |
toCharset |
|
) |
| |
|
static |
创建字符集转换器
- 参数
-
fromCharset | {const char*} 源字符集 |
toCharset | {const char*} 目标字符集 |
- 返回
- {charset_conv*} 如果输入参数非法,或源字符集 与目标字符集相同,或不支持两个字符集间的转换则返回NULL, 用完后需要调用 delete 删除
◆ pop_end()
virtual int acl::charset_conv::pop_end |
( |
string * |
out, |
|
|
size_t |
max = 0 |
|
) |
| |
|
virtual |
◆ push_pop()
virtual int acl::charset_conv::push_pop |
( |
const char * |
in, |
|
|
size_t |
len, |
|
|
string * |
out, |
|
|
size_t |
max = 0 |
|
) |
| |
|
virtual |
◆ reset()
void acl::charset_conv::reset |
( |
void |
| ) |
|
重置转码状态, 该解析器便可重复使用, 但在再次使用前需要调用 set(from, to) 设置源字符集与目标字符集
◆ serror()
const char* acl::charset_conv::serror |
( |
void |
| ) |
const |
如果转换失败, 该函数返回出错原因
- 返回
- {const char*} 出错原因
◆ set_add_invalid()
void acl::charset_conv::set_add_invalid |
( |
bool |
onoff | ) |
|
设置是否允许将无效的字符集直接拷贝
- 参数
-
onoff | {bool} 当为 true 时,则转码过程中如果遇到了 非法字符集,则直接拷贝,否则则跳过,默认情况下是直接拷贝 |
◆ update()
bool acl::charset_conv::update |
( |
const char * |
in, |
|
|
size_t |
len, |
|
|
string * |
out |
|
) |
| |
以流式方式进行字符集转换
- 参数
-
in | {const char*} 源字符串 |
len | {size_t} in 字符串长度 |
out | {string*} 存储转换结果 |
- 返回
- {bool} 当前转换过程是否成功
◆ update_begin()
bool acl::charset_conv::update_begin |
( |
const char * |
fromCharset, |
|
|
const char * |
toCharset |
|
) |
| |
初始化流式分析的相关参数
- 参数
-
fromCharset | {const char*} 源字符集 |
toCharset | {const char*} 目标字符集 |
- 返回
- {bool} 初始化是否成功
◆ update_finish()
void acl::charset_conv::update_finish |
( |
string * |
out | ) |
|
流式转换结束后需要调用此函数提取最后的转换结果
- 参数
-
该类的文档由以下文件生成: