首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

字符串与十六进制互转有关问题,请问

2012-12-14 
字符串与十六进制互转问题,请教以下代码通过checkbox_显示16进制_CheckedChanged事件判断textbox-text显

字符串与十六进制互转问题,请教
以下代码通过checkbox_显示16进制_CheckedChanged事件判断textbox->text显示字符串方式为十六进制或字符串,已完成字符串转十六进制显示部分,但十六进制转字符串不知怎么实现,
期望String^ str1=AEO 在十六进制显示方式下为 0x41 0x45 0x4f
期望 0x41 0x45 0x4f  显示为AEO

本例代码显示成656998,不知问题出在哪个环节?请高手不吝赐教!

请教





private: System::Void checkbox_显示16进制_CheckedChanged(System::Object^  sender, System::EventArgs^  e) {
 String^ strs;
 String^ strh;
 String^ strtemp;
 int datarec;

 if(checkbox_显示16进制->Checked == true)
 {
 strs=this->textBox1->Text;
 for(int i=0;i<strs->Length;i++)
 {
 datarec = strs[i];
 strh += "0x"+datarec.ToString("X")->PadLeft(2,'0')+" ";
 }
 this->textBox1->Text = strh;
 }
 else
 {
 strh = this->textBox1->Text;
 strh = strh->Replace("0x","");
 strh = strh->Replace(" ","");

 for(int i=0;i<strh->Length;i++,i++)
 {
 strtemp = strh[i].ToString()+strh[i+1].ToString();
 datarec = ConverStrInt(strtemp);
 datarec = datarec/10*16+datarec%10;

 strs += datarec;
 }
 this->textBox1->Text = strs; 
 }
 }
[最优解释]
strs += datarec;更改为 strs += (char)datarec;看看。
[其他解释]
怎么没人回复
[其他解释]
问题已解决,代码如下,多谢Jia_H的回复。
strtemp = strh[i].ToString()+strh[i+1].ToString();
 datarec = Convert::ToInt32(strtemp,16); 
 strs += (Convert::ToChar(datarec)).ToString();

热点排行