vue中使用Base64转码(Tinymce富文本保留HTML标签)

在vue项目中,我们经常使用到富文本编辑器,例如博主的项目(见上图),这里需要把富文本内的HTML结构,发放到Android端做混合应用的开发,因此HTML结构必不可少的!

但是浏览器在向服务器发送数据时,有可能出现不识别前端发送的特殊字符,或者直接丢弃特殊字符,此时可以使用Base64转码!

1. 前端需要发送给服务器的富文本(Tinymce编辑器)

{
    content: `<p><strong>准备以下个人防护设备:</strong></p>
			  <ul>
                <li>绝缘手套, PN: 81692355210</li>
                <li>救援钩, PN: 81692355208</li>
                <li>防护面罩, PN: 81692355209</li>
                <li>塑料楔子: 83300490538</li>
              </ul>`
}

2. 使用 js-base64包 实现base64的编码、解码、校验

# 安装依赖
# https://www.npmjs.com/package/js-base64
npm install --save js-base64
# vue组件内引用
import { Base64 } from 'js-base64';

# 调用encode编码产生Base64,例如:
Base64.encode('特殊字符')

# 调用decode解码得到正确数据,例如:
Base64.decode(Base64文件)

# 调用isValid校验数据是否为合法的Base64文件
Base64.isValid(0)      // false: 0 is not string
Base64.isValid('')     // true: a valid Base64-encoded empty byte
Base64.isValid('ZA==') // true: a valid Base64-encoded 'd'
Base64.isValid('Z A=') // true: whitespaces are okay
Base64.isValid('ZA')   // true: padding ='s can be omitted
Base64.isValid('++')   // true: can be non URL-safe
Base64.isValid('--')   // true: or URL-safe
Base64.isValid('+-')   // false: can't mix both

-------------------------End-------------------------

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端使用js对base64进行解码时,如果解码后出现乱码,可能存在以下几种可能的原因。 1. 编码方式不正确: 在使用js进行base64解码之前,需要确定编码方式是否正确。base64编码是一种将二进制数据转换为可打印字符的编码方式。常用的编码方式有UTF-8和ASCII,需要根据编码方式选择正确的解码方式。 2. 解码函数使用错误: js提供了多种base64解码函数,比如atob()函数,可以进行简单的base64解码。但是,如果被解码的字符串包含非标准的base64字符,或者字符串长度不是4的倍数,就会导致解码出现问题。在这种情况下,可以考虑使用其他第三方库或者自定义函数来进行解码。 3. 数据损坏: 如果待解码的base64字符串在传输或保存过程发生了数据损坏,就会导致解码后的数据乱码。可以尝试使用其他方式对数据进行验证,或者尝试使用其他base64解码工具对同样的待解码数据进行解码,以确定是否是数据损坏引起的问题。 4. 解码后的数据处理不正确: base64解码后的数据是经过转换的二进制数据,无法直接在浏览器或控制台显示。如果直接将解码后的数据输出到页面上或者进行其他处理,可能会导致乱码。在处理解码后的数据时,需要根据具体需求进行进一步的处理,比如将解码后的二进制数据转换为字符串或者其他格式。 对于解决前端js-base64解码乱码的问题,可以通过以上几种可能的原因进行排查,并逐一进行解决。同时,根据具体情况也可以参考其他前端开发者的经验或者寻求专业人士的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值