acl  3.5.3.0
acl::charset_conv类 参考

#include <charset_conv.hpp>

+ 类 acl::charset_conv 继承关系图:
+ acl::charset_conv 的协作图:

Public 成员函数

 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 ()
 
- Public 成员函数 继承自 acl::pipe_stream
 pipe_stream ()
 
virtual ~pipe_stream ()
 

静态 Public 成员函数

static charset_convcreate (const char *fromCharset, const char *toCharset)
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

在文件 charset_conv.hpp11 行定义.

构造及析构函数说明

◆ charset_conv()

acl::charset_conv::charset_conv ( void  )

◆ ~charset_conv()

acl::charset_conv::~charset_conv ( void  )

成员函数说明

◆ clear()

virtual void acl::charset_conv::clear ( )
virtual

重载 acl::pipe_stream .

◆ 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

实现了 acl::pipe_stream.

◆ push_pop()

virtual int acl::charset_conv::push_pop ( const char *  in,
size_t  len,
string out,
size_t  max = 0 
)
virtual

实现了 acl::pipe_stream.

◆ 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)

流式转换结束后需要调用此函数提取最后的转换结果

参数
out{string*} 存储转换结果

该类的文档由以下文件生成: