如何进行Base64转码解码

  • 转码 window.btoa()
  • 解码 window.atob()
// 可以编码、传输和解码操作各种字符,比如0-31的ASCII码值
var str = 'Hello, smart, beautiful and lovely girl';window.btoa(str)
//转码结果 'SGVsbG8sIHNtYXJ0LCBiZWF1dGlmdWwgYW5kIGxvdmVseSBnaXJs'window.atob("SGVsbG8sIHNtYXJ0LCBiZWF1dGlmdWwgYW5kIGxvdmVseSBnaXJs")
//解码结果 "Hello, smart, beautiful and lovely girl"

但是如果包含中文就会报错

var str = "Hello,钢筋bb";

ncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range. at <anonymous>:1:8

要编码的字符串包含拉丁范围之外的字符

这时候可以用

  • 转码 window.encodeURIComponent()
  • 解码 window.decodeURIComponent

encodeURIComponent 转义除了如下所示外的所有字符:
不转义的字符:A-Z a-z 0-9 - _ . ! ~ * ' ( )

为了避免服务器收到不可预知的请求,对任何用户输入的作为URI部分的内容都需要用encodeURIComponent进行转义

var str = "Hello,钢筋bb";window.btoa(window.encodeURIComponent(str))
//转码结果 'SGVsbG8lRUYlQkMlOEMlRTklOTIlQTIlRTclQUQlOEJiYg=='window.decodeURIComponent(window.atob('SGVsbG8lRUYlQkMlOEMlRTklOTIlQTIlRTclQUQlOEJiYg=='))
//解码结果 'Hello,钢筋bb'

JS实现对中文字符串的转码相关推荐

  1. 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?

    在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码? Posted on 2008-07-13 12:00 尹合磊 阅读(1902) 评论(0)  编辑 收藏 所属分类: ASP.N ...

  2. 生成与中文字符串相对映的拼音首字母串的函数(js)

    /* 作者:梅雪香 日期:2006-7-29 功能:生成与中文字符串相对映的拼音首字母串 版本: V1.0 alpha */ // 汉字拼音首字母列表 本列表包含了20902个汉字,用于配合 ToCh ...

  3. php字符串从a到z排序,js怎么实现中文按照A-Z排序

    这次给大家带来js怎么实现中文按照A-Z排序,js实现中文按照A-Z排序的注意事项有哪些,下面就是实战案例,一起来看一下. 实现中文按照A-Z的方法,可以在vue的methods里面写入:method ...

  4. JS中文字符串和UTF-8编码字符串相互转换

    1.中文字符串转化为UTF-8编码,如"<汉字>"的UTF-8编码为"%3C%E6%B1%89%E5%AD%97%3E" 2.UTF-8编码字符串& ...

  5. js 截取中文字符串

    //截取中文字符串 function subString(str, len, hasDot) {     var newLength = 0;     var newStr = "" ...

  6. html js正则表达式语法,js正则表达式 非中文_js正则表达式匹配中文_js正则表达式语法...

    腾讯云活动聚集了最新的降价打折.特惠折扣等资料,你在这里可以寻找云服务器.域名..小流程等等多种不同产品的促销活动,还有这些品牌的免费试用哦. 因为对js中的正则不太了解,可以参考一下js 中正则表达 ...

  7. java将u开头的是什么编码_十六进制“\u”开头字符串的转码

    有时在JS或JAVA属性文件中,常看到"\u"开头的中文字符串,不能知道其到底是什么字符.现在提供一个转码的方法,将其变成可识别的汉字. 代码如下: import java.io. ...

  8. 十六进制“\u”开头字符串的转码

    有时在JS或JAVA属性文件中,常看到"\u"开头的中文字符串,不能知道其到底是什么字符.现在提供一个转码的方法,将其变成可识别的汉字. 代码如下: import java.io. ...

  9. js实现将中文转拼音缩写大小写

    前端开发一起交流QQ群:740034288. 1. 参考:https://blog.csdn.net/qq_38366657/article/details/83788507. 2. 封装: var ...

最新文章

  1. 一文看尽4种SLAM中零空间的维护方法
  2. 一切都要从华为云 CloudIDE 酷似 VS Code 说起
  3. in module     from . import multiarray ImportError: DLL load failed: 找不到指定的模块解决
  4. 位置服务器的操作方法,hpproliantml系列服务器上机架操作方法.doc.docx
  5. scrapy_redis项目配置
  6. eclipse中自动生成javadoc文档的方法
  7. 【机器学习】逻辑回归 LR 算法 整理
  8. 【newCoder】2016校招真题在线编程 风口的猪-中国牛市
  9. 民航订票管理系统——jsp+servlet+MySQL [最简单的java web,只需要简单会一点就可以写]
  10. 2018-10-10工作日报
  11. 淘宝居然还有卖代码的
  12. mac 防止 下载 睡眠_如何暂时防止Mac进入睡眠状态
  13. 计算机专业photoshop知识,PS功能小技巧电脑基础知识IT计算机专业资料(5页)-原创力文档...
  14. 自然语言期末复习笔记—Morphological Analysis
  15. Appid + appSecret + code 到微信方服务器 获取 session_key openid 并授权登录
  16. windows10上传文件到服务器
  17. 2000-2019 年制造业各细分行业数据库
  18. VB如何使用计时器?
  19. 有效电子邮件地址大全_有效使用电子邮件的最佳技巧
  20. 取消win10 f1~f12默认快捷键

热门文章

  1. python生成多级文件夹_利用 python 遍历多级文件夹处理不同文件
  2. MapReduce代码编写--求性别人数、求总分、关联、map端的过滤、combiner预聚合
  3. Mac中如何通过terminal命令行进入“iCloud Driver”目录
  4. 当今计算机科学发展趋势,探索计算机科学与技术的发展趋势
  5. snail mock_HTML5 2D游戏开发,Snail Bait简介
  6. 2020下半年中小学教资考试教育知识与能力试题(中学)——主观题
  7. 平台开发——skynet——⑤网关服务gate
  8. Hive可视化工具squirrel-sql --小松鼠
  9. C++-鼠标操作大全
  10. Go语言:模拟鼠标操作(go-vgo/robotgo)