Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?


Athabaska Dick

Ich versuche, einen einfachen TCP / IP-Client in Rust zu schreiben, und ich muss den Puffer ausdrucken, den ich vom Server erhalten habe.

Wie konvertiere ich ein Vec<u8>(oder ein &[u8]) in ein String?

Gavinb

So konvertieren Sie ein Byte-Slice in ein String-Slice (unter der Annahme einer UTF-8-Codierung):

use std::str;

//
// pub fn from_utf8(v: &[u8]) -> Result<&str, Utf8Error>
//
// Assuming buf: &[u8]
//

fn main() {

    let buf = &[0x41u8, 0x41u8, 0x42u8];

    let s = match str::from_utf8(buf) {
        Ok(v) => v,
        Err(e) => panic!("Invalid UTF-8 sequence: {}", e),
    };

    println!("result: {}", s);
}

Die Konvertierung ist vorhanden und erfordert keine Zuordnung. Sie können Stringbei Bedarf ein aus dem String-Slice erstellen, indem Sie .to_owned()das String-Slice aufrufen ( andere Optionen sind verfügbar ).

Die Bibliotheksreferenz für die Konvertierungsfunktion:

Verwandte Artikel


Wie drucke ich einen Vektor von u8 als Zeichenfolge?

AAnderson Hier ist mein Code: let mut altbuf: Vec<u8> = Vec::new(); // Stuff here... match stream.read_byte() { Ok(d) => altbuf.push(d), Err(e) => { println!("Error: {}", e); doneflag = true; } } for x in altbuf.iter() { println!("{}", x); } De

Wie konvertiere ich einen String in u8?

m.r226 Diese Codezeilen funktionieren einwandfrei. #include <cstdlib> #include <iostream> #include <locale.h> #include <string> #include <locale> #include <codecvt> #include <cassert> int main() { const auto str = u8"حخدذرزژس"; wstring_convert<codecv

Wie konvertiere ich eine Zeichenfolge in Python in Bytes?

Zufälliger Typ In meinem Code codiere ich eine Zeichenfolge mit utf-8. Ich erhalte die Ausgabe, konvertiere sie in einen String und sende sie an mein anderes Programm. Das andere Programm erhält diese Zeichenfolge, aber wenn ich versuche, die Zeichenfolge zu d

Wie konvertiere ich eine Schleifenausgabe in einen Vektor?

Snaxl Ich extrahiere bestimmte Werte aus dem Datensatz Z (die Positionen sind in Datensatz A angegeben) mit einer Schleifenfunktion. #Exemplary datasets Z <- data.frame(Depth=c(0.02,0.04,0.06,0.08,0.10,0.12,0.14,0.16,0.18,0.2), Value=c(10,12,5,6,7,4,3,2,11,13