字符串与十六进制互转问题,请教
以下代码通过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();