使用 cJSON 也有三四年了,之前一直没注意到 cJSON 对 json 数据的编码有什么要求。
我有时用来处理 gbk 编码,有时处理 utf-8 编码,没遇到什么问题。
直到前不久,才发现一个问题。
这个 json 数据中有一个汉字:'黒'
json 数据本身是 gbk 编码,在使用 cJSON 解析后,并没有按预期输出一个 '黒', 输出了一个问号 '?'
然后到网上查了一下,看到官网的提示,原来 cJSON 只能处理 utf-8 编码的数据。
为什么我在解析很多别的汉字的时候,使用 gbk 编码没有问题呢?
网上也看到有相关的说明,关于 cJSON 的解析原理,我也不想多说什么了。
算了,以后只需记住一点,提交给 cJSON处理的数据一定要是 utf-8 编码就行了。
来源:https://www.cnblogs.com/personnel/p/12365180.html