//}
//// MessageBox.Show(sb.ToString()); //memoRcv.Text = sb.ToString(); }
private void rbtnSend16_CheckedChanged(object sender, EventArgs e) {
StateChanged_16 = 1;
StateChanged_Ascii = 0;
string StrSend = memoSend.Text;
if (Temp_memoSend==StrSend.Trim()&& Flag == 1) {
memoSend.Text = Temp; Flag = 0; } else {
memoSend.Text = \
foreach (char S in StrSend) {
memoSend.Text += ((byte)S).ToString(\ } } }
private void rbtnSendStr_CheckedChanged(object sender, EventArgs e) {
if (StateChanged_16 == 1) { Flag = 1; }
StateChanged_16 = 0; StateChanged_Ascii = 1;
string StrSend = memoSend.Text; Temp = memoSend.Text;
string StrSend_1 = StrSend.Trim(); //去掉前后的空格 string[] StrArray = StrSend_1.Split(' '); //用空格符隔开字符串数组
var Str_Send = new List
for (int i = 0; i < StrArray.Length; i++) {
if (StrArray.Length == 0) {
break; } else {
if (StrArray[i].Trim() == \ { continue; } else {
if (StrArray[i].Length < 3) {
Str_Send.Add(StrArray[i]); } else {
Str_Send.AddRange(Devide(StrArray[i])); } } }
int byteBufferLength = Str_Send.Count;
byte[] byteBuffer = new byte[byteBufferLength]; int ii = 0;
for (int j = 0; j < Str_Send.Count; j++) {
int decNum = 0; try {
decNum = Convert.ToInt32(Str_Send[j], 16); //把字符串转成16进制数
if (decNum >= 48 && decNum <= 57 || decNum >= 65 && decNum <= 90 || decNum >= 97 && decNum <= 122)//除了数字和字母,其他都转成问号 {
byteBuffer[ii] = Convert.ToByte(decNum); } else {
byteBuffer[ii] = Convert.ToByte(63); } }
catch (System.Exception ex) {
MessageBox.Show(\输入错误!\提示\ rbtnSendStr.Checked = false; rbtnSend16.Checked = true;
memoSend.Text = StrSend; return;
} ii++; }
memoSend.Text = \
foreach (byte b in byteBuffer) {
memoSend.Text += (char)b; }
Temp_memoSend =memoSend.Text; } } } }