【问题标题】:How can i create a text file using java script in Unicode encoding?如何使用 Unicode 编码的 java 脚本创建文本文件?
【发布时间】:2017-03-02 11:40:38
【问题描述】:

Unicode Encoding... Gettting UTF-8 我正在使用此代码...

    var content = 'demo';
    uriContent = "data:application/text," + encodeURIComponent(content);
    var link = document.createElement('a');
    link.setAttribute('href', uriContent);
    link.setAttribute('download', '22ddd' + '.txt');
    link.click();

文本文件中的内容将采用印地语语言,该语言将进一步转换为 APS 字体。当编码为 Unicode 时,客户端可用的字体转换器软件可以工作。我能够正确下载文本文件,但它采用 UTF-8 编码

【问题讨论】:

  • 你看过这篇文章吗? stackoverflow.com/questions/5403912/…
  • @oneNic​​eFriend:我认为提问者不想使用ActiveX 创建文本文件。它很旧,仅适用于 Internet Explorer。
  • 请您在您的问题中添加当前无效的内容吗?编码有什么问题? UTF-8 对我来说看起来像是 unicode 编码..
  • UTF-8 是 Unicode。

标签: javascript


【解决方案1】:

documentation 表示,encodeURIComponent 仅生成 UTF-8。所以我们必须尝试一些不同的东西。

我试着把一些碎片拼凑起来:

它有效(对我来说):

<html>
    <body>
        <script>window.TextEncoder = window.TextDecoder = null;</script>
        <script src="encoding-indexes.js"></script>
        <script src="encoding.js"></script> 
        <script>           
            demo = function() {
                var content = 'demo';
                var uint8array = new TextEncoder( 'utf-16', { NONSTANDARD_allowLegacyEncoding: true }).encode(content);
                var blob = new Blob([uint8array], {type : "octet/stream" });
                var url = URL.createObjectURL(blob);
                var link = document.createElement('a');
                link.setAttribute('href', url);
                link.setAttribute('download', '22ddd' + '.txt');
                link.click();       
            };
        </script>
        <button onClick="demo();">
            Test
        </button>
    </body>
</html>

【讨论】:

  • 请注意,我不明白为什么我必须将uint8array 放入数组中来创建blob。有什么解释吗?
猜你喜欢
  • 2012-05-16
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
相关资源
最近更新 更多