zoukankan      html  css  js  c++  java
  • 小程序开发 解析内容中unicode转中文编码显示问题

    如果对你有帮助的话麻烦点个【推荐】~最好还可以follow一下我的GitHub~感谢观看!

    小程序后台返回数据的时候,html内容是经过unicode编码的不能直接显示,里边全是类似&#xxxx;的字符,这需要单独为内容进行解析编码,微信小程序是不会解析特殊符号的,我们要手动转换。

    直接上代码了,大家可以拿去测试:

    /**
     * 解析段落的unicode字符,聊天记录的内容中有很多是编码过的
     */
    function decodeUnicode(str) {
      var ret = '';
      var splits = str.split(';');
      for (let i = 0; i < splits.length; i++) {
        ret += spliteDecode(splits[i]);
      }
      return ret;
    }
    
    
    /**
     * 解析单个unidecode字符
     */
    function spliteDecode(value) {
      var target = value.match(/\ud+/g);
      if (target && target.length > 0) {
        target = target[0];
        var temp = value.replace(target, '{{@}}');
        target = target.replace('\u', '');
        target = String.fromCharCode(parseInt(target));
        return temp.replace("{{@}}", target);
      } else {
        // value = value.replace( '\u', '' );
        // return String.fromCharCode( parseInt( value, '10' ) )
        return value;
      }
    }
    
    //调用
    decodeUnicode(valueFiled.replace(/&#/g, '\u'));

    效果如下:

  • 相关阅读:
    Conversions
    Mispelling4
    A hard puzzle
    Easier Done Than Said?
    利用map可以对很大的数出现的次数进行记数
    A+B Coming
    结构体成员变量
    NSString 类介绍及用法
    复习回顾
    函数与方法对比
  • 原文地址:https://www.cnblogs.com/mengyilingjian/p/11696074.html
Copyright © 2011-2022 走看看