libc中预期的字符编码是什么?例如,gethostname(char name,size_t namelen);将char 作为参数。是否期望name参数在utf8中编码(保持ascii完整)或简单的ascii或其他格式?
C还要求任何字符编码方案吗?
答案 0 :(得分:2)
所有字符串函数(widechar函数除外)仅支持本机字符集,例如Unix / Linux / Windows上的ASCII或IBM大型机/中型计算机上的EBCDIC。
答案 1 :(得分:1)
使用和处理广泛的字符。
答案 2 :(得分:0)
char
应该是7位兼容的ASCII编码(虽然我找不到任何明确的参考)。 definition of wchar_t
is left to the implementation,但C标准要求C portable character集中的字符相同。如果我理解正确,那么
char a = 'a';
wchar_t aw = L'a';
if (a == (char)aw) {
// should be true
}
该标准没有提及UTF-8的任何内容。
答案 3 :(得分:0)
您可能必须使用第三方库,例如GLib。 这个lib是可移植的,非常有用,它还提供正则表达式,数据结构等。