tft每日頭條

 > 科技

 > 阿斯克碼如何轉換成2進制

阿斯克碼如何轉換成2進制

科技 更新时间:2025-02-07 15:15:03

摩爾斯電碼(英語:Morse code)是一種時通時斷的信号代碼,通過不同的排列順序來表達不同的英文字母、數字和标點符号。是由美國人艾爾菲德·維爾與薩缪爾·摩爾斯在1836年發明。

摩爾斯電碼是一種早期的數字化通信形式,但是它不同于現代隻使用0和1兩種狀态的二進制代碼,它的代碼包括五種:

點(·):1

劃(-):111

字符内部停頓(在字符内的那些點和劃之間):0

短停頓(在字符之間):000

中等停頓(在單詞之間):0000000

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)1

有兩種“符号”用來表示字符:點(·)和劃(-),或叫“滴”(Dit)和“答”(Dah)。點的長度決定了發報的速度,并且被當作發報時間參考。下面是時間控制的圖示:

-- --- ·-· ··· · / -·-· --- -·· ·

M O R S E (空格) C O D E

這裡,“-”表示劃,“·”表示點。這是上面消息的準确發報時間(=表示有信号,.代表無信号,每個為一個點的長度):

===.===...===.===.===...=.===.=...=.=.=...=.......===.=.===.=...===.===.===...===.=.=...=

^ ^ ^ ^ ^

| 劃 點 | 單詞間隔

點劃間隔 字符間隔

劃一般是三個點的長度;點劃之間的間隔是一個點的長度;字符之間的間隔是三個點的長度;單詞之間的間隔是七個點的長度。

初學者往往被教導發送點劃間隔短小、短而快的字符,并且在符号和單詞之間誇大間隔時間。比較起來,這種方式更加容易學會。

熟悉摩爾斯碼的人之間經常像這樣說話或拼寫(其中,“長音 / Dah”是發“awe”的音):

-- --- ·-· ··· · / -·-· --- -·· ·

DahDah DahDahDah DiDahDit DiDiDit Dit, DahDiDahDit DahDahDah DahDiDi Di.

以上介紹均來自維基百科

下面我們用代碼來實現這個轉換的功能:

新建一個map集合,将摩斯電碼的規則添加進去(具體的參照上面的摩斯電碼規則圖),部分截圖如下:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)2

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)3

然後創建這個實例化對象,并對其進行初始化,方便驗證輸入無誤:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)4

加密方法如下:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)5

解密方法如下:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)6

這樣我們就功能實現完畢,隻需要調用即可。測試:

輸入中文:我喜歡勒布朗.詹姆斯

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)7

轉換失敗,因為摩斯電碼不支持中文。也是上面的初始化驗證方法起效果。

輸入英文: I love lebron James

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)8

這個轉換成功。

下面實現中文和二進制的互轉功能,這個比較簡單,直接展示代碼部分了:

二進制轉換成中文:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)9

中文轉換成二進制:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)10

測試如下:

阿斯克碼如何轉換成2進制(關于中文轉換成摩斯電碼)11

測試成功。

話說人得有多無聊才會研究這個啊,哈哈。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved