2012-06-07 59 views
15

我必須讀取使用nodejs編碼爲UTF-16的文件(因爲它非常大)。來自該文件的數據將進入mongodb,因此我需要將其轉換爲utf-8。從谷歌搜索,似乎這只是簡單地不被Node支持,我將不得不求助於自己從緩衝區轉換原始數據。但我也認爲應該有更好的方法,我只是沒有找到它。有什麼建議麼?如何讀取nodejs中以utf-16編碼的文件?

謝謝。

+2

它應該支持ucs2,它非常接近UTF-16。 –

回答

17

節點支持UCS-2,即JavaScript支持的UTF-16子集。嘗試使用它。

看到這個pull request

14

取代正常utf8讀取與ucs2一個文本文件時,你必須:

var fileContents = fs.readFileSync('import.csv','ucs2') 

此外,對於谷歌:任何人都得到額外的(問號)出現在解析文件中的字符,這可能是你的問題的原因。將文件讀取爲UTF16/UCS2,額外的字符將消失。