如何在 JavaScript 中将 UTF8 字符编码为 Base64
How to encode UTF8 characters into Base64 in JavaScript
我在处理中文时尝试过这样做,但输出是乱码:
var a = "你好";
undefined
a
"你好"
a = unescape(encodeURIComponent(a));
"ä½ å¥½"
a
"ä½ å¥½"
与处理英语相比:
var a = "Hello";
undefined
a
"Hello"
a = unescape(encodeURIComponent(a));
"Hello"
这是我的整个代码:
var content = $("div#test").html();
content = unescape(encodeURIComponent( content ));
content = window.btoa(content);
content = "data:image/svg+xml;filename:{{ request.session.access_token.uid }}.svg;base64," + content;
更新:
我正在尝试做的是将生成的 SVG 编码为数据 url 以供用户下载。我首先通过将 SVG 转换为画布(使用 CanVG)并使用 html2canvas 生成 base64 来解决这个问题......终于可以工作了...
尝试往返此操作,它工作正常:
decodeURIComponent(escape(window.atob(window.btoa(unescape(encodeURIComponent("東京"))))))
某些中间结果是否看起来是乱码无关紧要。
其中一个评论中window.btoa(decodeURIComponent(escape(unescape(encodeURIComponent("東京")))))
的问题在于调用不平衡且顺序不正确。
相关文章:
- 为什么字符编码对URL很重要
- 以纯文本加载的脚本-未声明纯文本文档的字符编码
- 打开字幕字符编码
- 使用节点请求模块的 UTF8 字符编码
- 阻止自动HTML特殊字符编码
- 什么是默认的 JavaScript 字符编码
- 如何处理节点.js中/从节点输出的 (cli) 标准输出流的字符编码
- 字符编码适用于一页,但不适用于另一页
- 为什么此字符编码问题仅在选定系统上出现
- Firebase REST API - 如何设置字符编码
- 使用 Javascript/Windows 批处理文件混合将非 ASCII 字符编码为 HTML
- JavaScript WebSocket 字符编码问题(文本)
- 使用 JavaScript 读取/写入文件时的字符编码
- javascript文件中的字符编码
- 未捕获的语法错误:意外的标记-JSON字符编码
- 为Javascript指定字符编码
- 如何处理Microsoft Word字符编码
- Node.js/Express-如何设置响应字符编码
- 二维码破坏了特殊字符编码的哈希链接
- 字符编码和代码清理..请帮忙