用 write() 函数写入 Unicode

Write Unicode with write() function

我正在做一个需要在终端上编写 Unicode 的练习, 在 <unistd.h>.

中仅使用 write()

我不会用:

关于如何执行此操作有任何 "low level" 的建议吗?

正如 Chris 在评论中所写,您需要一个终端(例如 Linux 上的 xterm)来理解 Unicode,然后您就可以编写它们了。所以默认情况下 xterm 理解 UTF8 并设置为代码页,这样这段代码会给你一个 UTF8 笑脸 (☺)。

#include <stdio.h>
#include <unistd.h>

char happy[] = { 0xe2, 0x98, 0xba };  /* U+263A */

int main()
{
   write(1, happy, 3);
   return 0;
}