我想获得汉字的 Unicode 值。它可能看起来像let values: &[u16] = f("ののの");
当我使用"の".as_bytes()
I got [227, 129, 174]
.
当我使用'の'.escape_unicode()
I got '\u306e'
, the 0x306e
这正是我想要的。
The char
类型可以转换为u32
using as
。线路
println!("{:x}", 'の' as u32);
将打印“306e”(使用{:x}
将数字格式化为十六进制)。
如果您确定所有角色都在BMP https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane,理论上你也可以直接投射到u16
。不过,对于来自辅助平面的角色,这会默默地给出错误的结果,例如'????' as u16
回报0xf756
而不是正确的0x1f756
,所以你需要一个强有力的理由来这样做。
在内部,一个char
存储为 32 位数字,因此c as u32
对于某些角色c
仅将字符的记忆表示重新解释为u32
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)