【发布时间】:2016-01-01 10:19:17
【问题描述】:
我有一些字符串需要是 UTF-16 文本文件。例如:
var s = "aosjdfkzlzkdoaslckjznx";
var file = "data:text/plain;base64," + btoa(s);
这将产生一个 UTF-8 编码的文本文件。如何获取带有字符串 s 的 UTF-16 文本文件?
【问题讨论】:
-
您的文件是否需要位于
data:URL 中?因为你可以用 Blob 轻松地做你想做的事。 -
是的,我需要 base64。但我不喜欢 fileReaderAPI 因为它是异步的。它会使我的应用程序过于复杂。你有更好的建议吗?
-
我建议您重新评估您的标准。 Web 应用程序使用异步的东西,这是不可避免的。但碰巧的是,使用 TextEncoder 和创建 Blob URI 不会是异步的。您不需要 File API,因为您不是在读取文件,而是在创建一个文件。
-
我使用arrayBuffer直接转换为base64:stackoverflow.com/questions/9267899/…
标签: javascript utf-16