zoukankan      html  css  js  c++  java
  • 可编辑div emoji 表情处理

    DIV 设置可编辑 contenteditable=true

     <div contenteditable=true id="divTest"></div>

    数据库存入需要将表设置为utf8mb4 编码格式

    如果对数据处理,例如转为json数据,emoji 表情将无法存入数据库,需要对 emoji 表情做转码处理

    function utf16toEntities(str) {
                var patt=/[ud800-udbff][udc00-udfff]/g;
                // 检测utf16字符正则
                str = str.replace(patt, function(char){
                    var H, L, code;
                    if (char.length===2) {
                        H = char.charCodeAt(0);
                        // 取出高位
                        L = char.charCodeAt(1);
                        // 取出低位
                        code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00;
                        // 转换算法
                        return "&#" + code + ";";
                    } else {
                        return char;
                    }
                });
                return str;
            }

    从数据库取出做解码处理

    //表情解码
    function uncodeUtf16(str){
         var reg = /&#.*?;/g;
         var result = str.replace(reg,function(char){
         var H,L,code;
         if(char.length == 9 ){
              code = parseInt(char.match(/[0-9]+/g));
               H = Math.floor((code-0x10000) / 0x400)+0xD800;
               L = (code - 0x10000) % 0x400 + 0xDC00;
               return unescape("%u"+H.toString(16)+"%u"+L.toString(16));
           }else{
                 return char;
            }
        });
        return result;
    }
  • 相关阅读:
    数据查询语句
    数据操作语句
    数据定义语句
    linux的常用命令
    NIO/IO/AIO阻塞/非阻塞/同步/异步
    XCode使用自带SVN,SVN命令
    正则表达式大全——持续更新中。。。
    sql语句优化
    sql一些语句性能及开销优化
    高质量图片无损压缩算法
  • 原文地址:https://www.cnblogs.com/xuey/p/12165434.html
Copyright © 2011-2022 走看看