क्या सी # में रूपांतरण कार्यों को होस्ट करने के लिए नेट हैं? गुगलिंग और ज्यादा नहीं ढूंढ रहा है। : पीntohs() और ntohl() समतुल्य?
उत्तर
IPAddress.HostToNetworkOrder
और IPAddress.NetworkToHostOrder
?
प्रत्येक विधि में 16, 32 और 64 बिट पूर्णांक के लिए अधिभार है।
@jon-skeet's answer आपके प्रश्न के अनुसार सबसे सटीक है। हालांकि, little-endian and big-endian computer architectures के बीच अनुवाद करने के लिए 'ntoh_' और 'hton_' सी फ़ंक्शंस का व्यापक रूप से उपयोग किया जाता है।
यदि आपका इरादा endianess रूपांतरण प्रदर्शन करने के लिए है, वहाँ एक BitConverter class (कोर विधानसभा में स्थिर वर्ग) यदि आप एक अधिक उपयुक्त तरीका लाता है। खासकर जब:
- बाइट्स (व्यापक रूप से फ़ाइल या नेटवर्क स्ट्रीम में उपयोग किया जाता है) के साथ काम करना।
- Detecting endianess रनटाइम मशीन का आर्किटेक्चर।
- टाइपकास्टिंग के बिना पूर्णांक (बूलियन, दशमलव) से परे बुनियादी संरचनाओं को परिवर्तित करना।
- आपका कोड नेटवर्क संचालन से संबंधित नहीं है (System.Net नेमस्पेस)।
सिवाय इसके कि कक्षा में htonl के बराबर फ़ंक्शन नहीं है। मुझे बाइट्स प्राप्त करना होगा, उन्हें उलट देना होगा, फिर – pm100
'बिट कनवर्टर' को वापस परिवर्तित करना होगा, किसी भी गैर देशी देशीता का समर्थन नहीं करता है। (कम से कम अंतर्निर्मित व्यक्ति नहीं करता है, जॉन या मार्क ने एक और शक्तिशाली बनाया जो करता है - लेकिन कचरा अस्थायी सरणी बनाना अभी भी एक अपशिष्ट है) –
- 1. dtatransfer में htons और ntohl
- 2. क्या बूस्ट में ntohl/htonl/ntohs/htons प्रकार फ़ंक्शंस का उपयोग करने के लिए पोर्टेबल तरीका है?
- 3. लिनक्स: ntohl सही ढंग से काम नहीं करता
- 4. मर्क एलएस-फाइलों के समतुल्य में समतुल्य?
- 5. AccesibleName प्रॉपर्टी के समतुल्य WPF समतुल्य
- 6. सी 11 में समतुल्य() समतुल्य क्या है?
- 7. बूस्ट समतुल्य
- 8. @ {$ list_ref} और @ $ list_ref पर्ल में समतुल्य हैं?
- 9. CouchDB SUM और GROUP के समतुल्य देखें
- 10. IsFinite() समतुल्य
- 11. जावा में फ़ाइल.सेपरेटर के समतुल्य सी # समतुल्य है
- 12. मोंगोडीबी संग्रहीत प्रक्रिया समतुल्य
- 13. एंड्रॉइड: आईओएस यूआईएक्शनशीट समतुल्य
- 14. पोस्टग्रेस्क्ल GROUP_CONCAT समतुल्य?
- 15. रीस्टफुल सर्विसेज - डब्लूएसडीएल समतुल्य
- 16. सीएसएस डिफ़ॉल्ट समतुल्य
- 17. सी # ULONG_PTR समतुल्य
- 18. टी-एसक्यूएल समतुल्य = रैंड()
- 19. जावा मानचित्र समतुल्य सी #
- 20. क्यूटी (getenv समतुल्य)
- 21. एकता में समतुल्य रजिस्ट्री
- 22. .NET JAXB समतुल्य?
- 23. Eclipselink characterEncoding समतुल्य
- 24. स्कैला मानदंड समतुल्य
- 25. कोको: मुख्य समतुल्य
- 26. जावा में स्पिंटफ समतुल्य
- 27. पायथन - स्ट्रेटोटाइम समतुल्य?
- 28. "सीएलएस" बाश में समतुल्य?
- 29. in_array - 'in_object' समतुल्य?
- 30. प्रतिबिंब के जावा समतुल्य।
मुझे लगता है कि ये 2 विधियां एक ही काम करती हैं। मुझे लगता है कि अधिभार केवल हस्ताक्षरित चीजों के लिए हैं। क्या वे हस्ताक्षरित चीजों पर सुरक्षित हैं? – pm100
@ pm100: आप उन्हें आत्म-उलझन में रहने की उम्मीद करेंगे, हां। मैं दावा नहीं करना चाहूंगा कि पूर्ण तथ्य के लिए :) सुनिश्चित नहीं है कि "हस्ताक्षरित चीज़ों पर सुरक्षित" से आपका क्या मतलब है - आपको पहले डालना होगा, जिस बिंदु पर इसे हस्ताक्षरित नहीं किया जाएगा ... –
पहले - यह देखते हुए कि जिन चीजों पर वे काम करते हैं, उनमें से एक बड़ी संख्या आईपी पतों जैसी चीजें होंगी, जो इस बात से आश्चर्यचकित हैं कि यूंट 32 के लिए कोई अधिभार नहीं है। 'सुरक्षित' से मेरा मतलब है कि मैं हस्ताक्षर किए गए हस्ताक्षर से सावधान हूं, बिट्स के साथ झुकाव और वापस कास्टिंग, आम तौर पर यह संकेत प्रसार/छिड़काव के लिए एक नुस्खा है ... wiednesses – pm100