我正在尝试以最简单的方式将任何文本字符串转换为摩尔斯电码。我对编程很陌生,所以请你给我一些关于我可以使用哪些方法的建议。

到目前为止,我只写了一个短语(字符串)和一个包含莫尔斯电码的数组,但我正在努力研究下一步如何获取字符串的每个字符,然后用数组检查它并打印出等效的莫尔斯电码的字符串。

var phrase = "go down like a lead balloon";

var morseCode = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-",     ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."]

for(i=0; i<phrase.length; i++){

c = phrase.charAt(i);

WScript.echo(c + " | " + i);
}

最佳答案

首先,您必须去除所有无法编码的字符:

phrase = phrase.toLowerCase().replace(/[^a-z]/g, "");

使用 replace regular expression ,你最终会得到一个只有字母字符的字符串。为了简单起见,我们还将所有字母都转换为小写。

然后,在 for 循环内:
c = phrase.charCodeAt(i);

这会将字母转换为其等效的 ASCII 代码值。相应的莫尔斯电码将是 morseCode[c - 97]

正如 Gerald Schneider 所建议的那样,您也可以使用数字改进这种编码,但代码会更复杂一些。

关于javascript - 使用 JavaScript 编码莫尔斯码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26059170/

10-09 19:32