ACK消息(十六进制到ASCII)

时间:2016-07-11 01:49:57

标签: c# server udp sms 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;

1 个答案:

答案 0 :(得分: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;
相关问题