如何将数字转换为UTF8字符?

时间:2014-10-08 16:54:12

标签: utf-8 special-characters d

如何将数字转换为UTF8字符?

它不能是CTFE函数,因为输入参数在运行时会发生变化。我想必须有一个std函数,但我找不到它。 THX。

import std.stdio, std.conv;

char utf8_RT(int nbr)
{
    return to!char(nbr);
}
void main(string args[])
{
    assert( utf8_RT(2665) == '\u2665' );
}

显然失败了。

1 个答案:

答案 0 :(得分:3)

我不知道你的意思" UTF8 char"。

如果你想要一个UTF-32字符(即dchar),你只需使用dchar(2665)

如果您需要UTF-8字符串(一个Unicode字符编码为一个或多个UTF-8代码单元,即字节),您可以使用to!string(dchar(2665))。别忘了import std.conv

自然地将2665替换为int变量的名称。