我就VC++ 6.0设置为unicode编程,接收来自javascript的参数。
然后我需要用VC编写客服端,发送数据到服务器端(不是我编写,且无法改动代码),服务器端要求需要接收ASCII。
问:我要怎样才能把我的数据转为ASCII编码,发送到服务端。我javascirpt接收到的参数放置到了,VC的CString里面
然后我需要用VC编写客服端,发送数据到服务器端(不是我编写,且无法改动代码),服务器端要求需要接收ASCII。
问:我要怎样才能把我的数据转为ASCII编码,发送到服务端。我javascirpt接收到的参数放置到了,VC的CString里面
解决方案 »
- 请问c++如何改变图片大小并保存?
- 网络蜘蛛是如何从相对地址链接得到绝对地址的
- 请教VC5.0 CEdit控件 在WIN2000操作系统下的一个问题
- 请问有没有适合初学者的书
- 如何用VC开发一在控制台下运行的发送邮件的程序(不调用默认的客户端程序如OutLook等)
- win2k的c盘越来越大,怎么办啊
- 谁能给在下提供:汉字用二进制码表示在什么区间,日文用二进制码表示又在什么区间,希腊字母用二进制码用在什么区间,等等,这有什么规律
- 谁知道哪里有NDIS的中文入门指导书??
- 我要疯了!!,求救!!!
- 我不想让人家用::SendMessage(hwnd, WM_CLOSE, 0 , 0 )关闭我的程序怎么办?
- 求救!关于ACTIVEX控件注册的问题
- 子窗口第二次创建后,主窗口界面停止刷新
http://community.csdn.net/Expert/topic/4512/4512699.xml?temp=.0688898
知道
用这个函数
WideCharToMultiByte
http://blog.csdn.net/thisisll/archive/2005/09/01/469422.aspx
UINT CodePage, // code page
DWORD dwFlags, // performance and mapping flags
LPCWSTR lpWideCharStr, // wide-character string
int cchWideChar, // number of chars in string.
LPSTR lpMultiByteStr, // buffer for new string
int cbMultiByte, // size of buffer
LPCSTR lpDefaultChar, // default for unmappable chars
LPBOOL lpUsedDefaultChar // set when default char used
);
当unicode编码为129~256时,用这个函数转换出来的全部是“?”显示因为涉及到bit的处理,这部分代码必须和
unicode的保持一致。(去掉高位的00,保留低位(十六进制))我是这样调用函数的:
WideCharToMultiByte(CP_ACP,NULL,m_dataBuf,m_dataBuf.GetLength(),(char *)tembuf,10240,NULL,NULL);
len = WideCharToMultiByte(codepage,0,pUCS,-1,NULL,0,NULL,NULL);
WideCharToMultiByte(codepage,0,pUCS,-1,p,len,NULL,NULL);
最好这么调用
874 Thai
932 Japanese
936 Chinese (PRC, Singapore)
949 Korean
950 Chinese (Taiwan; Hong Kong SAR, PRC)
1200 Unicode (BMP of ISO 10646)
1250 Windows 3.1 Eastern European
1251 Windows 3.1 Cyrillic
1252 Windows 3.1 Latin 1 (US, Western Europe)
1253 Windows 3.1 Greek
1254 Windows 3.1 Turkish
1255 Hebrew
1256 Arabic
1257 Baltic
WideCharToMultiByte(1252,0,m_dataBuf,-1,(char *)tembuf,1024,NULL,NULL);
汉字的转换有出现“?”
能否让它同时支持两种转换,或者是可以保留无法转换的字符