base64加密 > json字符串 > 中文转Unicode所遇问题

需求:需要先将搜索的汉字转Unicode, 然后键值对转为json ,再base64加密 传给后端

1.中文转unicode

this.keyword = this.unicode(searchtext)
//  \u590d\u5408\u7ba1

转unicode方法:

	unicode(str) {
      var value = ''
      for (var i = 0; i < str.length; i++) {
        value +=
          '\\u' + this.left_zero_4(parseInt(str.charCodeAt(i)).toString(16))
      }
      return value
    },
    left_zero_4(str) {
      if (str != null && str != '' && str != 'undefined') {
        if (str.length == 2) {
          return '00' + str
        }
      }
      return str
    },
  1. JSON.stringify 转json字符串之后会多一个斜杠\
 this.yy = JSON.stringify({
        keywords: this.keyword,
      })
//  "keywords":"\\u590d\\u5408\\u7ba1"

3.Base64加密json字符串 导致接口传参 后端识别不出来 因为多了一个\

Base64.encode(this.yy)

Base64方法:

npm install --save js-base64 //下载
import Base64 from 'base-64' //引入

Base64.encode(this.pwd);//加密
Base64.decode(this.pwd);//解密

解决:就出在json转之后会多一个\,用正则都替换解决不了,最后只能手动拼接成json。

this.yy = `{"keywords":"${this.keyword}"}`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值