中文字符串编码转换(C语言实现)
发布时间
阅读量:
阅读量
在C/C++编程语言中,中文字符通常以字节序列的形式进行表示,在进行分词处理时,需要依据不同的编码格式实施相应的分词操作。一般来说,分词工具在处理过程中需要先将字符转换为统一的编码形式。然而,部分分词工具如ICTCLAS在执行分词任务时无需显式指定编码方式,而是能够自动识别字符串所采用的编码格式并完成相应的转换操作。本文旨在对项目中所涉及的多种编码转换方法进行归纳总结,并重点探讨了iconv库在实现编码转换中的应用。
const bchar_t zero[1] = {L'\0'}; void gbk_utf16le(char* inbuf, size_t inlen, char* outbuf) { iconv_t cd = iconv_open( "UTF-16LE//IGNORE", "GBK"); bzero( outbuf, inlen*4); char *in = inbuf; char out = outbuf; size_t outlen = inlen4; iconv(cd, &in, (size_t *)&inlen, &out,&outlen); if( outlen>=sizeof(bchar_t) ) *((bchar_t ) out) = L'\0'; iconv_close(cd); } void utf16le_gbk(char inbuf,
全部评论 (0)
还没有任何评论哟~
