摩斯密码(Morse code) C#实现

摩斯密码(Morse code) C#实现,第1张

概述摩斯密码(Morse code) C#实现

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它由美国人艾尔菲德·维尔于1837年发明。 摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个字符间短的停顿(在点和划之间)、每个词之间中等的停顿以及句子之间长的停顿。

    public static class MorseCode // 摩尔斯电码(星际穿越)            {                      private static volatile string[,] Codetable =                 {                    {"A",".-"},{"B","-..."},{"C","-.-."},{"D","-.."},{"E","."},"..-.."},{"F","..-."},{"G","--."},{"H","...."},{"I",".."},{"J",".---"},{"K","-.-"},{"L",".-.."},{"M","--"},{"N","-."},{"O","---"},{"P",".--."},{"Q","--.-"},{"R",".-."},{"S","..."},{"T","-"},{"U","..-"},{"V","...-"},{"W",".--"},{"X","-..-"},{"Y","-.--"},{"Z","--.."},{"0","-----"},{"1",".----"},{"2","..---"},{"3","...--"},{"4","....-"},{"5","....."},{"6","-...."},{"7","--..."},{"8","---.."},{"9","----."},{".",".-.-.-"},{",","--..--"},{":","---..."},{"?","..--.."},{"\'",".----."},{"-","-....-"},{"/","-..-."},{"(","-.--."},{")","-.--.-"},{"\"",".-..-."},{"=","-...-"},{"+",".-.-."},{"*",{"@",".--.-."},{"{UNDERSTOOD}","...-."},{"{ERROR}","........"},{"{INVITATION TO TRANSMIT}",{"{WAIT}",".-..."},{"{END OF WORK}","...-.-"},{"{STARTING SIGNAL}","-.-.-"},{" ","\u2423"}                };                                  public static string Enc(string str)                {                    int i;                    string ret = string.Empty;                    if (str != null && (str = str.toupper()).Length > 0)                        foreach (char asc in str)                            if ((i = Find(asc.ToString(),0)) > -1)                                ret += " " + Codetable[i,1];                    return ret;                }                                  public static string Dec(string str)                {                    int i;                    string[] splits;                    string ret = string.Empty;                    if (str != null && (splits = str.Split(' ')).Length > 0)                    {                        foreach (string split in splits)                            if ((i = Find(split,1)) > -1)                                ret += Codetable[i,0];                        return ret;                    }                    return "{#}";                }                                  private static int Find(string str,int cols)                {                    int i = 0,len = Codetable.Length / 2; // len / rank                    while (i < len)                    {                        if (Codetable[i,cols] == str)                            return i;                        i++;                    };                    return -1;                }            }  

使用代码:
    string encry = MorseCode.Enc("China"); // 把China换成摩尔斯电码      string decry = MorseCode.Dec(encry); //把encry换成明文形式  

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的摩斯密码(Morse code) C#实现全部内容,希望文章能够帮你解决摩斯密码(Morse code) C#实现所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1237650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存