===== 모르스 부호 변환기 ===== 자바스크립트, 파이썬, port 3040 으로 웹 접속 수정된 버전입니다. (2026/09/05) 수정 사항은 각 스페이스 (출력되는 내용에서 '/'로 표시) 사이에 0.3초의 공백이 추가되었습니다. # 2026.09.05 # morse-letter to morse ver 0.7 # written by 6K2LSV # python3 에서 작동 # pip3 install flask jamo # port number 3040 from flask import Flask, request, render_template_string import json 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 = """ 모르스 변환기

📟 한글, 영어, 숫자 모르스 변환기


{% if pair_data %}
{% endif %}
""" @app.route('/', methods=['GET', 'POST']) def index(): input_text = "" pair_data = [] if request.method == 'POST': input_text = request.form.get('text', '') # 자모 분리 및 대문자화 processed_chars = list(j2hcj(h2j(input_text.upper()))) for i, char in enumerate(processed_chars): pair_data.append({ 'id': i, 'char': char, 'morse': MORSE_DICT.get(char, char) }) return render_template_string(HTML_TEMPLATE, pair_data=pair_data, input_text=input_text) if __name__ == '__main__': app.run(host='0.0.0.0', port=3040, debug=False)
원래 소스 코드는 아래에 .. # 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