我有这个Base64编码的字符串:const encodedString = 'eyJ1c2VybmFtZSI6Imxha2VzYXJlIiwib2F1dGhQcm92aWRlciI6ImdpdGh1YiIsIm9hdXRoSWQiOiI3NTc4NTU5IiwiYXZhdGFyVXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzc1Nzg1NTk_dj0zIiwiaWF0IjoxNDg1ODAxODI3fQ';('{“ username”:“ lakesare”,“ oauthProvider”:“ github”,“ oauthId”:“ 7578559”,“ avatarUrl”:“ https://avatars.githubusercontent.com/u/7578559?v=3”, “ iat”:1485801827}')

在节点中对其进行解码:

Buffer.from(encodedString, 'base64').toString();


不能在浏览器中对其进行解码(无法在“窗口”上执行“ atob”:要解码的字符串未正确编码。):

atob(encodedString);

最佳答案

我最终使用了buffer软件包(https://github.com/feross/buffernpm install --save buffer):

import { Buffer } from 'buffer/';
Buffer.from(encodedString, 'base64').toString()


返回正确解码的字符串。

关于javascript - 使用atob解码base64字符串会引发错误,即使它没有任何非ASCII字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41945936/

10-16 20:06