【问题标题】:File API and name encoding文件 API 和名称编码
【发布时间】:2014-07-05 01:15:27
【问题描述】:

我刚刚开始使用 Firefox OS 做第一个应用程序。

在应用程序中,我使用 File API 来获取存储中的文件列表,但这里有一个问题,我在 name 属性中获取西里尔文路径,如下所示:

Moonbeam/Moonbeam/Albums/(2008) ÐÑикоÑновение [UL 077715]/07 Ðдин ÐенÑ.mp3

正确的应该是

Moonbeam/Moonbeam/Albums/(2008) Прикосновение [UL 077715]/07 Один День.mp3

不确定这是 Firefox OS Simulator 内部的错误还是其他地方的错误。 utf-8编码的所有文件名,我希望得到对应的字符串。

Ubuntu 14.10 x64、Firefox 31.0、Firefox OS 1.4 模拟器

navigator.getDeviceStorage('music').enumerate().onsuccess = function () {
  var file = this.result;
  console.log(file.name);
  this.continue();
};

【问题讨论】:

    标签: firefox web-applications fileapi firefox-os


    【解决方案1】:

    HTML5 File API 的默认编码是 UTF-8。

    FileReader.readAsText(Blob|File, opt_encoding) 
    
    • result 属性将包含文件/blob 的数据作为文本字符串。默认情况下,字符串被解码为“UTF-8”。使用可选的编码参数可以指定不同的格式。

    在我的 Firefox OS 模拟器中,File API 示例应用正在显示基于 http://www.html5rocks.com/en/tutorials/file/dndfiles/ 的韩语 filnename 字符。具体请参考 related question

    【讨论】:

    • 我不是在谈论文件内容,因为它是二进制音乐文件。我正在谈论我在此类代码的结果中得到的路径: navigator.getDeviceStorage('music').enumerate().onsuccess = function () { var file = this.result;控制台.log(文件名); this.continue(); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多