如何在 Rust 中表示这个 utf-8 编码的字符串?
How to represent this utf-8 encoded string in Rust?
在此 RFC 中:https://www.rfc-editor.org/rfc/rfc7616#page-19 第 19 页,有一个以 UTF-8 编码的文本示例:
J U+00E4 s U+00F8 n D o e
4A C3A4 73 C3B8 6E 20 44 6F 65
如何在 Rust 字符串中表示它?
我尝试了 https://mothereff.in/utf-8 并做了 J[=11=]E4s[=11=]F8nDoe
但没有成功。
你可以参考 Rust By Example 因为 rust 电子书中没有涵盖所有内容
(https://doc.rust-lang.org/stable/rust-by-example/std/str.html#literals-and-escapes)
您可以使用语法 \u{your_unicode}
let unicode_str = String::from("J\u{00E4}s\u{00F8}nDoe");
println!("{}", unicode_str);
"Jäsøn Doe"
应该可以正常工作。 Rust source files are always UTF-8 encoded and a string literal may contain any Unicode scalar value (that is, ,不得使用 UTF-8 编码)。
如果您的编辑器不支持 UTF-8 编码,但支持 ASCII,您可以使用 Unicode 代码点转义,这在 the Rust reference:
中有记录
A 24-bit code point escape starts with U+0075
(u
) and is followed by up to six hex digits surrounded by braces U+007B
({
) and U+007D
(}
). It denotes the Unicode code point equal to the provided hex value.
建议正确的语法应该是"J\u{E4}s\u{F8}n Doe"
。
在此 RFC 中:https://www.rfc-editor.org/rfc/rfc7616#page-19 第 19 页,有一个以 UTF-8 编码的文本示例:
J U+00E4 s U+00F8 n D o e
4A C3A4 73 C3B8 6E 20 44 6F 65
如何在 Rust 字符串中表示它?
我尝试了 https://mothereff.in/utf-8 并做了 J[=11=]E4s[=11=]F8nDoe
但没有成功。
你可以参考 Rust By Example 因为 rust 电子书中没有涵盖所有内容
(https://doc.rust-lang.org/stable/rust-by-example/std/str.html#literals-and-escapes)
您可以使用语法 \u{your_unicode}
let unicode_str = String::from("J\u{00E4}s\u{00F8}nDoe");
println!("{}", unicode_str);
"Jäsøn Doe"
应该可以正常工作。 Rust source files are always UTF-8 encoded and a string literal may contain any Unicode scalar value (that is,
如果您的编辑器不支持 UTF-8 编码,但支持 ASCII,您可以使用 Unicode 代码点转义,这在 the Rust reference:
中有记录A 24-bit code point escape starts with
U+0075
(u
) and is followed by up to six hex digits surrounded by bracesU+007B
({
) andU+007D
(}
). It denotes the Unicode code point equal to the provided hex value.
建议正确的语法应该是"J\u{E4}s\u{F8}n Doe"
。