ACK 消息(十六进制到 ASCII)

ACK message (hex to ASCII)

我正在尝试确认收到的消息并希望将其与我的程序发送的代码相匹配。

短信输出格式为<<<phonenumber,ASCII,5,436865636b>>>

我想把phone号和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;

使用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;