代码之家  ›  专栏  ›  技术社区  ›  Jake Petroules

如何使用逃逸序列在C++中指定无穷大(u+221e)?

  •  2
  • Jake Petroules  · 技术社区  · 16 年前

    QString label;
    label.append(tr("HP: \u221e\n\n"));
    
    4 回复  |  直到 16 年前
        1
  •  5
  •   usta    16 年前

    请尝试\xE2\x88\x9E。

    但要让Qt使用UTF-8,似乎需要

    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    

    在它之前的某个地方。

        2
  •  0
  •   Ignacio Vazquez-Abrams    16 年前

        3
  •  0
  •   Ben Voigt    16 年前

    这是一个16位的Unicode字符。如果使用宽字符串,16位字符只能表示为单个元素。

    L"HP: \x221E\n\n"
    

    或

    u"HP: \x221E\n\n"
    

    你在用什么编码?如果QT应该是UTF-8,那么您实际上需要一个多字节序列来编码该字符。

        4
  •  0
  •   Arnold Spence    16 年前

    这也可以作为一种替代方案:

    label.append(trUtf8("HP: \u221e\n\n"));