我必須讀取使用nodejs編碼爲UTF-16的文件(因爲它非常大)。來自該文件的數據將進入mongodb,因此我需要將其轉換爲utf-8。從谷歌搜索,似乎這只是簡單地不被Node支持,我將不得不求助於自己從緩衝區轉換原始數據。但我也認爲應該有更好的方法,我只是沒有找到它。有什麼建議麼?如何讀取nodejs中以utf-16編碼的文件?
謝謝。
我必須讀取使用nodejs編碼爲UTF-16的文件(因爲它非常大)。來自該文件的數據將進入mongodb,因此我需要將其轉換爲utf-8。從谷歌搜索,似乎這只是簡單地不被Node支持,我將不得不求助於自己從緩衝區轉換原始數據。但我也認爲應該有更好的方法,我只是沒有找到它。有什麼建議麼?如何讀取nodejs中以utf-16編碼的文件?
謝謝。
節點支持UCS-2,即JavaScript支持的UTF-16子集。嘗試使用它。
看到這個pull request。
取代正常utf8
讀取與ucs2
一個文本文件時,你必須:
var fileContents = fs.readFileSync('import.csv','ucs2')
此外,對於谷歌:任何人都得到額外的(問號)出現在解析文件中的字符,這可能是你的問題的原因。將文件讀取爲UTF16/UCS2,額外的字符將消失。
它應該支持ucs2,它非常接近UTF-16。 –