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

2023-11-04

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")));//嘻嘻
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • centos查看系统名称、架信息

    centos查看系统名称 架构 hostnamectl
  • 将一个数组中的元素向后移动k位

    设计一个算法 将数组A 0 n 1 中的元素循环右移K位 假设原数组序列为 a0 a0 an 2 an 1 移动后的序列为 an k an k 1 a0 a1 an k ab k 1 要求只用一个元素大小的附加存储 元素移动或变换次数与n线
  • Python 利用Turtle模块绘制国际象棋棋盘

    使用Turtle模块绘制国际象棋棋盘 使用语言 Python 3 7 3 思路 国际象棋是8 8的一个个小正方形 或者说是9横9纵的线组成 作画的时候 先做9横9纵的线 再填上灰色的小正方形 即可完成 本次画的棋盘边长为160 160 1
  • Hive中LIKE和RLIKE的区别

    1 LIKE和RLIKE的使用示例 SELECT name LIKE Alice FROM table1 表示选择name列内以ALICE作为结尾的数据 相同的功能使用RLIKE实现如下 SELECT name RLIKE Alice FR
  • docker commit 命令

    简介 在软件开发中经常需要保存软件状态 比如git 中每次提交的代码都会有版本号 可以根据提交的版本号进行恢复 docker中通过docker commit 命令提供了一个保存镜像状态的方式 使用 比如有一镜像 adaptor 1 通过do
  • cmd怎么另起一行_西语毕业论文怎么写?西语资料去哪儿找?

    西语毕业论文怎么写 西语资料去哪儿找 1 论文结构 西语 学位论文包括前置 主体 附录等三个部分 以下细节无固定先后之分 视具体学校要求而定 1前置 1 封面 由论文 中 西 文题目 姓名 学号 专业 班级 指 导老师姓名和职称 时间组成
  • 数据结构系列——栈 stack

    本期主题 数据结构之 栈 往期链接 数据结构系列 先进先出队列queue 目录 1 栈定义 2 使用动态数组实现栈 3 有趣的例子 1 栈定义 栈是什么 定义 一个后进先出的数据结构 LIFO last in first out 插入操作称
  • 美国地质调查局SRTM--30米DEM数据

    美国地质调查局 USGS SRTM DEM数据 0 简介 1 数据下载 1 1网址 https lpdaac usgs gov https lpdaac usgs gov 1 2搜索 SRTM 以列表展示 选择SRTMGL1 003 1 3
  • 转--Approximate Inference(近似推断,变分推断,KL散度,平均场, Mean Field )

    题目 PRML读书会第十章 Approximate Inference 近似推断 变分推断 KL散度 平均场 Mean Field 转自 http blog csdn net nietzsche2015 article details 43
  • 使用波束搜索的端到端神经网络系统中的上下文语音识别(论文翻译)

    摘要 最近的研究表明 端到端 E2E 语音识别体系结构 如Listen attent和Spell LAS 可以在LVCSR任务中获得最先进的质量结果 这种体系结构的一个优点是它不需要单独训练的发音模型 语言模型和声学模型 但是 这个属性也引
  • Redis 高可用之持久化

    目录 Redis 高可用 Redis 持久化 RDB 持久化 触发条件 执行流程 启动时加载 修改配置文件 AOF 持久化 配置 执行流程 命令追加 append 文件写入 write 和文件同步 sync 文件重写 rewrite 文件重
  • Unity实现一个可扩展的UGUI无限滑动列表控件

    12月20日新增 增加一个可收缩的滑动列表 适用于游戏中的任务系统 成就等 使用说明 创建时需要两个模板slot 一个是button 另一个则是btn下显示的cell 配置如下图添加ExpandableView脚本 新增的IsDefault
  • Python环境配置

    1 python下载 下载地址 https www python org downloads 找到3 10以上的包下载 2 Pycharm下载 Pycharm下载 选择社区版本的下载就够用 3 Pycharm配置Python环境 Proje
  • 华为鸿蒙4本周发布:官方海报大有玄机!告别“人工智障”!

    一年一度的华为开发者大会2023 HDC Together 将于8月4日至8月6日在东莞松山湖举办 相比去年 今年的华为开发者大会足足提前了三个月 而本次大会主角之一无疑是全新国产操作系统鸿蒙4 HarmonyOS 4 官方之前用了三个词来
  • git查看、修改远程仓库地址

    查看 远程仓库 git remote v 修改 git remote set url origin gitUrl 再查看 git remote v 输出已修改过得git仓库地址 即为完成
  • 分布式数据库资料

    Hadoop是很多组件的集合 主要包括但不限于MapReduce HDFS HBase ZooKeeper MapReduce模仿了Google MapReduce HDFS模仿了Google File System HBase模仿了Goo
  • python项目2to3方案预研

    目录 官方工具2to3 工具安装 参数解释 基本使用 工具缺陷 future 工具安装 参数解释 基本使用 工具缺陷 python modernize 工具安装 参数解释 基本使用 工具缺陷 pyupgrade 工具安装 参数解释 基本使用
  • Unity 3D期末大作业--背包系统

    Unity游戏背包系统的实现 一 项目概述 1 功能描述 该部分主要实现了游戏中玩家在个人背包和游戏角色之间切换装备 能够从背包中将装备装到游戏角色上也能够将游戏角色的装备卸下放入背包 卸下装备放入背包 将背包中装备赋给游戏角色 2 实现思
  • 图像阈值分割方法论文与代码【matlab】

    一 算法流程 图像是事物的视觉表现 也是人类接收信息 传递信息的一种重要途径 是人类生活与生产过程中最高效的信息获取与交流的方式之一 图像分割是一种帮助人类获取有效知识的重要方法 其主要是将目标图像处理成多个具有不同性质的区域并提取出对用户
  • base64编码相关-btoa和atob及中文乱码报错问题

    base64编码相关 btoa和atob及中文乱码报错问题 最近在做二进制编码相关的东西 关于Base64的编码解码问题 遇到了一些问题 btoa btoa函数全称就是Binary to ASCII 在js中用于Base64编码 let e