2011-09-23 38 views
0

在我正在研究的一个实验性扩展中,我使用了一个函数来获取网页源并将其分配给一个变量。它工作得很好。但是我想改变它的工作方式并从txt文件中获取内容。从浏览器缓存中读取数据时出现奇怪的结果

我承载一个txt文件,如:http//1.2.3.4/1.txt

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

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

(函数是不是我的。我是从另一个分机XPI,我不能现在还记得。敬意它的编码器。)

功能产生"ÿþP"这样的结果,我不明白。

+0

你想从浏览器缓存中提取数据 - 那么为什么你不说让人们从你的代码中猜出来呢? –

+0

我很抱歉如果我造成麻烦。由于我对这个完整的xul-js-firefox新手并不了解,它被称为“从浏览器缓存中提取数据”。 – Ghokun

+0

换句话说,你从某处复制了那段代码,你不知道它干了什么? –

回答

1

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

相关问题