在线摩斯电码转换,支持中文的摩斯密码转换

在线转换:https://oktools.net/morse

摩斯电码和Unicode映射

const standard = {
    'A': '01',
    'B': '1000',
    'C': '1010',
    'D': '100',
    'E': '0',
    'F': '0010',
    'G': '110',
    'H': '0000',
    'I': '00',
    'J': '0111',
    'K': '101',
    'L': '0100',
    'M': '11',
    'N': '10',
    'O': '111',
    'P': '0110',
    'Q': '1101',
    'R': '010',
    'S': '000',
    'T': '1',
    'U': '001',
    'V': '0001',
    'W': '011',
    'X': '1001',
    'Y': '1011',
    'Z': '1100',
    '0': '11111',
    '1': '01111',
    '2': '00111',
    '3': '00011',
    '4': '00001',
    '5': '00000',
    '6': '10000',
    '7': '11000',
    '8': '11100',
    '9': '11110',
    '.': '010101',
    ',': '110011',
    '?': '001100',
    '\'': '011110',
    '!': '101011',
    '/': '10010',
    '(': '10110',
    ')': '101101',
    '&': '01000',
    ':': '111000',
    ';': '101010',
    '=': '10001',
    '+': '01010',
    '-': '100001',
    '_': '001101',
    '"': '010010',
    '$': '0001001',
    '@': '011010',
};
const option = ['/', '.', '-'];
let standardReverse = {};
for (let key in standard) {
    standardReverse[standard[key]] = key;
}

Unicode转Morse

function unicodeHexMorse(ch) {
    let r = [];
    for (let i = 0; i < ch.length; i++)
        r[i] = ('00' + ch.charCodeAt(i).toString(16)).slice(-4);
    r = r.join('');
    r = parseInt(r, 16).toString(2);
    return r;
}

morse转Unicode

function morseHexUnicode(mor) {
    mor = parseInt(mor, 2);
    if (isNaN(mor)) return '';
    return unescape('%u' + mor.toString(16));
}

效果图:

image

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券