C" char"是什么字符集?使用?

时间:2015-10-05 01:56:35

标签: c char

简单的问题:我最近开始使用C编程,并提出了一个简单的问题。

C编程语言在" char"中使用了什么字符集?类型,例如ASCII,还是取决于软件/操作系统?

2 个答案:

答案 0 :(得分:1)

C在很多系统上运行,没有一个答案。在没有特定系统知识的情况下,所有可以依赖的是7位ascii,即使这种情况也很少见。

答案 1 :(得分:1)

char基本上是1个字节(主要在所有操作系统上)。因此,默认情况下,它可以存储0到255之间的值。默认情况下,它可以表示ASCII集和扩展的ASCII集。

但是如果你在代码中更改类似的语言环境:

char* locale = setlocale(LC_ALL, "");
    if (locale == NULL) {
        printf("Locale not set\n");
    } else {
        printf("Locale set to %s\n", locale);
    }

您可以处理unicode输入或utf8输入。

因此,默认情况下,字符序列被视为扩展的ascii集,但如果更改了语言环境,则字符序列可以视为utf8字符串或unicode字符串,具体取决于语言环境集。