Я работаю в проекте с модулем A6 Gsm.Я могу отправить AT команду в модуль и получить ответ.Но проблема в варианте USSD.
Ответ приходит как HEX.Я хочу конвертировать этот шестнадцатеричный в GSM 7 бит.Я искал в Google, но потерпел неудачу с безнадежным.Затем я создаю собственный конвертер для c # с этой таблицей преобразования веб-сайтов.
7-битная таблица алфавитов GSM по умолчанию
Но я думаю, что это совсем не правильно.Итак, что я могу сделать сейчас?
Я плачу, необходимо решить эту проблему с помощью C #.Скажите, пожалуйста, как я могу преобразовать шестнадцатеричный код в GSM 7 бит.
Вот мой код:
public string HexToGsm(string hexString)
{
Dictionary<string, string> hexGsmLib = new Dictionary<string, string>();
hexGsmLib.Add("00", "@");
hexGsmLib.Add("01", "£");
hexGsmLib.Add("02", "$");
hexGsmLib.Add("03", "¥");
hexGsmLib.Add("04", "è");
hexGsmLib.Add("05", "é");
hexGsmLib.Add("06", "ù");
hexGsmLib.Add("07", "ì");
hexGsmLib.Add("08", "ò");
hexGsmLib.Add("09", "Ç");
hexGsmLib.Add("0A", "\n");
hexGsmLib.Add("0B", "Ø");
hexGsmLib.Add("0C", "ø");
hexGsmLib.Add("0D", "\r");
hexGsmLib.Add("0E", "Å");
hexGsmLib.Add("0F", "å");
hexGsmLib.Add("10", "Δ");
hexGsmLib.Add("11", "_");
hexGsmLib.Add("12", "Φ");
hexGsmLib.Add("13", "Γ");
hexGsmLib.Add("14", "Λ");
hexGsmLib.Add("15", "Ω");
hexGsmLib.Add("16", "Π");
hexGsmLib.Add("17", "Ψ");
hexGsmLib.Add("18", "Σ");
hexGsmLib.Add("19", "Θ");
hexGsmLib.Add("1A", "Ξ");
hexGsmLib.Add("1B", "\\");
hexGsmLib.Add("1C", "Æ");
hexGsmLib.Add("1D", "æ");
hexGsmLib.Add("1E", "ß");
hexGsmLib.Add("1F", "É");
hexGsmLib.Add("20", " ");
hexGsmLib.Add("21", "!");
hexGsmLib.Add("22", "\"");
hexGsmLib.Add("23", "#");
hexGsmLib.Add("24", "¤");
hexGsmLib.Add("25", "%");
hexGsmLib.Add("26", "&");
hexGsmLib.Add("27", "'");
hexGsmLib.Add("28", "(");
hexGsmLib.Add("29", ")");
hexGsmLib.Add("2A", "*");
hexGsmLib.Add("2B", "+");
hexGsmLib.Add("2C", ",");
hexGsmLib.Add("2D", "-");
hexGsmLib.Add("2E", ".");
hexGsmLib.Add("2F", "/");
hexGsmLib.Add("30", "0");
hexGsmLib.Add("31", "1");
hexGsmLib.Add("32", "2");
hexGsmLib.Add("33", "3");
hexGsmLib.Add("34", "4");
hexGsmLib.Add("35", "5");
hexGsmLib.Add("36", "6");
hexGsmLib.Add("37", "7");
hexGsmLib.Add("38", "8");
hexGsmLib.Add("39", "9");
hexGsmLib.Add("3A", ":");
hexGsmLib.Add("3B", ";");
hexGsmLib.Add("3C", "<");
hexGsmLib.Add("3D", "=");
hexGsmLib.Add("3E", ">");
hexGsmLib.Add("3F", "?");
hexGsmLib.Add("40", "¡");
hexGsmLib.Add("41", "A");
hexGsmLib.Add("42", "B");
hexGsmLib.Add("43", "C");
hexGsmLib.Add("44", "D");
hexGsmLib.Add("45", "E");
hexGsmLib.Add("46", "F");
hexGsmLib.Add("47", "G");
hexGsmLib.Add("48", "H");
hexGsmLib.Add("49", "I");
hexGsmLib.Add("4A", "J");
hexGsmLib.Add("4B", "K");
hexGsmLib.Add("4C", "L");
hexGsmLib.Add("4D", "M");
hexGsmLib.Add("4E", "N");
hexGsmLib.Add("4F", "O");
hexGsmLib.Add("50", "P");
hexGsmLib.Add("51", "Q");
hexGsmLib.Add("52", "R");
hexGsmLib.Add("53", "S");
hexGsmLib.Add("54", "T");
hexGsmLib.Add("55", "U");
hexGsmLib.Add("56", "V");
hexGsmLib.Add("57", "W");
hexGsmLib.Add("58", "X");
hexGsmLib.Add("59", "Y");
hexGsmLib.Add("5A", "Z");
hexGsmLib.Add("5B", "Ä");
hexGsmLib.Add("5C", "Ö");
hexGsmLib.Add("5D", "Ñ");
hexGsmLib.Add("5E", "Ü");
hexGsmLib.Add("5F", "§");
hexGsmLib.Add("60", "¿");
hexGsmLib.Add("61", "a");
hexGsmLib.Add("62", "b");
hexGsmLib.Add("63", "c");
hexGsmLib.Add("64", "d");
hexGsmLib.Add("65", "e");
hexGsmLib.Add("66", "f");
hexGsmLib.Add("67", "g");
hexGsmLib.Add("68", "h");
hexGsmLib.Add("69", "i");
hexGsmLib.Add("6A", "j");
hexGsmLib.Add("6B", "k");
hexGsmLib.Add("6C", "l");
hexGsmLib.Add("6D", "m");
hexGsmLib.Add("6E", "n");
hexGsmLib.Add("6F", "o");
hexGsmLib.Add("70", "p");
hexGsmLib.Add("71", "q");
hexGsmLib.Add("72", "r");
hexGsmLib.Add("73", "s");
hexGsmLib.Add("74", "t");
hexGsmLib.Add("75", "u");
hexGsmLib.Add("76", "v");
hexGsmLib.Add("77", "w");
hexGsmLib.Add("78", "x");
hexGsmLib.Add("79", "y");
hexGsmLib.Add("7A", "z");
hexGsmLib.Add("7B", "ä");
hexGsmLib.Add("7C", "ö");
hexGsmLib.Add("7D", "ñ");
hexGsmLib.Add("7E", "ü");
hexGsmLib.Add("7F", "à");
var hexParts = hexString.SplitInParts(2);
string gsmString = "";
foreach (string hexdigit in hexParts)
{
gsmString += hexGsmLib[hexdigit];
}
return gsmString;
}
Заранее спасибо.