===== 모르스 부호 변환기 ===== 자바스크립트, 파이썬, 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