How can you encode a string to Base64 in JavaScript?

前端 未结 26 3784
梦如初夏
梦如初夏 2020-11-21 04:02

I have a PHP script that can encode a PNG image to a Base64 string.

I\'d like to do the same thing using JavaScript. I know how to open files, but I\'m not sure how

26条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-21 04:45

    You can use btoa() and atob() to convert to and from base64 encoding.

    There appears to be some confusion in the comments regarding what these functions accept/return, so…

    • 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 will probably break. 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.

    See also:

    • How do I load binary image data using Javascript and XMLHttpRequest?

提交回复
热议问题