#笑话 #Unicode #plus #point #literals #syntax #u-12345

nightly no-std u-plus

漂亮的 Unicode 代码点字面量:U+12345 而不是 '\u{12345}'

1 个稳定版本

1.0.0 2022年4月1日

#1874 in Rust 模式

自定义许可证

5KB
60

U+:漂亮的 Unicode 代码点字面量

我出于某种原因在阅读 https://uncyclopedia.com/wiki/Rust_(programming_language),并读到了 let U = 0; U = U + 1;

突然我的脑海中涌出一个概念。我立刻将其实现。

问题

Unicode 使用 U+1234(U+0000–U+10FFFF 的完整范围)这样的语法来表示其代码点。

但是当你想将其转换为编程语言时,你不得不学习另一种语法。这将是 \u1234\u{1234}\x1E\x88\xB4\341\210\264 之类的东西吗?

然后还有天界字符,使情况变得更糟:\U0001F631\u{1F631}\xF0\x9F\x98\xB1\uD83D\uDE31(以及 UTF-16 所带来的所有相关痛苦,特别是你的 char 类型可能根本无法表示这一点),其他的东西吗?

因此,这里有一个让你们可以使用真正的 Unicode 语法的 crate

use u_plus::U;

assert_eq!(U+1234, '\u{1234}');

所以忘掉 \u{} 语法吧!

(注意:这种方法有一些限制,有关详细信息,请参阅 KNOWN_ISSUES.md。)

“对我来说,所有的事情都是合法的,”但并不是所有的事情都是有利的。“对我来说,所有的事情都是合法的,”但并不是所有的事情都是有益的。

—— 圣保罗,《哥林多前书》第10章第23节

无运行时依赖