Rust में बाइट वेक्टर (Vec<u8>) को स्ट्रिंग (String) में कैसे बदलें?
नमस्ते! मैं Rust में नया हूँ और एक छोटा नेटवर्क क्लाइंट लिख रहा हूँ। सॉकेट से डेटा प्राप्त करने के बाद मुझे `Vec` मिलता है जिसमें UTF-8 में एन्कोडेड टेक्स्ट डेटा होता है। मुझे इस वेक्टर को एक सामान्य `String` में बदलना है ताकि इसे स्क्रीन पर प्रिंट कर सकूँ या वेरिएबल में स्टोर कर सकूँ।
यहाँ मेरे पास वर्तमान कोड का उदाहरण है:
```rust
fn main() {
let bytes: Vec = vec![72, 101, 108, 108, 111]; // UTF-8 में "Hello"
// bytes को String में कैसे बदलें?
// let text: String = ???;
println!("{}", text);
}
```
मैंने `bytes.to_string()` का उपयोग करने की कोशिश की, लेकिन कंपाइलर शिकायत करता है कि `ToString` ट्रेट `Vec` के लिए इम्प्लीमेंट नहीं है। मैंने `String::from_utf8()` के बारे में भी सुना है, लेकिन यकीन नहीं है कि अगर बाइट्स वैध UTF-8 नहीं हैं तो एरर को सही तरीके से कैसे हैंडल करूँ।
कृपया बताएँ कि इस रूपांतरण को सही और सुरक्षित तरीके से कैसे करें? अगर डेटा अमान्य हो सकता है तो क्या करें? क्या `Vec` और स्लाइस `&[u8]` के रूपांतरण में कोई अंतर है?