VB或VBA编程: 如何将Shift-jis编码的文字转换成GB2312编码?
2个回答
展开全部
Shift-JIS这个是日文的一种编码
你要将一种编码转到UNICODE然后再转到另外一种
用
WideCharToMultiByte
MultiByteToWideChar
http://blog.csdn.net/thisisll/archive/2005/09/01/469422.aspx
你要将一种编码转到UNICODE然后再转到另外一种
用
WideCharToMultiByte
MultiByteToWideChar
http://blog.csdn.net/thisisll/archive/2005/09/01/469422.aspx
更多追问追答
追问
感觉你说的很有道理,能不能给出详细代码啊?
追答
你查看我给那个连接,有具体说明的,
其他编码和UCS转换
int ToUCS(unsigned char *p,wchar_t* pUCS,int codepage)
{
int len = 0;
if(pUCS == NULL || p == NULL)
return -1;
len = MultiByteToWideChar(codepage,0,p,-1,NULL,0);
MultiByteToWideChar(codepage,0,p,-1,pUCS,len);
return len;
}
int UCSTo(wchar_t* pUCS,char *p,int codepage)
{
int len = 0;
if(pUCS == NULL || pBIG5 == NULL)
return -1;
len = WideCharToMultiByte(codepage,0,pUCS,-1,NULL,0,NULL,NULL);
WideCharToMultiByte(codepage,0,pUCS,-1,p,len,NULL,NULL);
len--;
return len;
}
这里的codepage在MSDN定义如下
Bit Code page Description
ANSI
0 1252 Latin 1
1 1250 Latin 2: Eastern Europe
......
17 932 Japanese, Shift-JIS
......
18 936 Chinese: Simplified chars—PRC and Singapore
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询