c语言对中文字符串按字节读,用printf %x输出全都是前六位是f的八位十六进制数字,为什么?

2025-04-30 20:28:56
推荐回答(1个)
回答1:

这个是因为中文字符的编码方式和ascii是不一样的,你用的是gbk编码方式,每个中文汉字是两个字节,且编码上高位的字节都是1,这是编码表上设定好的,如果采用utf8编码,那么又是另外一套编码方式,输出也会不一样