===== 모르스 부호 변환기 =====
자바스크립트, 파이썬, port 3040 으로 웹 접속
# pip3 instasll flask jamo
from flask import Flask, request, render_template_string
from jamo import h2j, j2hcj
app = Flask(__name__)
MORSE_DICT = {
'ㄱ': '.-..', 'ㄴ': '..-.', 'ㄷ': '-...', 'ㄹ': '...-', 'ㅁ': '--',
'ㅂ': '.--.', 'ㅅ': '--.', 'ㅇ': '-.-', 'ㅈ': '.---', 'ㅊ': '-.-.',
'ㅋ': '-..-', 'ㅌ': '--..', 'ㅍ': '---.', 'ㅎ': '.---.',
'ㄺ' : '.-....-', 'ㄻ' : '.-..--', 'ㄼ' : '.-.....-',
'ㄿ' : '.-....-.', 'ㅀ' : '.-..--..', 'ㄽ' : '..--...',
'ㄲ': '.-...-..', 'ㄳ' : '--....', 'ㄵ' : '.---.', 'ㄶ' : '.--...--.', 'ㄸ' : '..--',
'ㅃ' : '..--..', 'ㅆ' : '......', 'ㅄ' : '---.--.-', 'ㅉ' : '..-...-.',
'ㅏ' : '.', 'ㅑ' : '..',
'ㅓ' : '-', 'ㅕ' : '...', 'ㅗ' : '.-', 'ㅛ' : '-.', 'ㅜ' : '....',
'ㅠ' : '.-.', 'ㅡ' : '-..', 'ㅣ' : '..-', 'ㅐ' : '.---', 'ㅔ' : '--..',
'ㅙ' : '.-..-', 'ㅝ' : '..--', 'ㅚ' : '--..', 'ㅒ' : '..--.-','ㅘ' : '.-.-.-',
'ㅖ' : '..--', 'ㅟ' : '----.-', 'ㅢ' : '...-.-..',
'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': '--..',
'1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....',
'6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----',
' ': '/'
}
HTML_TEMPLATE = """
한글/영문/숫자 모르스 변환기 (Port 3040)
📟 사운드 모르스 변환기
{% if result %}
📝 입력 데이터 :
{{ input_text }}
{% endif %}
"""
@app.route('/', methods=['GET', 'POST'])
def index():
result = ""
input_text = ""
if request.method == 'POST':
input_text = request.form.get('text', '')
processed = j2hcj(h2j(input_text.upper()))
morse_list = [MORSE_DICT.get(char, char) for char in processed]
result = " ".join(morse_list)
return render_template_string(HTML_TEMPLATE, result=result, input_text=input_text)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=3040, debug=False)
적당한 파일이름(여기서는 morse.py)으로 저장하고,
python3 morse.py 로 실행
-------------
2026.03.18 akpil