C# ASCII與字符串間相互轉換


引言:

最近開始學習C#,在寫串口助手小工具時遇到十六進制發送與字符發送之間轉換的問題,

小弟通過網絡各路大神的幫助下,終於實現正確顯示收發,小弟菜鳥一枚,不足之處還望各位批評指正O(∩_∩)O!

其中主要是利用調用ASCIIEncoding類來實現(System.IO.ASCIIEncoding), 下面入正題:

1、將字符轉換為對應的ASCII:

string str = textBox2.Text.Trim();   // 去掉字符串首尾處的空格
char[] charBuf = str.ToArray();    // 將字符串轉換為字符數組
ASCIIEncoding charToASCII = new ASCIIEncoding();

byte[] TxdBuf = new byte[charBuf.Length];    // 定義發送緩沖區;
TxdBuf = charToASCII.GetBytes(charBuf);    // 轉換為各字符對應的ASCII


2、將ASCII轉換為對應字符:

byte[] RxdBuf = new byte[len];        //  定義接收緩沖區;

for(int i = 0; i < len; i++)

{

  ASCIIEncoding ASCIITochar = new ASCIIEncoding();
  char[] ascii = ASCIITochar.GetChars(RxdBuf);      // 將接收字節解碼為ASCII字符數組
  textBox1.Text += ascii[i];

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM