1.说明:UTF-8和GB2312没有直接的转换关系,需要通过查表的方式来装换,表码如下链接:
http://wenku.baidu.com/link?url=U99KgZDiS3k33Pl7f9UFQo5puGScd462DzzpCOTgl-Hu1I9liubC7gUooKp6FLas4Wn6OTUYWmHATKxzOmFvZaSAh9LtsBdQrS3MlzPulwu
2.误区:先把UFT-8转成unicode,再通过Unicode转换成GB2312,如链接:http://www.cnblogs.com/pengyingh/articles/2451429.html,可以看到UFT-8转成unicode后,再通过wcstombs函数转成GB2312,wcstombs是一个将宽字符转换成多字符函数,猜测里面包含了很多表,在网页等编程中是用WideCharToMultiByte() 函数等;
CC2541的#include <stdlib.h>中找不到这个wcstombs函数,所以只能自己做表,在做表的过程中,发现CC2541根本放不小这么大的表;
3.解决措施:
本来设计是将IOS推送过来的消息UTF-8(3字节)转成GB2312(2字节)flash字库显示,现在UFT-8无法转成GB2312,所以果断把字库做成UTF-8字库了;