【问题标题】:chapter 3 of C++ Primer Plus 6th - about how to use universal character nameC++ Primer Plus 6th第3章-关于如何使用通用字符名
【发布时间】:2021-03-30 02:57:02
【问题描述】:

c++primer plus 6th原文如下:

使用通用字符名称类似于使用转义序列。通用字符名称以 \u 或 \U 开头。\u 形式后跟 8 个十六进制数字, 和 \U 形式的 16 个十六进制数字。这些数字代表 ISO 10646 代码 为角色点。 (ISO 10646 是一个正在制定的国际标准, 为各种字符提供数字代码。请参阅“Unicode 和 ISO 10646”, 本章后面。)

但是和我之前的观点有冲突,所以我在python3文档中找到了如下描述:

在 Python 源代码中,可以使用 \u 转义序列编写特定的 Unicode 代码点,然后是四个十六进制数字,给出代码点。 \U 转义序列类似,但需要八个十六进制数字,而不是四个。

所以我的问题是,当我使用 \u 形式时,它应该是四个十六进制位还是八个?

【问题讨论】:

    标签: c++ unicode


    【解决方案1】:

    \u 后有四个十六进制数字,\U 后有八个。来自 C++ 标准:

    [lex.charset]/2 universal-character-name 构造提供了一种命名其他字符的方法。

    hex-quad:
        hexadecimal-digit hexadecimal-digit hexadecimal-digit hexadecimal-digit
    universal-character-name:
        \u hex-quad
        \U hex-quad hex-quad
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 2019-12-08
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多