问题描述
项目中利用mqtt向电视发送汉字的时候,电视端显示乱码;并且查看手机端发送字符串为正常的汉字
问题原因
经过查找,发现在发送字符前有如下过程:NSString
格式首先转换成了char
型格式,在发送前又由char
转换成了NSString
解决方法
- 可以将上述最终转换后的
NSString
格式的数据再次转换成NSData
格式的数据,然后发送,即可解决问题//NSString 转化 NSData对象 NSData* xmlData = [@"testdata" dataUsingEncoding:NSUTF8StringEncoding];
- 也可以将上述转换去掉,本项目中经过分析发现
NSString
型到char
型再到NSString
型的转换多余,因此在发送时直接发送未经转换的NSString
型数据,就不会出现乱码问题。
网友评论