c - C的 "char"使用什么字符集?

标签 c char

<分区>

简单的问题:我最近开始用 C 编程,有一个简单的问题。

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

最佳答案

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 字符串,具体取决于区域设置。

关于c - C的 "char"使用什么字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940276/

相关文章:

c - 在数组中存储 token

java - 是否可以检查 char 是否匹配可能性列表?

c++ - 使用 cygwin 从 Nmake 切换到 MinGW

c - 程序错误之间的字符串

c++ - static const char* 上的 LINK 错误

c# - 如何为 char 设置 DBnull 值

C++:将 POD 添加到 std::vector<char> 中的下一个位置

c - 温度转换器挑战

c - 如何使用C以二进制模式读取UTF-8文件并将其转换为UTF-16文件

c - 字符数组中的段错误