摩尔斯电码(Morse alphabet)(又译为摩斯电码)是一种时通时断的信号代码,这种信号代码通过不同的排列顺序来表达不同的英文字母、数字和标点符号等。由美国人摩尔斯(Samuel Finley Breese Morse)于1837年发明,为摩尔斯电报机的发明(1835年)提供了条件。
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
A
|
.━
|
B
|
━...
|
C
|
━ .━.
|
D
|
━ ..
|
E
|
.
|
F
|
..━.
|
G
|
━ ━.
|
H
|
....
|
I
|
..
|
J
|
.━ ━ ━
|
K
|
━ .━
|
L
|
.━..
|
M
|
━ ━
|
N
|
━.
|
O
|
━ ━ ━
|
P
|
.━ ━.
|
Q
|
━ ━.━
|
R
|
.━ .
|
S
|
...
|
T
|
━
|
U
|
..━
|
V
|
...━
|
W
|
.━ ━
|
X
|
━ ..━
|
Y
|
━.━ ━
|
Z
|
━ ━ ..
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
0
|
━ ━ ━ ━ ━
|
1
|
.━ ━ ━ ━
|
2
|
..━ ━ ━
|
3
|
...━ ━
|
4
|
....━
|
5
|
.....
|
6
|
━....
|
7
|
━ ━...
|
8
|
━ ━ ━ ..
|
9
|
━ ━ ━ ━ .
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
0
|
—
|
1
|
● —
|
2
|
● ● —
|
3
|
● ● ●— —
|
4
|
● ● ● ● —
|
5
|
● ● ● ● ●
|
6
|
— ● ● ● ●
|
7
|
— —● ● ●
|
8
|
— ● ●
|
9
|
— ●
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
0
|
—
|
1
|
● —
|
2
|
● ● —
|
3
|
●— —
|
4
|
● ● ● —
|
5
|
● ● ●
|
6
|
— ● ● ●
|
7
|
— —●
|
8
|
— ● ●
|
9
|
— ●
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
.
|
.━.━ .━
|
:
|
━ ━ ━...
|
,
|
━ ━..━ ━
|
;
|
━.━ .━.
|
?
|
..━ ━..
|
=
|
━ ...━
|
'
|
.━ ━ ━ ━ .
|
/
|
━..━ .
|
!
|
━.━ .━ ━
|
━
|
━....━
|
_
|
..━ ━.━
|
"
|
.━ ..━.
|
(
|
━ .━ ━ .
|
)
|
━.━ ━.━
|
$
|
...━ ..━
|
&
|
.━ ...
|
@
|
.━ ━.━ .
|
+
|
.━.━.
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
à或å
|
.━ ━ .━
|
ä或æ
|
.━.━
|
ch
|
━ ━ ━ ━
|
ç或?
|
━.━ ..
|
ð
|
..━━ .
|
é
|
..━..
|
è
|
.━ ..━
|
?
|
━ ━ .━.
|
?
|
━ .━━ .
|
?
|
.━ ━ ━.
|
ñ
|
━ ━.━ ━
|
ö或ø
|
━ ━ ━.
|
?
|
...━ .
|
þ
|
.━ ━ ..
|
ü或?
|
..━ ━
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
字符
|
电码符号
|
AR
|
.━ .━.
|
AS
|
.━ ...
|
K
|
━.━
|
SK
|
...━.━
|
BT
|
━...━
|
开始
|
-...-
|
public class TestMorse{
public static String toMorseCode(String[] codebook, String text){
StringBuffer buf=new StringBuffer(text.length()*3);
int count=0;
for(char c: text.toUpperCase().toCharArray()){
if(count++>0) buf.append(",");
buf.append(codebook[c-'A']);
}
return buf.toString();
}
public static void main(String[] args) {
String codebook[]={"·-", "-···", "-·-·", "-··", "·", "··-·",
"--·", "····", "··", "·---", "-·-", "·-··", "--", "-·",
"---", "·--·", "--·-", "·-·", "···", "-", "··-", "···-",
"·--", "-··-", "-·--", "--··"
};
System.out.println(toMorseCode(codebook, "HowAreYou"));
}
}
// ····,---,·--,·-,·-·,·,-·--,---,··-