c - 在C中打印UTF-8多字节字符

标签 c unicode

我编写此代码是为了打印 UTF-8 多字节字符串。但它无法正确打印。注意:我是在Linux系统中进行的。

#include <stdio.h>
#include <locale.h>

int main()
{
    char *locale = setlocale(LC_ALL, "");
    printf("\n locale =%s\n", locale);
    printf("test\n \x263a\x263b Hello from C\n", locale);

    return 0;
}

最佳答案

使用\u代替\x:

#include <stdio.h>
#include <locale.h>

int main()
{
    char *locale = setlocale(LC_ALL, "");
    printf("\n locale =%s\n", locale);
    printf("test\n \u263a\u263b Hello from C\n");

    return 0;
}

它运行并产生以下输出:

$ gcc foo.c
$ ./a.out 

 locale =C
test
 ☺☻ Hello from C

关于c - 在C中打印UTF-8多字节字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58039815/

相关文章:

ios - 将标点符号从半角转换为全角

java - XML 模式验证字符串的长度

python - 替换python中的多字节字符

c - 我们的 32 位应用程序上的 AppHangXProcB1

c++ - 快速排除成员是否在集合中

java - 在 Java 中将 char 作为字节处理,结果不同

python - 以 Unicode 代码的形式打印字符串

c - 使用 printf 打印出一个 unicode 字符

为多个 C 文件创建 makefile

C++ if 语句/xcode