2012-02-02 10 views

उत्तर

24

निम्नलिखित कोड आपकी समस्या को ठीक करेगा।

StringBuilder data = new StringBuilder(); 
for (int i = 0; i < bytes1; i++) 
{ data.Append("a"); } 
byte[] buffer = Encoding.ASCII.GetBytes(data.ToString()); 

समस्या यह है कि आप GetBytes कार्य करने के लिए एक StringBuilder गुजर रहे हैं जब आप StringBuilder से स्ट्रिंग परिणाम गुजर करने की जरूरत है।

3

इस कोशिश:

byte[] buffer = Encoding.ASCII.GetBytes(data.ToString().ToCharArray()); 
+1

स्ट्रिंग को किसी सरणी में स्पष्ट रूप से रूपांतरित करने की आवश्यकता नहीं है, GetBytes() एक स्ट्रिंग स्वीकार करेगा। – roken

+0

धन्यवाद @ धन्यवाद, आप सही हैं –

11

GetBytes एक StringBuilder स्वीकार नहीं करता है

StringBuilder data = new StringBuilder(); 
for (int i = 0; i < bytes1; i++) 
{ 
    data.Append("a"); 
} 
byte[] buffer = Encoding.ASCII.GetBytes(data); 

लेकिन मैं इस त्रुटि मिलती है एक पैरामीटर के रूप में। डेटा के साथ एक स्ट्रिंग का उपयोग करें। टॉस्ट्रिंग()

byte[] buffer = Encoding.ASCII.GetBytes(data.ToString()); 
4

कृपया इसे आज़माएं। स्ट्रिंगबिल्डर ऑब्जेक्ट है .. वहां से, आपको स्ट्रिंग वैल्यू का पालन करना होगा।

byte[] buffer = Encoding.ASCII.GetBytes(data.ToString()); 
2

एएससीआईआई इस शताब्दी में पाठ के लिए एक अच्छा एन्कोडिंग विकल्प नहीं है। वेब और मोबाइल एप्लिकेशन कम से कम यूटीएफ -8 का उपयोग करना चाहिए, और किसी अन्य प्रकार के एप्लिकेशन को वैश्विककृत व्यवसाय या सोशल नेटवर्किंग वातावरण में काम करना चाहिए।

StringBuilder builder = new StringBuilder(); 
for (int i = 0; i < iLength; ++ i) 
    builder.Append("a"); 
byte[] bytesFromBuilder = Encoding.UTF8.GetBytes(builder.ToString());