Javascript Base64编码UTF8字符串在webkit / safari中失败

前端之家收集整理的这篇文章主要介绍了Javascript Base64编码UTF8字符串在webkit / safari中失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试base64编码包含泰语字符的utf8字符串.我正在使用浏览器内置的btoa功能.它适用于ascii文本,但Thai会导致它抛出INVALID_CHARACTER_ERR:DOM异常5异常.

这是一个失败的样本(看起来像“n”的字符是泰语)

BTOA( ‘一个ก’)

我需要做什么来base64编码非ascii字符串?

解决方法

var Base64 = {
  encode: function(s) {
    return btoa(unescape(encodeURIComponent(s)));
  },decode: function(s) {
    return decodeURIComponent(escape(atob(s)));
  }
};

猜你在找的JavaScript相关文章