读书人

text编码格式变换

发布时间: 2012-10-15 09:45:24 作者: rapoo

text编码格式转换
现在想编程实现把txt格式的文件的编码由unicode转化为ANSI,我知道用另存为可以改变编码格式,但是我想编程实现这个功能。

[解决办法]
WideCharToMultiByte
MultiByteToWideChar

Unicode 档头 = 0xfeff
[解决办法]
用local和iconv都可以实现,这里给个用法参考:

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <locale.h>#define WSTR_LEN    5int main(int argc, char* argv[]){    wchar_t wstr[WSTR_LEN] = {0x67e5, 0x770b, 0x8be6, 0x60c5, 0x00bb};    wchar_t wc;    char mbs[MB_CUR_MAX + 1];    int num;    int i;    setlocale(LC_CTYPE, "");    for(i = 0; i < WSTR_LEN; i++)    {        wc = wstr[i];        num = wctomb(mbs, wc);        mbs[num] = '\0';        printf("%s\n", &mbs[0]);    }    return 0;} 

读书人网 >C++

热点推荐