收藏
回答

unicode转中文的方法

给一个WXSUnicode转中文的方法,谢谢!新手求助,

回答关注问题邀请回答
收藏

1 个回答

  • Maverick
    Maverick
    2019-06-03

    为什么要在wxs里转?在wxs转能用到的应该就只有decodeURI或JSON.parse了,先把unicode转utf8,再用decodeURI转中文


    或者把unicode转成\u字面量表示,再用JSON.parse转


    2019-06-03
    有用 1
    回复 4
    • 起风了
      起风了
      2019-06-03

      我在JS里面转不生效;

      for(var k = 0; k < strArr1.length;k++) {

      var unicode = strArr1[k].CONTENT;

      console.log(unicode)

      var b =String(unicode)

      console.log(b)

      };

      这个还是输出的unicode码

      在用String()直接转Unicode字符串可以

      var c = "\u6211\u65e5\u554a\uff0c\u600e\u4e48\u67e5\u4e0d\u5230";

      console.log(String(c))

      这个可以正确打印


      2019-06-03
      回复
    • 起风了
      起风了
      2019-06-03回复起风了

      for(var k = 0; k < strArr1.length;k++) {

      var unicode = strArr1[k].CONTENT;

      console.log(unicode)

      var b =String(unicode)

      console.log(b)

      };


      打印结果

      \u6211\u65e5\u554a\uff0c\u600e\u4e48\u67e5\u4e0d\u5230第一种方法打印结果

      2019-06-03
      回复
    • Maverick
      Maverick
      2019-06-03回复起风了

      字面量\uxxxx会被转义,直接就被解释为对应字符了,你写console.log('\u6211')输出的也是中文字符,并不是String进行了转换。

      但运行时得到的字符串的是啥就是啥,不会经过转义,小程序里不能用eval,你可以自己拼一个JSON,通过JSON.parse完成转换。


      let res = JSON.parse('{"str":"\u6211\u65e5\u554a\uff0c\u600e\u4e48\u67e5\u4e0d\u5230"}')

      console.log(res.str)

      2019-06-03
      回复
    • 起风了
      起风了
      2019-06-03回复Maverick

      谢谢老师

      2019-06-03
      回复
登录 后发表内容