1<?php class=class="string">"keyword">header(class="string">'Content-Type: text/html; charset=utf-class="number">8'); ?>
2<!DOCTYPE html><class="tag">html lang="zh-CN"><class="tag">head><class="tag">meta charset="UTF-class="number">8"><class="tag">meta name="viewport" content="width=device-width,initial-scale=class="number">1.0">
3<class="tag">title>摩斯电码 - η空间</class="tag">title>
4<class="tag">meta name="description" content="在线摩斯电码转换器,中文/英文↔摩斯电码互转。">
5<class="tag">link rel="stylesheet" href="/tools/share.css"><class="tag">link rel="stylesheet" href="/assets/pet-cat.css">
6<class="tag">style>
7*{margin:class="number">0;padding:class="number">0;box-sizing:border-box}
8body{font-family:class="string">'Outfit',-apple-system,sans-serif;background:class=class="string">"keyword">class=class="string">"comment">#0C0C0C;color:#F7F5F0;min-height:100vh}
9.container{max-width:600px;margin:class="number">0 auto;padding:40px 16px}
10h1{text-align:center;font-size:24px;margin-bottom:8px}
11h1 .a{color:class=class="string">"keyword">class=class="string">"comment">#FF6B35}
12.desc{text-align:center;color:class=class="string">"keyword">class=class="string">"comment">#class="number">888;font-size:13px;margin-bottom:24px}
13.panels{display:grid;grid-template-columns:1fr;gap:12px}
14.panel{background:class=class="string">"keyword">class=class="string">"comment">#class="number">161616;border:1px solid #class="number">222;border-radius:12px;padding:16px}
15.panel label{font-size:12px;color:class=class="string">"keyword">class=class="string">"comment">#class="number">888;display:block;margin-bottom:6px}
16.panel textarea{width:class="number">100%;height:100px;background:class=class="string">"keyword">class=class="string">"comment">#0C0C0C;border:1px solid #class="number">333;border-radius:8px;color:#ccc;padding:10px;font-size:14px;font-family:class="string">'JetBrains Mono',monospace;resize:vertical}
17.panel textarea:focus{outline:none;border-color:class=class="string">"keyword">class=class="string">"comment">#FF6B35}
18.actions{display:flex;gap:8px;justify-content:center;margin:12px class="number">0}
19.btn{padding:8px 20px;border:none;border-radius:8px;font-size:13px;font-weight:class="number">600;cursor:pointer;transition:all .2s}
20.btn-primary{background:class=class="string">"keyword">class=class="string">"comment">#FF6B35;color:#fff}
21.btn-outline{background:transparent;border:1px solid class=class="string">"keyword">class=class="string">"comment">#class="number">333;color:#ccc}
22.btn-outline:hover{border-color:class=class="string">"keyword">class=class="string">"comment">#FF6B35;color:#FF6B35}
23.morse-audio{margin-top:12px;text-align:center}
24.morse-audio button{margin:class="number">0 4px}
25</class="tag">style></class="tag">head><class="tag">body>
26<class="tag">div class=class="string">"keyword">class="container">
27<class="tag">h1><class="tag">span class=class="string">"keyword">class="a">···</class="tag">span> 摩斯电码</class="tag">h1>
28<class="tag">p style="font-size:12px;color:class=class="string">"keyword">class=class="string">"comment">#class="number">555;margin-bottom:10px;text-align:center">··· 输入文字→编码为摩斯 · 输入摩斯码→解码 · 可播放音频</class="tag">p>
29<class="tag">p class=class="string">"keyword">class="desc">中文/英文 ↔ 摩斯电码 互转</class="tag">p>
30<class="tag">div class=class="string">"keyword">class="panels">
31<class="tag">div class=class="string">"keyword">class="panel"><class="tag">label>📝 输入文字</class="tag">label><class="tag">textarea id="input" placeholder="输入要转换的文字...">SOS</class="tag">textarea></class="tag">div>
32<class="tag">div class=class="string">"keyword">class="actions">
33<class="tag">button class=class="string">"keyword">class="btn btn-primary" onclick="encode()">→ 编码为摩斯</class="tag">button>
34<class="tag">button class=class="string">"keyword">class="btn btn-outline" onclick="decode()">← 解码为文字</class="tag">button>
35<class="tag">button class=class="string">"keyword">class="btn btn-outline" onclick="playMorse()">🔊 播放</class="tag">button>
36</class="tag">div>
37<class="tag">div class=class="string">"keyword">class="panel"><class="tag">label>📻 摩斯电码</class="tag">label><class="tag">textarea id="output" placeholder="摩斯电码..."></class="tag">textarea></class="tag">div>
38</class="tag">div>
39</class="tag">div>
40<class="tag">script src="/tools/share.js"></class="tag">script><class="tag">script src="/assets/pet-cat.js"></class="tag">script>
41<class="tag">script>
42class=class="string">"keyword">var morse={A:class="string">'.-',B:class="string">'-...',C:class="string">'-.-.',D:class="string">'-..',E:class="string">'.',F:class="string">'..-.',G:class="string">'--.',H:class="string">'....',I:class="string">'..',J:class="string">'.---',K:class="string">'-.-',L:class="string">'.-..',M:class="string">'--',N:class="string">'-.',O:class="string">'---',P:class="string">'.--.',Q:class="string">'--.-',R:class="string">'.-.',S:class="string">'...',T:class="string">'-',U:class="string">'..-',V:class="string">'...-',W:class="string">'.--',X:class="string">'-..-',Y:class="string">'-.--',Z:class="string">'--..',
43class="number">0:class="string">'-----',class="number">1:class="string">'.----',class="number">2:class="string">'..---',class="number">3:class="string">'...--',class="number">4:class="string">'....-',class="number">5:class="string">'.....',class="number">6:class="string">'-....',class="number">7:class="string">'--...',class="number">8:class="string">'---..',class="number">9:class="string">'----.',
44class="string">'.':class="string">'.-.-.-',class="string">',':class="string">'--..--',class="string">'?':class="string">'..--..',"class="string">'":'.----.class="string">','!class="string">':'-.-.--class="string">','/class="string">':'-..-.class="string">','(class="string">':'-.--.class="string">',')class="string">':'-.--.-class="string">','&class="string">':'.-...class="string">',':class="string">':'---...class="string">',';class="string">':'-.-.-.class="string">','=class="string">':'-...-class="string">','+class="string">':'.-.-.class="string">','-class="string">':'-....-class="string">','_class="string">':'..--.-class="string">','"class="string">':'.-..-.class="string">','@class="string">':'.--.-.class="string">',' class="string">':'/'};
45class=class="string">"keyword">var rev={};class=class="string">"keyword">for(class=class="string">"keyword">var k in morse)rev[morse[k]]=k;
46class=class="string">"keyword">function encode(){
47 class=class="string">"keyword">var t=document.class="func">getElementById(class="string">'input').value.toUpperCase();
48 class=class="string">"keyword">var r=[];class=class="string">"keyword">for(class=class="string">"keyword">var i=class="number">0;i<class="tag">t.length;i++){
49 class=class="string">"keyword">var c=t[i];class=class="string">"keyword">if(morse[c])r.push(morse[c]);class=class="string">"keyword">else class=class="string">"keyword">if(c===class="string">' ')r.push(class="string">'/');class=class="string">"keyword">else r.push(class="string">'?');}
50 document.class="func">getElementById(class="string">'output').value=r.join(class="string">' ');}
51class=class="string">"keyword">function decode(){
52 class=class="string">"keyword">var t=document.class="func">getElementById(class="string">'output').value.trim().split(/\s+/);
53 class=class="string">"keyword">var r=[];class=class="string">"keyword">for(class=class="string">"keyword">var i=class="number">0;i<class="tag">t.length;i++){
54 class=class="string">"keyword">if(t[i]===class="string">'/')r.push(class="string">' ');class=class="string">"keyword">else class=class="string">"keyword">if(rev[t[i]])r.push(rev[t[i]]);class=class="string">"keyword">else r.push(class="string">'?');}
55 document.class="func">getElementById(class="string">'input').value=r.join(class="string">'');}
56class=class="string">"keyword">function playMorse(){
57 class=class="string">"keyword">var t=document.class="func">getElementById(class="string">'output').value;
58 class=class="string">"keyword">if(!t)encode();t=document.class="func">getElementById(class="string">'output').value;
59 try{
60 class=class="string">"keyword">var ctx=class=class="string">"keyword">new(window.AudioContext||window.webkitAudioContext)();
61 class=class="string">"keyword">var time=ctx.currentTime;
62 class=class="string">"keyword">for(class=class="string">"keyword">var i=class="number">0;i<class="tag">t.length;i++){
63 class=class="string">"keyword">var c=t[i];
64 class=class="string">"keyword">if(c===class="string">'.'){playTone(ctx,time,class="number">0.1);time+=class="number">0.15;}
65 class=class="string">"keyword">else class=class="string">"keyword">if(c===class="string">'-'){playTone(ctx,time,class="number">0.3);time+=class="number">0.35;}
66 class=class="string">"keyword">else class=class="string">"keyword">if(c===class="string">' ')time+=class="number">0.2;
67 class=class="string">"keyword">else class=class="string">"keyword">if(c===class="string">'/')time+=class="number">0.4;}}class="func">catch(e){class="func">alert(class="string">'播放失败: '+e.message);}}
68class=class="string">"keyword">function playTone(ctx,start,dur){
69 class=class="string">"keyword">var o=ctx.createOscillator(),g=ctx.createGain();
70 o.connect(g);g.connect(ctx.destination);
71 o.frequency.value=class="number">700;g.gain.value=class="number">0.3;
72 o.start(start);g.gain.exponentialRampToValueAtTime(class="number">0.001,start+dur);
73 o.stop(start+dur);}
74</class="tag">script><class="tag">div style="text-align:center;padding-top:10px;font-size:12px;color:class=class="string">"keyword">class=class="string">"comment">#class="number">555"><class="tag">a href="source-viewer.php?file=morse-code.php" style="color:#FF6B35;text-decoration:none;">📖 查看源码</class="tag">a> · 编程小白,AI生成,若体验不佳请多包涵 🙏</class="tag">div>
75</class="tag">body></class="tag">html>
76
Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/273059_cn/tools/source-viewer.php:69) in /www/wwwroot/273059_cn/tools/source-viewer.php on line 72
Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/273059_cn/tools/source-viewer.php:69) in /www/wwwroot/273059_cn/tools/source-viewer.php on line 73
摩斯电码 - η空间
··· 摩斯电码
··· 输入文字→编码为摩斯 · 输入摩斯码→解码 · 可播放音频
中文/英文 ↔ 摩斯电码 互转
📖 查看源码 · 编程小白,AI生成,若体验不佳请多包涵 🙏