كيفية تحويل سلسلة نصية إلى متجه بايتات في Rust؟
مرحباً! بدأت للتو في تعلم Rust وواجهت مشكلة في تحويل سلسلة نصية إلى متجه بايتات. أحتاج إلى إرسال سلسلة نصية عبر الشبكة كمصفوفة بايتات، لكنني لا أستطيع فهم كيفية القيام بذلك بشكل صحيح.
لدي متغير:
```rust
let my_string = "Hello, мир!";
```
أريد الحصول على `Vec` يحتوي على بايتات هذه السلسلة. جربت استخدام `as_bytes()` لكنه يعيد `&[u8]` وليس `Vec`. ثم جربت `to_string()` و `into_bytes()` لكنه لم يعمل.
في لغات أخرى، مثل Python، أكتب ببساطة `b"hello"` أو `"hello".encode()` وينتهي الأمر. في Rust، أنا مرتبك بين `String` و `&str` و `Vec` و `&[u8]`.
أحتاج تحديداً إلى `Vec` لأنني سأقوم بتعديل البايتات قبل الإرسال (إضافة رأس). أرجو توضيح كيفية تحويل السلسلة النصية إلى متجه بايتات بشكل صحيح؟ واشرح أيضاً الفرق بين `String` و `&str` في سياق العمل مع البايتات.
شكراً مسبقاً!
ملاحظة: إصدار Rust هو الأحدث المستقر، أستخدم