我需要处理一些 Win-1251 编码的文本(8 位编码,对西里尔文使用 128..255 中的一些)。据我所知,创建 C 时考虑了 7 位 ASCII,没有明确支持 127 以上的单字节字符。所以我有几个问题:
- 哪种类型更适合此文本:
char[]
或unsigned char[]
? - 如果我使用
unsigned char[]
内置函数 (strlen
,strcmp
),编译器会警告隐式转换为char*
. 这样的演员阵容能打破什么吗?我应该重新实现一些函数来unsigned char
明确支持字符串吗?