从浏览器缓存中读取数据时的结果很奇怪

时间:2011-09-23 14:11:33

标签: javascript firefox firefox-addon xul

在我正在研究的实验扩展中,我使用一个函数来获取网页的来源并将其分配给变量。它工作得非常好。但是我想改变它的工作方式并从txt文件中获取内容。

我正在托管一个txt文件,例如:http//1.2.3.4/1.txt

我想要的是将此txt文件的内容分配给变量。

功能在这里:http://jsfiddle.net/qumsm/

(功能不是我的。我是从另一个我现在无法记住的扩展xpi中得到的。尊重编码器。)

该函数产生"ÿþP"这个我得不到的结果。

1 个答案:

答案 0 :(得分:1)

那是byte order mark,您正在查看的文件似乎使用的是UTF-16 LE编码。在读取该数据时,您需要使用nsIConverterInputStream而不是nsIScriptableInputStream,并指定要转换的正确编码。 nsIScriptableInputStream仅在读取ANSI数据时有用,而不是Unicode。请参阅code example on MDN