浏览器JavaScript处理后端传来的中文Base64编码的数据

教程笔记 CatDeacon 262℃ 0评论
本文最后更新于2022年12月11日 12:44可能会因为时间久远而失效。如已失效或需要修正,请留言!

JavaScript自带的atob()、btoa()默认情况不能正确处理中文。下面代码可用于解码后端传过来的Base64字符串。

/**
  * 编码base64
  */
 function Encode64(str) {
     return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
         function toSolidBytes(match, p1) {
             return String.fromCharCode('0x' + p1);
         }));
 }
 /**
  * 解码base64
  */
 function Decode64(str) {
     return decodeURIComponent(atob(str).split('').map(function (c) {
         return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
     }).join(''));
 }

 let Value = '2022-11-12'
 let encodeValue
 let decodeValue
 encodeValue = Encode64(Value) // 编码base64
 decodeValue = Decode64(encodeValue) // 解码base64
 console.log('Value:', Value);
 console.log('encodeValue:', encodeValue);
 console.log('decodeValue:', decodeValue);

转载自:https://blog.csdn.net/qq_15957557/article/details/127819292

转载请注明:猫执事 » 浏览器JavaScript处理后端传来的中文Base64编码的数据

喜欢 (17)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址