Articles of 编码

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 […]

在下载XML Feed时处理多种编码scheme

我正尝试通过以下url阅读Feed: http://www.chinanews.com/rss/scroll-news.xml 使用请求模块 。 但我得到的东西有 ʷ ) ( й ) ޹ 。 在回顾XML我发现编码被设置为<?xml version="1.0" encoding="gb2312"?> 但试图设置编码为gb2312 ,我得到未知的编码错误。 request({ url: "http://www.chinanews.com/rss/scroll-news.xml", method: "GET", headers: { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding": "gzip, deflate", "Host": "www.chinanews.com", "Accept-Language": "en-GB,en-US;q=0.8,en;q=0.6" }, "gzip": true, "encoding": "utf8" }, (err, resp, data) => { console.log(data); }); 有没有一种方法,我可以得到的数据不考虑它的编码? 我应该如何处理这个?

Node.js http请求编码问号字符

我试图通过http客户端使用windows1251编码的网页获取请求,但结果包含西里尔字符应该在哪里的问号。 我尝试使用iconv-lite,但字符仍然不可读。 这是我的代码: var options = { hostname: 'example.com', path: '/', method: 'GET', headers: { 'Cookie': 'Mycookie=myvalue' }, encoding: null }; var results = ''; var req = http.request(options, function (res) { res.on('data', function (chunk) { results = results + chunk; }); res.on('end', function () { let conv = iconv.decode(new Buffer(results), 'windows-1251') console.log(conv) }); });

string编码的HTML

我使用javascript和Node.js实现了一个http服务器。 由于某种原因,当用户填写一个表格,让我们说他的全名,在服务器端我得到了什么用户填写,但..我得到“+”之间的所有单词而不是“”。 这是客户端: <form id="register" action="/register" method="post"> <input type="text" id="reg_usname" class="input" name="username" required autofocus/> <form /> 这是服务器端: var username=request.parameters['username'];//request is an http request that is returned 我不知道为什么这样。 我可以简单地把所有的“+”replace成“”,但似乎有一个更好的方法来解决这个问题。

Node.js不能解码string..字符乱码(问号)

我真的希望这只是工作,但… 我得到一个base64string的头…我想编码为UTF8。 strInit = req.headers['authorization'] buf = new Buffer(strInit.length) i = 0 while i < strInit.length buf[i] = strInit.charCodeAt(i) i++ str = buf.toString() str2 = new Buffer(str, 'base64').toString() console.log("AUTH REQUEST :",strInit, buf, str, str2) AUTH REQUEST : Basic dXNlckBnbWFpbC5jb206cXdlcnR5 <Buffer 42 61 73 69 63 20 64 58 4e 6c 63 6b 42 6e 62 […]

Nodejs多部分file upload,生成大于原始文件

我想用Express 4编写一个Nodejs服务器的file upload器。我不想使用任何中间件来达到这个目的,因为这更像是一个理论练习,以更好地理解Nodejs如何工作和分段上传。 以下是Express 4中路由的主要代码,它收集客户端数据并将其写出。 var clientData = []; // When Data Arrives req.on('data', function(data){ clientData.push(data); }); // Done req.on('end', function(){ var output = Buffer.concat(clientData); fs.writeFile('Thisisthesong.mp3', output, 'binary', function(err){ if (err) throw err; debug('Wrote out song'); }); }); 我的问题是,当文件最后写出来,比原来的大。 例如,如果我要上传一个原来为10.5 MB的代码的MP3,结果是11 MB。 我相信这与将编码从身体来回切换写出来有关。 我也明白,节点并没有真正的二进制编码,这可能是一个问题? 我也认为这可能是因为我没有剥离数据的边界或内容configuration(这将是下一步,一旦运行良好),但边界和configuration只有大约300字节而不是500KB 。 有没有人有解释或可以指出我做错了什么,我将不胜感激。 其他信息: +快递4 +除了cookieparser,我现在还没有使用任何中间件 + Ubuntu 12.04 +节点v0.10.31

nodejs中的yEnc的error handling

我正在使用带有Node的yEnc模块。 我一直在试图找出如何执行error handling,因为模块没有一个err的标记。 我将如何执行error handling? 我有的代码如下: exports.emailSNSclient = SNSClient(function(err, message) { var payload = JSON.parse(yEnc.decode(message.Message)); logger.info(payload); 我不确定try catch是否会起作用,因为我已经被认为不能和node一起工作。 什么是正确的方法来做到这一点? 谢谢

fswebcam:通过Node.js获取dataURI

我有一个在Raspberry Pi上运行的fswebcam。 使用命令行,这可以节省JPG图像。 我现在想要在Node.js应用程序中接收这些图像,并通过dataURI将它们发送到浏览器中使用。 在Node.js上,我这样做: var exec = require('child_process').exec; exec("fswebcam -d /dev/video0 -r 160×120 –no-banner –save '-'", function(err, stdout, stderr) { var imageBase64 = new Buffer(stdout).toString('base64'); 然后我发送imageBase64到浏览器。 在浏览器中,将收到的数据设置为数据URI失败: image.src = "data:image/jpg;base64," + imageBase64; 使用由fswebcam创build的存储JPG创build的数据URI(通过在线生成器)执行上述操作可以正常工作。 关于格式和编码我在这里没有看到什么?

GIT。 Web界面(Node.js)。 错误的编码

我正在尝试在Node.js上为GIT构buildWeb界面。 目前我有一个问题:错误的Unicode编码,而'git提交'。 提交消息在日志中显示为乱码。 我不知道哪一步我需要纠正哪一步。 在这一点上我有: 1)用于接口的UTF-8编码的HTML页面; 2)Node.js child_process.spawn()来执行git命令; 3) ["-C",repo.path,"commit","-m",post.msg]作为参数列表传递给git; 当我从git shell执行相同的命令时(在Windows下,如果它很重要) – 一切都很好。 有什么build议么? 提前致谢! 更新 我想我不会有这个问题的答案,但仍然添加一个细节:感觉就像某处消息从UTF8转换为ISO 8859-1 UPDATE2 看起来像8859-1 – 是我的默认CMD.exe(谁继续我的命令)编码…仍然不知道该怎么办。

我怎样才能确定使用哪种编码JSON.stringify()?

我正在放置一个node / express应用程序,它将返回使用JSON.stringify()序列化的JSON。 我想设置Content-Type HTTP头来包含编码信息 – 比如application/json; charset=utf-16 application/json; charset=utf-16 。 我的理解是JSON.stringify()可能会产生UTF-16或UCS-2编码的结果。 我如何知道使用哪种编码来序列化JSON,以及告知用户代理正确编码的最佳方式是什么?