base64编码相关-btoa和atob及中文乱码报错问题

  • 最近在做二进制编码相关的东西,关于Base64的编码解码问题。遇到了一些问题。

btoa();

  • btoa函数全称就是Binary-to-ASCII,在js中用于Base64编码
let encodedData = window.btoa("WEBGL");
//V0VCR0w=
  • 具体的写法如上所示,接收一个字符串, 其字符分别表示要编码为 ASCII 的二进制数据的单个字节。
  • 返回一个 Base64 表示的字符串。

atob();

  • atob函数全称就是ASCII-to-Binary,在js中用于Base64解码。具体用法如下所示
let encodedData = window.btoa("V0VCR0w=");
//WEBGL
  • 参数为一个Base64表示的字符串,返回值为一个正常的字符串

存在的问题

  • 当然在实际使用中是有问题的,最主要的问题就是*** 不能转换中文 ***,下面介绍解决方法:

encodeURIComponent();

  • 这个函数是在uri中转义除了字母、数字、(、)、.、!、~、*、’、-和_之外的所有字符。示例如下:
console.log(btoa(encodeURIComponent("嘻嘻")));//JUU1JTk4JUJCJUU1JTk4JUJC
  • 解码如下:
 console.log(decodeURIComponent(atob("JUU1JTk4JUJCJUU1JTk4JUJC")));//嘻嘻

base64编码相关-btoa和atob及中文乱码报错问题相关推荐

  1. centos 7 mysql 中文,解决centOS7 下mysql插入中文字符报错相关问题

    解决centOS7 下mysql插入中文字符报错相关问题 在刚装完mysql,就建立了数据库abc,然后新建一个abc表,插入英文没有问题,但是插入中文就有问题,会报错: ERROR 1366 (HY ...

  2. 【错误记录】IntelliJ IDEA 中 Java 代码中的中文注释报错 ( Menu / File / Settings / Editor / File Encodings 中修改工程编码 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 IntelliJ IDEA 中 , 出现中文注释报错 ; Y:\002_WorkSpace\003_IDEA\Groovy_Demo\src\m ...

  3. Idea 设置编码UTF-8 Idea中 .properties 配置文件中文乱码

    Idea 设置编码UTF-8 Idea中 .properties 配置文件中文乱码 一.设置编码 1.步骤: File -> Setting -> Editor -> File en ...

  4. java使用cmd编译中文时错误,解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题...

    解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题 解决Notepad++编写的Java程序在cmd窗口编译时中文注释报错问题 在刚开始学习Java的过程中,考虑到记事本应用没 ...

  5. MySQL插入中文出现报错: ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘的解决方案

    MySQL插入中文出现报错: ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD'的解决方案 1 MySQL 5.5 版本 1. ...

  6. Python 中文注释报错解决方法

    Python 中文注释报错解决方法 参考文章: (1)Python 中文注释报错解决方法 (2)https://www.cnblogs.com/cjiong/p/5881983.html 备忘一下.

  7. centos7.1 修改selinux相关机制后出现开机失败,报错faild to load selinux policy  freezing

    1.修改selinux相关机制后出现开机失败,报错faild to load selinux policy  freezing 开机后按E键 进入下界面 在高亮出添加enforcing=0或者seli ...

  8. python打印汉字报错_python中文输出报错解决方案(实例教程)

    对于刚刚开始接触python这门语言的人来说,可能会对于如何使用这门语言来进行编程会存在有一定的疑惑.如何使用中文来进行程序的编写,会不会与英文的编写有不一样的地方?今天我们就来看一下在python中 ...

  9. flash builder 配置中如果有中文会报错

    flash builder 配置中如果有中文会报错,但是在eclipse中没问题.如: <meta-data             android:name="AppName&quo ...

最新文章

  1. socket 服务器浏览器与服务器客户端实例
  2. c语言getitem函数,该借用和窃取的引用的Python C-API函数
  3. linux进程的地址空间
  4. CSS三种写法的优先级
  5. 王力宏《十八般武艺》全部歌曲试听
  6. HDFS的块缓存和访问权限
  7. java中List、Map、Set、Collection、Stack、Queue等的使用
  8. Linux系统:Centos7搭建Redis单台和集群环境
  9. MySQL server has gone away 问题的解决方法
  10. atitit。win7 win8 win9 win10 win11 新特性总结与战略规划
  11. Git 切换远程仓库地址三种方法
  12. iPhone 4 Cydia使用教程!精选Cydia源!cydia怎么添加源!Cydia源使用方法!越狱后使用cydia全攻略!...
  13. 计算机主机检测不到耳机,win10电脑检测不到耳机的原因及处理方法
  14. 几种智能机器人室内定位方法对比
  15. 多列堆积柱形图怎么做_将Excel表格中数据做成多列堆积柱形图的操作步骤
  16. 使用PyInstaller脚本打包时提示Unable to open icon file 的一种情况
  17. 群体稳定度指标PSI
  18. Gos ——内存管理系统
  19. mysql练习答案,mysql练习语句
  20. Python中yield的用法详解——最简单,最清晰的解释

热门文章

  1. IC验证工具:Ubuntu下Questasim10.7安装(64bit)全攻略
  2. 2021-05-04 统计单词个数
  3. UNIX再学习 -- ps、top、kill 指令
  4. 微信朋友圈怎么发文字?纯文字动态发布教程
  5. 解决Chrome、360自动填充用户名和密码行为带来的困扰
  6. R语言入门第一集 R语言、RTools、RStudio的简介、安装与使用
  7. 美团即时零售的优势不止“快”
  8. tensorflow2.4使用GooleNet实现识别植物花朵图像项目
  9. 基于自适应巡视算法的工业物联网异常行为检测
  10. 人脸识别智能服务器,智能化人脸识别服务器