【发布时间】:2021-11-08 03:05:45
【问题描述】:
我只是在学习 Rust,所以如果有一种我错过的简单方法可以做到这一点,我深表歉意。我有一个程序在运行时将 unicode 代码点作为字符串获取,我想将这些代码点转换为包含它们所代表的字符的 Rust 字符串。基本上,我想弄清楚如何为下面的代码定义parse_unicode。
fn parse_unicode(input: &str) -> String {
input.to_string() // not working implementation
}
#[test]
fn test_parse_unicode() {
let parsed_content = parse_unicode("1f44d");
assert_eq!(parsed_content, String::from("\u{1f44d}"));
}
我看到有一个 function 从字节数组到字符串,所以如果我自己编写代码来将这些代码点解析为字节数组,我可以将它们转换为字符串,但我希望有一个更惯用的(或至少更容易)的方法。
【问题讨论】:
-
你如何区分两个代码点?你的问题没有意义,返回一个字符而不是一个字符串,目前看到lib.rs/crates/unicode_reader
-
根据您的要求,您可以做的最好是play.rust-lang.org/…
-
@Stargateur 你的意思是我将如何在同一个输入中描绘两个代码点?在输入中,它们被破折号分开,例如“1f1e6-1f1eb”。我想如果我可以转换一个代码点,那么在“-”上拆分字符串并解决其余部分很容易,但我应该在问题中解释这一点。对于那个很抱歉。看起来你链接的代码基本上解决了我的问题,如果你想把它作为答案发布。
-
随意回答我没有太多时间,所以我需要加快我的拖延。