如把字符串“zheshi汉字”转换为
7A 68 65 73 68 69 BA BA D7 D6我用
CString AA,BB="zheshi汉字";
AA.Format("%02X ",BB)
结果转换出来是7A 68 65 73 68 69 FFFFFFBA FFFFFFBA FFFFFFD7 FFFFFFD6
如何把那些多余的FFFFFF去掉?
还有转换出来的16进制是不是最好不要存为CString?
多谢
7A 68 65 73 68 69 BA BA D7 D6我用
CString AA,BB="zheshi汉字";
AA.Format("%02X ",BB)
结果转换出来是7A 68 65 73 68 69 FFFFFFBA FFFFFFBA FFFFFFD7 FFFFFFD6
如何把那些多余的FFFFFF去掉?
还有转换出来的16进制是不是最好不要存为CString?
多谢
解决方案 »
- error C2106: '=' : left operand must be l-value是什么意思啊,大哥们帮忙看看
- 以前一个女同事电脑里有A片,现在发现合租的MM的碟片中有一本《。。。
- 怎样判断Acrobat的打印是否取消?
- 请问如何使用RecordSet::Open()函数打开MS SQL数据库?
- 请问如何指定当前输入法
- 如何解决ADO的连接时限?
- c中如何实现可选参数
- 简单的不能再简单的问题
- 请部各位高手,为什么在由属性页建立的向导中,汉字会出现乱码,我用的是VC++ 6.0 VS6SP5_CN。
- 如何对应用程序打包(越详细越好)
- 请问:我将编译好的可执行程序移植到另外的机器上,运行时系统提示出错,这是为什么,该怎么解决?谢谢
- 关于用vc++作activeX 控件签名的问题!!!!!!!!!
{
if((ch>='0')&&(ch<='9'))
return ch - 0x30;
else if((ch>='A')&&(ch<='F'))
return ch - 'A' + 10;
else if((ch>='a')&&(ch<='e'))
return ch - 'a' + 10;
else return (-1);
}
int StringToHex(CString str,CByteArray &m_baData)
{
int hexData,lowhexData;
int hexLen = 0;
int len = str.GetLength();
m_baData.SetSize(len/2);
for(int i=0;i<len)
{
char lstr,hstr = str[i];//获得地址的高8位和低8位
if(hstr =='')
{
i++;
continue;
}
i++;
if(i>=len)
break;
lstr = str[i];
hexData = ConvertHex(lstr);
if((hexData ==16)||(lowhexData ==16))
break;
else
hexData = hexData*16 + lowhexData;
i++;
m_baData[hexLen]=(char)hexData;
hexLen++;
}
m_baData.SetSize(hexLen);
return hexLen;
}
{
char szText[2];
memset(szText,0,2);
sprintf(szText,"%x",ivlue);
return szText[0];
}bool ConvertHexString(char *pszBuffer,LPCSTR pszSource,int nlen)
{
if (NULL== pszSource|| NULL==pszBuffer || 0==nlen)
return false;
if (pszBuffer==pszSource) //自己拷贝自己
return false;
UCHAR c;
int j=0;
for (int i=0;i<nlen;i++)
{
c=pszSource[i];
pszBuffer[j++]= ConvertHexChar(int(c/16)); //第一位
pszBuffer[j++]= ConvertHexChar(c%16); //第二位
}
pszBuffer[j]='\0'; return true;
}void CTestDlg::OnButton2()
{
char szSoure[100];
char szTarget[100];
memset(szSoure,0,100);
memset(szTarget,0,100);
strcpy(szSoure,"this我是谁?ABC1234是00");
ConvertHexString(szTarget,szSoure,strlen(szSoure)); AfxMessageBox(szTarget);
}
char ConvertHexChar(int ivlue)
{
char szText[]="0123456789ABCDEF";
return szText[ivlue];
}