[解決済み] バイトのベクター(u8)を文字列に変換するには?
2022-04-24 18:42:14
質問
Rustで簡単なTCP/IPクライアントを書こうとしているのですが、サーバーから受け取ったバッファをプリントアウトする必要があります。
をどのように変換するのですか?
Vec<u8>
(または
&[u8]
から
String
?
解決方法は?
バイトのスライスを文字列のスライスに変換する(エンコーディングはUTF-8とする)。
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);
}
変換はインプレースで行われ、アロケーションは必要ありません。このため
String
必要であれば、文字列スライスから
.to_owned()
を文字列スライス (
他のオプションも利用可能
).
変換関数のライブラリリファレンスです。
関連
-
[解決済み] rustupでインストールしたRustをアンインストールするには?
-
[解決済み] Rustで絶対値を求めるには?
-
[解決済み] Rust の `String` と `str` の違いは何ですか?
-
[解決済み】文字列をint型に変換する?
-
[解決済み】文字列リテラルに対して文字列をマッチングさせる方法は?
-
[解決済み】ライブラリとバイナリの両方を持つRustパッケージ?
-
[解決済み】Rustで文字列を分割する方法は?
-
[解決済み] 同じプロジェクトの別のファイルからモジュールをインクルードする方法は?
-
[解決済み] バイトのベクター(u8)を文字列に変換するには?
-
[解決済み] 整数から文字列への変換方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] RustのRc::clone(&rc)とrc.clone()は何か違いがあるのでしょうか?また、それによるコンパイルの最適化はあるのでしょうか?
-
[解決済み] Rustで絶対値を求めるには?
-
[解決済み] Rustで絶対値を求めるには?
-
[解決済み] 文字列を追加して印刷するにはどうすればよいですか?
-
[解決済み] Rustのユニットテストでprintln! が動作しないのはなぜ?
-
[解決済み] なぜRustコンパイラは、2つのミュータブル参照がエイリアスできないと仮定してコードを最適化しないのですか?
-
[解決済み】Rustで文字列を分割する方法は?
-
[解決済み] このクエスチョンマークの演算子は何についてですか?
-
[解決済み】iterとinto_iterの違いは何ですか?
-
[解決済み] カスタムステップで範囲を反復処理するには?