我正在尝试以最简单的方式将任何文本字符串转换为摩尔斯电码。我对编程很陌生,所以请你给我一些关于我可以使用哪些方法的建议。
到目前为止,我只写了一个短语(字符串)和一个包含莫尔斯电码的数组,但我正在努力研究下一步如何获取字符串的每个字符,然后用数组检查它并打印出等效的莫尔斯电码的字符串。
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/