2012-03-25 12 views
37

नोडजेज़ में बाइट्स में स्ट्रिंग लंबाई कैसे प्राप्त करें? यदि मेरे पास स्ट्रिंग है, तो इस तरह: äáöü फिर str.length 4 के साथ वापस आ जाएगा। लेकिन यह कैसे प्राप्त करें, कितने बाइट स्ट्रिंग बनाते हैं?नोडजेज़ में बाइट्स में स्ट्रिंग लंबाई कैसे प्राप्त करें?

अग्रिम

+1

एक स्ट्रिंग * नहीं है * बाइट्स में लंबाई। यह इस्तेमाल एन्कोडिंग पर निर्भर करता है। – usr

उत्तर

82

यहाँ धन्यवाद एक उदाहरण है:

str = 'äáöü'; 

console.log(str + ": " + str.length + " characters, " + 
    Buffer.byteLength(str, 'utf8') + " bytes"); 

// äáöü: 4 characters, 8 bytes 

Buffer.byteLength(string, [encoding])

+0

क्या उचित रूप से केबी, एमबी, उचित रूप से प्राप्त करने का कोई तरीका है (मानव पठनीय आकार) – chovy

+3

चोवी, 'npm फाइलसाइज इंस्टॉल करें ' – SGr

2
function getBytes(string){ 
    return Buffer.byteLength(string, 'utf8') 
} 
+0

अंगूठे नीचे लेकिन कोई टिप्पणी नहीं? मैं इस फ़ंक्शन का उपयोग अपने कोड में कर रहा हूं और यह बहुत उपयोगी है। – Antoine

+2

यह एक फ़ंक्शन में डाल दिए गए स्वीकृत उत्तर की एक प्रति है। – JohnnyHK

+0

हालांकि यह सूचीबद्ध प्रश्न का सबसे शुद्ध जवाब है। इस प्रश्न को ध्यान में रखते हुए 11,000+ बार देखा गया है, मुझे लगता है कि यह उन लोगों के लिए मूल्य प्रदान करता है जो उनके लिए बनाए गए फ़ंक्शन को पहले से सूचीबद्ध पहले उत्तर से कार्यक्षमता खींचने के विरोध में पहले से ही चाहते हैं। – Antoine

संबंधित मुद्दे