Tag: utf 16

JSON到csv文件的中文字符编码

我已经写下了将json转换为csv的代码。 var json2csv = require('json2csv'); var fs = require('fs'); var fields = ['car.make', 'car.model', 'price', 'color']; var myCars = [ { "car": {"make": "萱萱的 iPad Mini", "model": "萱萱的 iPad Mini"}, "price": 40000, "color": "blue" }, { "car": {"make": "萱萱的 iPad Mini", "model": "萱萱的 iPad Mini"}, "price": 35000, "color": "black" }, { "car": {"make": "萱萱的 iPad […]

比较string在节点js中

我是Node.js的新手,需要一个npm包或者一些模块来与UTF-16格式的string进行比较。 我search了很多,并在C#中我有以下function: public int Compare(string x, string y) { var myComparer = CompareInfo.GetCompareInfo("en-US"); return myComparer.Compare(x, y, CompareOptions.Ordinal); } 我想要在Node.js中写入这个C#代码中的相同行为 提前致谢

如何使用UTF-16的ICU?

我正在研究在本地Node.js模块中使用ICU进行Unicodestring处理,因为在我看来, v8::String (根据这些文档 )没有用于此目的的C ++ API。 据我所知,V8需要ExternalStringResource和其他API中的UTF-16,所以我想使用ICU进行UTF-16处理。 我特别需要: 迭代UTF-16string的字符(而不仅仅是16位代码单元) 告诉UTF-16string包含的字符数(不只是16位代码单元) 所以我看了一下ICU文档,发现了UnicodeString和CharacterIterator类。 但是, UnicodeString没有fromUTF16方法,只有fromUTF8和fromUTF32 。 我不确定的另一件事是, UnicodeString构造函数是否复制我给与否的数据? 我非常希望使用零复制的方法,我只是与一个不可变的对象工作,所以它不应该执行任何复制操作,只需使用我指向它的缓冲区。 我也不确定是否可以使用UCharIterator (假设我可以以某种方式从我的UTF-16string转换UChar* )。 所以我的问题是: 我如何使用ICU来达到上述目的? 在此先感谢您的答案!

在node.js应用程序中读取文件时出现奇怪的Unicode字符

我正在尝试编写一个读取一组文件的节点应用程序,将它们分成几行,并将行放入一个数组中。 很简单。 它工作在不同的文件,除了我正在使用的一些SQL文件。 出于某种原因,当我分割线时,我似乎正在获得某种unicode输出。 该应用程序看起来像这样: fs = require("fs"); var data = fs.readFileSync("test.sql", "utf8"); console.log(data); lines = data.split("\n"); console.log(lines); input文件如下所示: use whatever go 输出如下所示: use whatever go [ ' u\u0000s\u0000e\u0000 \u0000w\u0000h\u0000a\u0000t\u0000e\u0000v\u0000e\u0000r\u0000', '\u0000g\u0000o\u0000', '\u0000' ] 正如你所看到的,在文件的开头有一些不可识别的字符。 在读入数据并直接输出之后,除了这个字符以外,看起来还好。 然而,如果我试图把它分成几行,我就得到了所有这些类似unicode的字符。 基本上所有的实际字符在每个字符开头都带有“\ u0000”。 我不知道这里发生了什么,但似乎与文件本身中的字符有关。 如果我复制并粘贴文件的文本到另一个新的文件,并在新文件上运行应用程序,它工作正常。 我假设无论是造成这个问题正在剥离复制和粘贴过程中。

我怎样才能读取在nodejs utf-16编码的文件?

我必须使用nodejs读取以UTF-16编码的文件(因为它非常大)。 来自文件的数据将进入mongodb,所以我将需要将其转换为utf-8。 从谷歌search,看来,这只是简单地不被支持的节点,我将不得不求助于原始数据从缓冲区本身。 但是我也觉得应该有更好的方法,我只是没有find它。 有什么build议么? 谢谢。