这个问题:
很好地讨论了 C 中的 char 与 unsigned char 与 signed char
但是,它没有直接说明非 ASCII 文本应该使用什么。因此,如果我有一个字节数组,表示采用 UTF-8 或 Big5(或有时是 ASCII)等任意字符集的文本,我应该使用 char 还是 unsigned char?
我倾向于使用 char,否则当数组为 ASCII 并且我使用 strlen 时,gcc 会警告我有关指针的符号性。但我想知道什么是正确的。
最佳答案
使用普通的char来表示字符。当您想要涵盖从 -127 到 +127
的值的有符号整数类型时,请使用 signed char。将 unsigned char 用于具有值范围从 0 到 255
的无符号整数类型。
关于C:非 ASCII 文本数据的 char 与 unsigned char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26541072/