2011-08-16 24 views
5

मैं निम्नलिखित Node.js कोड है:NodeJS: स्ट्रिंग परिवर्तन

conn.on("data",function(x){ 
     var responseData=x; 
     //sys.puts(responseData); 
     sys.puts(responseData.length); 

     var f=50; 
     var N=responseData.length; 
     if(N>f){ 
     var p=Math.floor(N/f); 
     var p_rem=N%f; 

     var hash=""; 
     for(var i=0;i<p;i++){ 
      hash=DJBHash(responseData.substr(f*i,f)); //this line causes program to exit! 
      sys.puts(responseData.substr(f*i,f)+"***"+hash); 
     } 
     } 
     soc.write(x); 
    }); 

लेकिन substr काम करने के लिए प्रकट नहीं होता है!

मैं node.js में स्ट्रिंग के सबस्ट्रिंग कैसे प्राप्त कर सकता हूं?

अग्रिम में बहुत धन्यवाद,

+0

अपने probablye 'DJBHash' कि – Raynos

+0

विफल रहता है मुझे लगता है कि लाइन पर टिप्पणी की ... अगली पंक्ति अब विफल हो रहा है ... – Eamorr

+0

'ऑब्जेक्ट.प्रोटोटाइप.toString.call (प्रतिक्रिया डेटा)' – Raynos

उत्तर

13

चर डेटा प्रकार बफर की है, तो आप विधि toString साथ एक स्ट्रिंग बनाना होगा और उसके बाद, आप substr ऐसा करने में सक्षम हो जाएगा। ऐसा ही कुछ काम करेंगे:

responseData.toString().substr(1) 

अधिक जानकारी के लिए इस लिंक से परामर्श:

http://nodejs.org/docs/v0.4.10/api/buffers.html#buffer.toString

+0

हाय, वास्तव में अच्छी तरह से काम किया। मैं सोच रहा था कि क्या आप जानते हैं कि एक स्ट्रिंग से वापस कैसे टाइप करें "प्रतिक्रिया डेटा" है? – Eamorr

+1

प्रलेखन के अनुसार: 'नया बफर (myStr) 'यह करेगा http://nodejs.org/docs/v0.4.10/api/buffers.html#new_Buffer –

+0

और ऐसा करता है! Woop woop! बहुत धन्यवाद। मुझे google पर कुछ भी नहीं मिला ... – Eamorr