Linux C++ 字符串 编码识别

最近在用Qt做一个ftp客户端(其实qt的demo例子中就有一个简单的ftp客户端软件,只是功能太简单),由于客户端需要通用的话,要跟不同的ftp服务器相连,不同的服务器的编码格式可能不同,而在客户端要不中文乱码(英文不论是什么编码都可以正常显示的啦),就涉及到编码识别的问题。

下载 libchardet这个库,使用说明就算了,直接读头文件吧。

libchardet-0.0.4.tar.gz下载地址:

免费下载地址在

用户名与密码都是

具体下载目录在 /pub/2011/10/29/Linux C++ 字符串 编码识别/

下面是一个简单的示例,

#include "chardet.h"      char out_encode[CHARDET_MAX_ENCODING_NAME]          char * EncodeUtil::GetLocalEncoding(const char* in_str, unsigned int str_len, char* out_encode){         chardet_t chardect=NULL;         if(chardet_create(&chardect)==CHARDET_RESULT_OK){             if(chardet_handle_data(chardect, in_str, (unsigned int)str_len) == CHARDET_RESULT_OK)                 if(chardet_data_end(chardect) == CHARDET_RESULT_OK)                     chardet_get_charset(chardect, out_encode, CHARDET_MAX_ENCODING_NAME);         }         if(chardect)             chardet_destroy(chardect);         return out_encode;     }    

更多参考见

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wypjpz.html