用matlab打造的摩斯电码加解码器音频版,支持包括中文在内的任意字符

本文主要是介绍用matlab打造的摩斯电码加解码器音频版,支持包括中文在内的任意字符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摩斯电码想必不少伙伴都很熟悉吧,通过简单的长短组合就能把信息编码传递出去,比如声音的长短、灯亮灯的长短等等。虽然现在是信息时代,但摩斯电码这种优雅简介的编码方式依然不过时,甚至在某些关键的场合还能救人一命。

下图是标准版摩斯电码编码,26个英文字母不区分大小写,由点"·"和短横线"-"组成,点代表短信息,短横线代表长信息。

e2022fe0a238d3dd4df0fd6195b1c85d.png

图片来源:zh.wikipedia.org/wiki/莫尔斯电码#/media/File:莫尔斯电码.svg

小编作为重度matlab编程爱好者,当然是很有兴趣用matlab来捣鼓摩斯电码一番,于是用matlab打造的摩斯电码加解码器音频版就诞生了。

cce18453acf80f4fc68b8d047df3d131.png

上图就是摩斯电码加解码器音频版的主界面,包括文本输入区,文本输出区、加解码按钮、摩斯音频波形显示区、运行状态栏以及音频保存播放导入等操作按钮。

从国际摩斯电码编码表中不难看出,摩斯编码是不能直接对中文等其他非英文系字符进行编码的,为此电邮部推出了专门的标准中文电码 (Chinese commercial code官方网址:apps.chasedream.com/chinese-commercial-code/),但是该电码表并不能涵盖所有汉字。为了更大范围对汉字进行编码,小编这里并没有采用标准中文电码的相关编码规则,而是借助通用的Unicode编码作为桥梁来完成。Unicode作为国际通用编码规则,能够对人类已知的所有类型字符进行编码,也就是采用这种编码方式就可对所有语言字符进行摩斯电码编码。 

为了更加直观形象生动,小编还加入了字符转音频的相关代码,这样更方便传递播送。

相关操作演示已发布至懂科学的程序员视频号,欢迎观看:

本文源代码已上传至原创代码与科研论文Q群,群中目前已有53款小编原创或改进改编的源代码,对本文源代码感兴趣的伙伴可加群获取。在懂科学的程序员​​​​​​​公众号中回复“原创”或通过今日次条推文了解加群详情。

参考资料:en.wikipedia.org/wiki/Morse_code

图片来源:维基百科

这篇关于用matlab打造的摩斯电码加解码器音频版,支持包括中文在内的任意字符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261192

相关文章

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

Python使用wxPython打造文件批量压缩工具

《Python使用wxPython打造文件批量压缩工具》在日常工作中,我们经常需要将多个文件打包压缩,下面我们就来看看如何使用Python的wxPython库,创建一个功能强大的图形化文件批量压缩工具... 目录前言项目需求分析技术选型运行效果核心实现1. 界面布局设计2. 多种文件添加方式3. 可勾选的文

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支

tomcat日志中文乱码问题及解决方案

《tomcat日志中文乱码问题及解决方案》文章主要介绍了在使用Tomcat时遇到的乱码问题及其解决方法,页面输出乱码可能由于server.xml配置、HTML标签、编程输出编码不一致引起,解决方法包括... 目录一、页面输出乱码1.server.XML配置未注明编码格式2.catalina.bawww.cp

Python实现中文大写金额转阿拉伯数字

《Python实现中文大写金额转阿拉伯数字》在财务票据中,中文大写金额被广泛使用以防止篡改,但在数据处理时,我们需要将其转换为阿拉伯数字形式,下面我们就来看看如何使用Python实现这一转换吧... 目录一、核心思路拆解二、中文数字解析实现三、大单位分割策略四、元角分综合处理五、测试验证六、全部代码在财务票

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

mybatis-plus如何根据任意字段saveOrUpdateBatch

《mybatis-plus如何根据任意字段saveOrUpdateBatch》MyBatisPlussaveOrUpdateBatch默认按主键判断操作类型,若需按其他唯一字段(如agentId、pe... 目录使用场景方法源码方法改造首先在service层定义接口service层接口实现总结使用场景my

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也