2016-07-11 80 views
0

我試圖確認收到的消息,並希望與我的程序發送的代碼相匹配。ACK消息(十六進制爲ASCII)

短信輸出的格式如下<<<phonenumber,ASCII,5,436865636b>>>

我想孤立的電話號碼和5後的消息,並將其轉換爲ASCII

我已經有一個UDP服務器。

在此先感謝。

解決:

  var ascii = string.Empty; 

      for (var i = 0; i < hexString.Length; i += 2) 
      { 
       var hs = hexString.Substring(i, 2); 
       var decval = Convert.ToUInt32(hs, 16); 
       var character = Convert.ToChar(decval); 
       ascii += character; 
      } 

      return ascii; 

回答

0

使用Regex處理模式文本提取。

var message = @"<<<phonenumber,ASCII,5,436865636b>>>"; 
var pattern = @"<<<(?<phoneNumber>\w+),ASCII,5,(?<value>\w+)>>>"; 
var match = Regex.Match(message, pattern); 

var phoneNumber = match.Groups["phoneNumber"].Value; 
var value = match.Groups["value"].Value;