我使用后端服务,该服务以纯文本形式向我发送回base64。
当我在控制台中登录时,在Base64Decode中复制/粘贴,我看到我的字符串包含换行符,这就是我想要的。
但是当我使用函数将此base64字符串转换为UTF-8时,会丢失换行符。
我尝试过的事情:
function b64DecodeUnicode(str) {
return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)
}).join(''))
}
此解决方案来自here,但无效。
答案 0 :(得分:0)
我尝试了here的解决方案,将换行符设为const wrapper = mount(<MyComponent />);
expect(wrapper.find('span')).to.have.className('child');
expect(wrapper.find('span')).to.not.have.className('root');
,它的工作原理是:
\n
答案 1 :(得分:0)
问题是,在将base64解码为UTF-8后,换行字符(ASCII 10)被转换为回车字符(ASCII 13)。
我不知道为什么,也许我在base64解码中丢失了一些东西。