iconv的作用是将文本在多种国际编码格式之间进行转换。
头文件"iconv.h"。iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。
目前版本为2.3.26,支持的内码包括:Unicode相关编码,如UTF-8、UTF-16等等,各国采用的ANSI编码,其中包括GB2312、BIG5等中文编码方式。
作为编程接口的iconv包括3个函数:
- iconv_open函数用于初始化用于转换的内部缓冲区,指明需要从何种编码方式转换到哪一种。
- iconv函数进行实际的转换,需要给出两个间接缓冲区指针和剩余字节数指针。该函数需要更新所有相关信息,因此将不可改写的指针传递给iconv是错误的。
- iconv_close函数释放iconv_open函数的缓冲区。
Convert.h
#ifndef _Convert_H_
#define _Convert_H_
#include <vector>
#include <string>
namespace utility
{
int utf8_len(std::string utf8);
std::string a_u8(std::string gbk);
std::string u8_a(std::string utf8);
}
#endif // _Convert_H_
Convert.cpp