在c++和GLStudi中,Unicode字符“希腊大写字母DELTA”呈现为“白色垂直矩形”

2024-06-28 19:40:38 发布

您现在位置:Python中文网/ 问答频道 /正文

编程语言:C++,呈现程序:GLStudio。在

我想呈现Unicode字符'GREEK CAPITAL LETTER DELTA' (U+0394),如:ΔP

代码是:

sprintf(somebuffer,"%cP",'\u0394');

但结果是白色垂直矩形'(U+25AF),如下所示:

^{pr2}$

这是我使用的引用:http://www.fileformat.info/info/unicode/char/25af/index.htm

显然在渲染器上有一个unicode映射问题,但是我不能准确地定位它,所以在尝试绘制一个实际的opengl三角形之前,我想尝试一下这个问题。如有任何帮助或建议,我们将不胜感激!在


Tags: 代码程序infounicode字符cp编程语言delta
1条回答
网友
1楼 · 发布于 2024-06-28 19:40:38

这完全取决于渲染器所期望的编码。它很有可能期望或支持UTF-8:

sprintf(somebuffer, u8"\u0394P");

这将形成用UTF-8编码的字符串<capital delta><P>,并将其写入缓冲区(无需检查大小或使用更合适的C函数,如strncpy)。然后由渲染器获取这些字节并按预期方式呈现它们。在

当前的情况很可能是传递一个int参数来代替需要char%c占位符。我可以想象,虽然行为是未定义的,但它会将第一个字节作为char处理。在

相关问题 更多 >