2011-09-23 59 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

相關問題