zoukankan      html  css  js  c++  java
  • js base64的转码与解码

    使用方法window.btoa 将字符串转为base64编码

    使用方法window.atob 将base64编码转为js字符串

     

     

    var string = “Hello World”

    let base64 = window.btoa(string)

    let str = window.atob(base64)

     

      

    注意:

    javascript中的字符的实现一般是16位无符号整数

    (http://www.ecma-international.org/ecma-262/5.1/#sec-15.5.1)

     

     

    window.btoa接收的string是8位的,所以,如果是超过8位的,比如unicode编码 中的中文就会报错 

    (

    • btoa() accepts a “string” where each character represents an 8-bit byte – if you pass a string containing characters that can’t be represented in 8 bits, it willprobablybreak. This isn’t a problem if you’re actually treating the string as a byte array, but if you’re trying to do something else then you’ll have to encode it first.
    • atob() returns a “string” where each character represents an 8-bit byte – that is, its value will be between 0 and 0xff. This does not mean it’s ASCII – presumably if you’re using this function at all, you expect to be working with binary data and not text.

    )

     

    let str = ‘我叫

    window.btoa(str) // InvalidCharacterError: String contains an invalid character

     

    可以先将unicode text转换为utf-8编码(encodeURIComponent),然后使用base64编码,解码的时候再转换回来,就能得到原先的text

     

    注意:

    encodeURIComponent的转义范围比encodeURI更大

  • 相关阅读:
    BZOJ4754 JSOI2016独特的树叶(哈希)
    锦标赛游戏 解题报告
    nowcoder OI 周赛 最后的晚餐(dinner) 解题报告
    Prufer序列
    牛客网 Wannafly挑战赛27 蓝魔法师
    替罪羊树板子
    AT1984 Wide Swap
    洛谷 P1829 [国家集训队]Crash的数字表格 / JZPTAB 解题报告
    CF858F Wizard's Tour 解题报告
    OI中组合数的若干求法与CRT
  • 原文地址:https://www.cnblogs.com/eret9616/p/12432047.html
Copyright © 2011-2022 走看看