codecovert

所属分类:Windows编程
开发工具:Visual C++
文件大小:296KB
下载次数:42
上传日期:2008-11-22 15:59:56
上 传 者hanhanhanhan
说明:  编码查询的小程序,有现成的BSTR类型的函数,可以考虑用vc做一个界面
(Encoding query applet, there are ready-made BSTR type of function, could be considered an interface with vc)

文件列表:
codecovert\GBCCovert.exe (302080, 2006-08-28)
codecovert\汉字GBK内码.exe (20480, 2008-07-07)
codecovert\字符编码.exe (61440, 2008-07-15)
codecovert (0, 2008-11-22)

http://bm.kdd.cc/index.asp 字符编码中的Asc和Chr对应汉字的GBK码(注意编码值为负数,加上65536就和汉字内码查看器中的GBK内码一致了) 字符编码中的AscW和ChrW对应汉字的Unicode码 //vc控制台程序 //字符编码程序,vc调用vb中3对可逆的函数,涉及到以下四个API: rtcAnsiValueBstr:对应ASC的API,求字符的内码,函数原型及调用代码如下: //ASC.cpp #include #include #include int main(int argc, char* argv[]) { typedef short(*pF)(BSTR x); HINSTANCE hDLL; pF F; BSTR bstrText=SysAllocString(L"我");//(L"w"); printf("%d\n",sizeof(BSTR));//4 hDLL=LoadLibrary("MSVBVM60.DLL"); F=(pF)GetProcAddress (hDLL, "rtcAnsiValueBstr");//对应ASC,引用的内存不能读? printf("%d\n",F(bstrText));//-12590,119 FreeLibrary(hDLL); SysFreeString(bstrText); getchar(); return 0; } rtcBstrFromAnsi:对应Chr的API,由内码求得一字符,函数原型及调用代码如下: //Chr.cpp #include #include #include int main(int argc, char* argv[]) { typedef BSTR(*pF)(long x);//Function Chr$(CharCode As Long) As String HINSTANCE hDLL; pF F; hDLL=LoadLibrary("MSVBVM60.DLL"); F=(pF)GetProcAddress (hDLL, "rtcBstrFromAnsi");//对应Chr,多对一函数:F(25105)=b=F(***) char* lpszText=_com_util::ConvertBSTRToString(F(-12127));//F(119) printf("%s",lpszText);//-12590我,119w,-12127小 FreeLibrary(hDLL); delete[] lpszText; getchar(); return 0; } rtcCharValueBstr:对应AscW(求字符的UniCode)和AscB(求字符的ASCII)的API,函数原型及调用代码如下: 对应AscW //AscW.cpp #include #include #include int main(int argc, char* argv[]) { typedef short(*pF)(BSTR x);//Function AscW(String As String) As Integer HINSTANCE hDLL; pF F; BSTR bstrText=SysAllocString(L"我");//(L"w"); hDLL=LoadLibrary("MSVBVM60.DLL"); F=(pF)GetProcAddress (hDLL, "rtcCharValueBstr");//对应AscW,引用的内存不能读? printf("%d\n",F(bstrText));//25105,119 FreeLibrary(hDLL); SysFreeString(bstrText); getchar(); return 0; } 对应AscB //AscB.cpp #include #include #include int main(int argc, char* argv[]) { typedef unsigned char(*pF)(BSTR x);//Function AscB(String As String) As Byte HINSTANCE hDLL; pF F; BSTR bstrText=SysAllocString(L"我");//(L"w"); hDLL=LoadLibrary("MSVBVM60.DLL"); F=(pF)GetProcAddress (hDLL, "rtcCharValueBstr");//对应AscB,引用的内存不能读? printf("%u\n",F(bstrText));//17,119 FreeLibrary(hDLL); SysFreeString(bstrText); getchar(); return 0; } rtcBstrFromChar:对应ChrW(由UniCode求得一字符 )和ChrB(由ASCII求得一字符 )的API,函数原型及调用代码如下: 对应ChrB //ChrB.cpp #include #include #include int main(int argc, char* argv[]) { typedef BSTR(*pF)(unsigned char x); HINSTANCE hDLL; pF F; hDLL=LoadLibrary("MSVBVM60.DLL"); F=(pF)GetProcAddress (hDLL, "rtcBstrFromChar");//对应ChrB char* lpszText=_com_util::ConvertBSTRToString(F(17));//(F(119)); printf("%s",lpszText);//17非打印字符,119w FreeLibrary(hDLL); delete[] lpszText; getchar(); return 0; } 对应ChrW //ChrW.cpp #include #include #include int main(int argc, char* argv[]) { typedef BSTR(*pF)(long x);//Function ChrW$(CharCode As Long) As String HINSTANCE hDLL; pF F; hDLL=LoadLibrary("MSVBVM60.DLL"); F=(pF)GetProcAddress (hDLL, "rtcBstrFromChar");//对应ChrW char* lpszText=_com_util::ConvertBSTRToString(F(119));//F(25105) printf("%s",lpszText);//(L"w"),(L"我") FreeLibrary(hDLL); delete[] lpszText; getchar(); return 0; } 软件名称:汉字内码查看器(汉字_区位码_Unicode_GBK互转程序) 软件版本:v1.0 原创作者:sy0051 联系方式:sy0051_cn@163.com QQ:55332878 软件开发者经常会遇到一些汉字代码转换的问题,常见的汉字内码表现形式一般包括区位码、Unicode码、GBK码等几种。 在此向大家推荐一款汉字、区位码、Unicode码、GBK码互转的小工具,希望对大家有用。

近期下载者

相关文件


收藏者