V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yujianwjj
V2EX  ›  Rust

初学者关于 rust char 类型大小的疑问?

  •  
  •   yujianwjj · 136 天前 · 1104 次点击
    这是一个创建于 136 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rust char 类型字节大小不固定,这个我理解不了。

    我理解一个类型的字节大小应该是固定的,i32 就是 4 个字节。

    char 类型的大小应该也是固定的,怎么就不固定了呢?想不通啊。

    7 条回复    2023-08-06 21:29:44 +08:00
    ahhui
        1
    ahhui  
       136 天前
    拿楼主的问题 Google 一搜,都说是固定的啊。rust 的 char 是 4 字节,存储 unicode 字符的。没看到“大小不固定”的说法。不过我不懂 rust ,仅仅 只是好奇搜了下,可能结果不准。等高人回答吧。
    yudoo
        2
    yudoo  
       136 天前
    它的大小取决于 Unicode 字符的编码范围和表示所需的字节数。
    simen513
        3
    simen513  
       136 天前
    它的字符串采用的是 UTF-8 编码,里面有一个字节代表一个字符的,比如 ASCII 编码中的字符,还有 2 个字节、4 个字节代表一个字符的,具体的看 UTF-8 编码的详情。
    Leviathann
        4
    Leviathann  
       136 天前
    utf 8 不定长
    gkinxin
        5
    gkinxin  
       136 天前
    char 就是 4 个字节,你应该把字符串和 char 搞混了
    hronro
        6
    hronro  
       136 天前
    char 类型表示单个字符。更具体地说,由于“字符”在 Unicode 中没有明确定义的概念,因此 char 是“Unicode 标量值”。

    Unicode 标量值包括整数范围 0 到 D7FF16 和 E00016 到 10FFFF16 。
    vicence
        7
    vicence  
       48 天前
    https://kaisery.github.io/trpl-zh-cn/ch03-02-data-types.html ,可以看下这页面的“字符类型”介绍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2576 人在线   最高记录 5930   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 10:32 · PVG 18:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.