【发布时间】:2018-10-10 16:58:22
【问题描述】:
我正在编写一个创建文本文件的 API。 它由要求文件使用Windows 1255 编码的旧版软件使用。 我正在从一个很好的旧 JavaScript 字符串创建文件的内容。
这是我到目前为止代码的相关部分:
var iconv = require('iconv-lite');
const str = 'Hello world, שלום עולם';
const encoded_str = iconv.encode(str, 'win1255', {addBOM: true});
response.status(200).send('data:text/plain;base64,' + Buffer.from(str, 'binary').toString('base64'));
它成功发送了一个文本文件。它的 ASCII 内容被保留下来,当我在记事本中打开它时可以很好地显示它,但是任何非 ASCII(想想:希伯来语)字符都是乱码。
我有一种直觉,它与 base64 转换有关。
(该文件稍后会使用 HTML <a href="..."> 标签打开)
【问题讨论】:
-
请出示接收方和/或显示方,以便您的答案被理解为正确答案。
-
@TomBlodget 你是什么意思?
标签: javascript node.js express character-encoding iconv