cJSON: 只能处理 utf-8 编码的 json

使用 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