编程语言: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三角形之前,我想尝试一下这个问题。如有任何帮助或建议,我们将不胜感激!在
这完全取决于渲染器所期望的编码。它很有可能期望或支持UTF-8:
这将形成用UTF-8编码的字符串
<capital delta><P>
,并将其写入缓冲区(无需检查大小或使用更合适的C函数,如strncpy
)。然后由渲染器获取这些字节并按预期方式呈现它们。在当前的情况很可能是传递一个
int
参数来代替需要char
的%c
占位符。我可以想象,虽然行为是未定义的,但它会将第一个字节作为char
处理。在相关问题 更多 >
编程相关推荐