utf-8编码文件转换成gb2312
花了一天看了很多编码的知识,脑子还是一头雾水。
问题:
我这有个.c的utf-8编码的文件,中文显示是乱码,想把它在windows下都正确显示。
转什么格式?
我新建txt然后写入中文,另存为utf-8为什么中文还能正确显示啊?而那.c文件中的中文是乱码?
utf-8是unicode的一种传送方式?unicode字符集既然支持汉字,为什么utf-8还显示乱码。我的是windows环境。
那么把utf-8转成unicode,中文是不是就不显示乱码了?或者必须转成gb2312?
还有能不能给 出转换思路,要熟悉所有的编码方式才可以么?
看网上有用MultiByteToWideChar和WideCharToMultiByt着两个接口的哦,也搞不太懂
int WideCharToMultiByte(
UINT CodePage,
DWORD dwFlags,
LPCWSTR lpWideCharStr,
int cchWideChar,
LPSTR lpMultiByteStr,
int cbMultiByte,
LPCSTR lpDefaultChar,
LPBOOL lpUsedDefaultChar
);
这接口是不是只能在MFC中使用(C++,MFC不太了解,windows编程也没学),?c的话可以用么?可以的话是不是只要把CodePage设为CP_ACP 当前系统ANSI代码页,
,字符就可以在windows下正确显示?那么把utf-8文件转成gb2312文件该怎么做?
很乱。。。希望得到一些指点