一分钟记住常用的摩尔斯电码
1:今天刷知乎时看到了个摩尔斯电码的对照表,感觉还是很好记忆的。练习几十个字母就差不多了。如下图:是不是很好记~~


2:在电影星际穿越中男主cooper就是通过钟表的滴答进行信息传递的,还有去年is杀害日本人质时,媒体猜测被害人在遇害时通过眨眼睛对世人说“不要救我,放弃我”。


3:上大图

4:上大图


1 /*简单问题要复杂会,看起来很厉害的样子,有时候仅仅是打印了一个helloworld而已~~*/ 2 class Program 3 { 4 static void Main(string[] args) 5 { 6 Mors.AddCodeData("testkey", "testvalue"); 7 var testStr="hello boy"; 8 var resultEncode=Mors.Encode(testStr); 9 var resultDecode=Mors.Decode(resultEncode); 10 Console.WriteLine("Encode:" + resultEncode+"\n"+"Decode"+resultDecode); 11 Console.ReadLine(); 12 } 13 } 14 public static class Mors 15 { 16 private static Dictionary<string, string> unCodeData = new Dictionary<string, string>() 17 { 18 {"a",".-"},{"b","-..."},{"c","-.-."},{"d","-.."},{"e","."},{"f","..-."},{"g","--."},{"h","...."},{"i",".."},{"j",".---"},{"k","-.-"}, 19 {"l",".-.."},{"m","--"},{"n","-."},{"o","---"},{"p",".--."},{"q","--.-"},{"r",".-."},{"s","..."},{"t","-"},{"u","..-"},{"v","...-"}, 20 {"w",".--"},{"x","-..-"},{"y","-.--"},{"z","--.."},{",","--..--"},{".",".-.-.-"} 21 }; 22 private static Dictionary<string, string> codeData = new Dictionary<string, string>() 23 { 24 {".-","a"},{"-...","b"},{"-.-.","c"},{"-..","d"},{".","e"},{"..-.","f"},{"--.","g"},{"....","h"},{"..","i"},{".---","j"},{"-.-","k"}, 25 {".-..","l"},{"--","m"},{"-.","n"},{"---","o"},{".--.","p"},{"--.-","q"},{".-.","r"},{"...","s"},{"-","t"},{"..-","u"},{"...-","v"}, 26 {".--","w"},{"-..-","x"},{"-.--","y"},{"--..","z"},{"--..--",","},{".-.-.-","."} 27 }; 28 29 /// <summary> 30 /// 待编码数据 key-value => 字母-mors 31 /// </summary> 32 public static Dictionary<string, string> UnCodeData 33 { 34 get{return unCodeData;} 35 private set{} 36 } 37 /// <summary> 38 /// 反编码数据 key-value => mors-字母 39 /// </summary> 40 public static Dictionary<string, string> CodeData 41 { 42 get{return codeData;} 43 private set{} 44 } 45 /// <summary> 46 /// 添加其他电码 47 /// </summary> 48 /// <param name="key"></param> 49 /// <param name="value"></param> 50 /// <returns></returns> 51 public static bool AddUncodeData(string key,string value) 52 { 53 if(!UnCodeData.Keys.Contains(key)) 54 { 55 UnCodeData.Add(key,value); 56 if(CodeData.Keys.Contains(value)) 57 throw new Exception("data error"); 58 CodeData.Add(value,key); 59 return true; 60 } 61 return false; 62 } 63 public static bool AddCodeData(string key,string value) 64 { 65 if(!CodeData.Keys.Contains(key)) 66 { 67 CodeData.Add(key,value); 68 if(UnCodeData.Keys.Contains(value)) 69 throw new Exception("data error"); 70 UnCodeData.Add(value,key); 71 return true; 72 } 73 return false; 74 } 75 public static bool RemoveUncodeData(string key) 76 { 77 if(UnCodeData.Keys.Contains(key)) 78 { 79 var value=UnCodeData[key]; 80 if(codeData.Keys.Contains(value)) 81 { 82 UnCodeData.Remove(key); 83 codeData.Remove(value); 84 } 85 return true; 86 } 87 return false; 88 } 89 public static bool RemoveCodeData(string key) 90 { 91 if (CodeData.Keys.Contains(key)) 92 { 93 var value = CodeData[key]; 94 if (UnCodeData.Keys.Contains(value)) 95 { 96 CodeData.Remove(key); 97 UnCodeData.Remove(value); 98 } 99 return true; 100 } 101 return false; 102 } 103 /// <summary> 104 /// 编码为mors 105 /// </summary> 106 /// <param name="str"></param> 107 /// <returns></returns> 108 public static string Encode(string str) 109 { 110 /// hello word 111 if (str.Length < 0) 112 return string.Empty; 113 var words = Regex.Replace(str.Trim(), @"\s+", " ").Split(' '); 114 var result=string.Join("/",words.Select(word=> 115 { 116 return string.Join(" ", word.ToCharArray().Select(letter => 117 { 118 return UnCodeData[letter.ToString()]; 119 })); 120 })); 121 return result; 122 } 123 /// <summary> 124 /// 解码为mors电码 125 /// </summary> 126 /// <param name="str"></param> 127 /// <returns></returns> 128 public static string Decode(string str) 129 { 130 //..- ---- .--. .- 131 var words = Regex.Replace(str.Trim(), @"\s+", " ").Split('/').Select(word=>word.Trim()).ToArray(); 132 var result=string.Join(" ", words.Select(word=> 133 { 134 return string.Join("", word.Split(' ').Select(letter=> 135 { 136 return CodeData[letter.ToString()]; 137 })); 138 })); 139 return result; 140 } 141 }
点赞的伙伴今年都能找到像楼上一样漂亮的女神~~(我不是来骗赞的~~不信你试试)
Do something useful!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?