gpt4 book ai didi

c - 尝试在 MacBook 10.6.8 上用 C 语言(不是 C++,不是 Objective C)在 Xcode 中打印非 ASCII UTF-8 字符

转载 作者:行者123 更新时间:2023-11-30 19:15:27 24 4
gpt4 key购买 nike

到目前为止,我还没有找到任何示例代码片段,可以让我使用这款 MacBook 2.4GHz Intel Core 2 Duo w 10.6.8/Xcode/C(不是 C++)成功打印(printf)非 ASCII UTF-8 代码,而不是 objective-c )。

以下是我可以指出的代码,因为它没有做我想做的事情:还有输出:以及区域设置的输出(如果重要的话):

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
printf ("%s\n", "ÄËÏÖÜäëïöü");
//printf ("%lu\n", (long unsigned int)strlen ("ÄËÏÖÜäëïöü"));
//printf ("%d\n", (int) strlen ("ÄËÏÖÜäëïöü"));
char bytes[] = "s\xf0\x9f\x98\x82\xf0\x9f\x87\xaa\xf0\x9f\x87\xb8\xf0 \x9f\x98\x82\xc3\xa0";
printf("'%s'\n", bytes);
printf("-----%lc------", (wchar_t)0x3041);
printf ("%s\n", "ÄËÏÖÜäëïöü");
}

$ gcc -o AttemptingUTF8.x AttemptingUTF8.c
$ ./AttemptingUTF8.x
ÄËÏÖÜäëïöü
's😂🇪🇸😂à'
ÄËÏÖÜäëïöü
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

19:37 添加到代码: char byte[]="\xc2\xab";//向左双箭头 printf("%s\n",字节); char byteAE[]="\xc7\xbc";//AE printf("%s\n",byteAE);添加输出: « Ǽ

我确实看到了,并且确实解决了问题。所以感谢您的回复。

最佳答案

使用 UTF-8、Xcode、“C”、命令行项目进行测试:

char bytes[] = "s\xf0\x9f\x98\x82\xf0\x9f\x87\xaa\xf0\x9f\x87\xb8\xf0\x9f\x98\x82\xc3\xa0";
printf("'%s'\n", bytes);

输出:

's😂🇪🇸😂à'

这是最坏的情况,表情符号和旗帜。

字符串中的字符为:拉丁文小写字母 S、FACE WITH TEARS OF JOY、区域指示符符号字母 E、FACE WITH TEARS OF JOY、拉丁文小写字母 A WITH GRAVE。

关于c - 尝试在 MacBook 10.6.8 上用 C 语言(不是 C++,不是 Objective C)在 Xcode 中打印非 ASCII UTF-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32575255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com