【问题标题】:Is there an equivalence table to convert ASCII smileys to Unicode emoji(s)?是否有将 ASCII 笑脸转换为 Unicode 表情符号的等价表?
【发布时间】:2015-06-11 20:18:57
【问题描述】:

我想找一个表格将old school western ascii emoticons :-) 转换成他们的modern unicode equivalent ☺。

你知道有没有?

【问题讨论】:

    标签: web unicode ascii emoticons ascii-art


    【解决方案1】:

    不是每个人都同意什么是什么,但这是一个这样的表格,可以将输入的 ASCII 艺术表情符号映射到 Unicode 表情符号。两个数据元素都是单引号,因此反斜杠和单引号会被转义。

    'o/'         => '?',
    '</3'        => '?',
    '<3'         => '?',
    '8-D'        => '?',
    '8D'         => '?',
    ':-D'        => '?',
    '=-3'        => '?',
    '=-D'        => '?',
    '=3'         => '?',
    '=D'         => '?',
    'B^D'        => '?',
    'X-D'        => '?',
    'XD'         => '?',
    'x-D'        => '?',
    'xD'         => '?',
    ':\')'       => '?',
    ':\'-)'      => '?',
    ':-))'       => '?',
    '8)'         => '?',
    ':)'         => '?',
    ':-)'        => '?',
    ':3'         => '?',
    ':D'         => '?',
    ':]'         => '?',
    ':^)'        => '?',
    ':c)'        => '?',
    ':o)'        => '?',
    ':}'         => '?',
    ':っ)'        => '?',
    '=)'         => '?',
    '=]'         => '?',
    '0:)'        => '?',
    '0:-)'       => '?',
    '0:-3'       => '?',
    '0:3'        => '?',
    '0;^)'       => '?',
    'O:-)'       => '?',
    '3:)'        => '?',
    '3:-)'       => '?',
    '}:)'        => '?',
    '}:-)'       => '?',
    '*)'         => '?',
    '*-)'        => '?',
    ':-,'        => '?',
    ';)'         => '?',
    ';-)'        => '?',
    ';-]'        => '?',
    ';D'         => '?',
    ';]'         => '?',
    ';^)'        => '?',
    ':-|'        => '?',
    ':|'         => '?',
    ':('         => '?',
    ':-('        => '?',
    ':-<'        => '?',
    ':-['        => '?',
    ':-c'        => '?',
    ':<'         => '?',
    ':['         => '?',
    ':c'         => '?',
    ':{'         => '?',
    ':っC'        => '?',
    '%)'         => '?',
    '%-)'        => '?',
    ':-P'        => '?',
    ':-b'        => '?',
    ':-p'        => '?',
    ':-Þ'        => '?',
    ':-þ'        => '?',
    ':P'         => '?',
    ':b'         => '?',
    ':p'         => '?',
    ':Þ'         => '?',
    ':þ'         => '?',
    ';('         => '?',
    '=p'         => '?',
    'X-P'        => '?',
    'XP'         => '?',
    'd:'         => '?',
    'x-p'        => '?',
    'xp'         => '?',
    ':-||'       => '?',
    ':@'         => '?',
    ':-.'        => '?',
    ':-/'        => '?',
    ':/'         => '?',
    ':L'         => '?',
    ':S'         => '?',
    ':\\'        => '?',
    '=/'         => '?',
    '=L'         => '?',
    '=\\'        => '?',
    ':\'('       => '?',
    ':\'-('      => '?',
    '^5'         => '?',
    '^<_<'       => '?',
    'o/\\o'      => '?',
    '|-O'        => '?',
    '|;-)'       => '?',
    ':###..'     => '?',
    ':-###..'    => '?',
    'D-\':'      => '?',
    'D8'         => '?',
    'D:'         => '?',
    'D:<'        => '?',
    'D;'         => '?',
    'D='         => '?',
    'DX'         => '?',
    'v.v'        => '?',
    '8-0'        => '?',
    ':-O'        => '?',
    ':-o'        => '?',
    ':O'         => '?',
    ':o'         => '?',
    'O-O'        => '?',
    'O_O'        => '?',
    'O_o'        => '?',
    'o-o'        => '?',
    'o_O'        => '?',
    'o_o'        => '?',
    ':$'         => '?',
    '#-)'        => '?',
    ':#'         => '?',
    ':&'         => '?',
    ':-#'        => '?',
    ':-&'        => '?',
    ':-X'        => '?',
    ':X'         => '?',
    ':-J'        => '?',
    ':*'         => '?',
    ':^*'        => '?',
    'ಠ_ಠ'        => '?',
    '*\\0/*'     => '?',
    '\\o/'       => '?',
    ':>'         => '?',
    '>.<'        => '?',
    '>:('        => '?',
    '>:)'        => '?',
    '>:-)'       => '?',
    '>:/'        => '?',
    '>:O'        => '?',
    '>:P'        => '?',
    '>:['        => '?',
    '>:\\'       => '?',
    '>;)'        => '?',
    '>_>^'       => '?',
    

    【讨论】:

    【解决方案2】:

    我使用 Name is carl links 来生成这个列表:

    { ,:(: "?", ,:): "?", ,:-(: "?", ,:-): "?", 0:): "?", 0:-): "?", 8-): "?", :"): "?", :$: "?", :'(: "?", :'): "?", :'-(: "?", :'-): "?", :'-D: "?", :'D: "?", :(: "?", :): "?", :*: "?", :,'(: "?", :,'-(: "?", :,(: "?", :,): "?", :,-(: "?", :,-): "?", :,-D: "?", :,D: "?", :-"): "?", :-$: "?", :-(: "?", :-): "?", :-*: "?", :-/: "?", :-@: "?", :-D: "?", :-o: "?", :-O: "?", :-P: "?", :-S: "?", :-Z: "?", :-|: "?", :/: "?", :@: "?", :D: "?", :o: "?", :O: "?", :P: "?", :s: "?", :z: "?", :|: "?", ;(: "?", ;): "?", ;-(: "?", ;-): "?", ]:): "?", ]:-): "?", B-): "?", o:): "?", O:): "?", O:-): "?", o:-): "?", X-): "?", x-): "?" }

    【讨论】:

      【解决方案3】:

      markdown-it的代码中找到(许可证MIT)

      module.exports = {
        mad:              [ '>:(', '>:-(' ], // angry
        blush:            [ ':")', ':-")' ],
        broken_heart:     [ '</3', '<\\3' ],
        // :/ & :\ disabled due conflicts, untill logic improved
        confused:         [ /*':\\',*/ ':-\\', /*':/',*/ ':-/' ], // twemoji shows question
        cry:              [ ":'(", ":'-(", ':,(', ':,-(' ],
        frowning:         [ ':(', ':-(' ],
        heart:            [ '<3' ],
        imp:              [ ']:(', ']:-(' ],
        innocent:         [ 'o:)', 'O:)', 'o:-)', 'O:-)', '0:)', '0:-)' ],
        joy:              [ ":')", ":'-)", ':,)', ':,-)', ":'D", ":'-D", ':,D', ':,-D' ],
        kissing:          [ ':*', ':-*' ],
        laughing:         [ 'x-)', 'X-)' ],
        neutral_face:     [ ':|', ':-|' ],
        open_mouth:       [ ':o', ':-o', ':O', ':-O' ],
        rage:             [ ':@', ':-@' ],
        smile:            [ ':D', ':-D' ],
        smiley:           [ ':)', ':-)' ],
        smiling_imp:      [ ']:)', ']:-)' ],
        sob:              [ ":,'(", ":,'-(", ';(', ';-(' ],
        stuck_out_tongue: [ ':P', ':-P' ],
        sunglasses:       [ '8-)', 'B-)' ],
        sweat:            [ ',:(', ',:-(' ],
        sweat_smile:      [ ',:)', ',:-)' ],
        unamused:         [ ':s', ':-S', ':z', ':-Z', ':$', ':-$' ],
        wink:             [ ';)', ';-)' ]
      };
      

      【讨论】:

        【解决方案4】:

        看看 表情 有关 ASCII 表情符号的信息。 :p https://github.com/wooorm/emoticon/blob/master/index.json

        Emot是一个python库,用于从文本(字符串)中提取表情符号和表情符号。

        >>> import emot
        >>> text = "I love python ? :-)"
        >>> emot.emoji(text)
        >>> [{'value': '?', 'mean': ':man:', 'location': [14, 14], 'flag': True}]
        >>> emot.emoticons(text)
        >>> {'value': [':-)'], 'location': [[16, 19]], 'mean': ['Happy face smiley'], 'flag': True}
        

        https://github.com/NeelShah18/emot

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-18
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-16
        • 1970-01-01
        相关资源
        最近更新 更多