using System; using System.Collections.Generic; namespace Comal.Classes.Entities.GPSTracker { internal class GPSTrackerTools { /* function decode() { let stream = document.getElementById("encoded").value.trim(); let num_messages = stream.split("0255").length - 1; let messages = stream.split("0255"); messages.shift(); let decoded_messages = [num_messages]; for (let i = 0; i < num_messages; i++) { let byte_stream = []; if (isHex(stream)) { byte_stream = getHex("0255" + messages[i]); } let decoded_object = parseOysterGSM(byte_stream); decoded_messages.push(decoded_object); } decoded_messages.shift(); if (decoded_messages.includes(null)) document.getElementById("decoded").innerHTML = "Invalid stream"; else if (decoded_messages.includes(false)) document.getElementById("decoded").innerHTML = "Using deprecated fields"; else document.getElementById("decoded").innerHTML = JSON.stringify(decoded_messages, null, 2); } */ public string[] Decode(string payload) { var results = new List(); var messages = payload.Split(new[] { "0255" }, StringSplitOptions.RemoveEmptyEntries); foreach (var message in messages) { //if (IsHex(message)) //{ // byte[] bytes = GetHex(String.Concat("0255", message)); // String result = parseOysterGSM(bytes); // results.Add(result); //} } return results.ToArray(); } /* function isHex(value) { if (value.length == 0) return false; if (value.startsWith('0x') || value.startsWith('0X')) { value = value.substring(2); } let reg_exp = /^[0 - 9a - fA - F] +$/; if (reg_exp.test(value) && value.length % 2 == 0) { return true; } else { return false; } } */ /* function getHex(value) { if (value.startsWith('0x') || value.startsWith('0X')) { value = value.substring(2); } let num_bytes = value.length / 2; let bytes = []; for (let i = 0; i < num_bytes; i++) { bytes.push(parseInt(value.substring(i * 2, (i * 2) + 2), 16)); } return bytes; } */ } } /* */