iOS蓝牙发送数据出去所遇问题(对数据的处理)

1.蓝牙发送数据的数据类型是 NSData类型.一般我们所获取的数据为字符串,期间如何转换。发送所遇到问题

2.蓝牙发送具体数据格式,由硬件端所控制。一下记录为,本人项目中所遇情况。所发格式内容

3.发送内容:WIFI账号  WIFI 密码

4. 包头6字节:  0xbb  0x11(发送信息长度+4)  0x02 0x10 0x55 0x21(包数 21 表示分成两个包,这是第一个包。)

5.中间信息13字节: (  WiFi账号字节长度(1字节)+WiFi账号内容+WIFI密码字节长度(1字节)+密码内容) /13 =包数

6.包尾1字节:最后一个字节内容。cheksum=整个包的第二位数+后面所有的数据;

这样就可以形成一个完整的20字节包,分包发送WIFI的账号密码信息内容。不满13字节的信息内容段用0补全

其中遇到问题及代码:

计算字符串字节数:

//账号密码

NSString *ssiStirng =self.ssid.text;

NSString *passSting =self.pass.text;

//账号密码 转nsdata

NSData *ssiData = [ssiStirng dataUsingEncoding: NSUTF8StringEncoding];

NSData *passData = [passSting dataUsingEncoding: NSUTF8StringEncoding];

//计算出字符串字节数

NSUInteger ssidall=ssiData.length;

NSUInteger passall =passData.length;

字符串转Byte数组:

#pragma mark -->NSString-> NSData-> Byte数组

-(NSMutableArray *)nsstingtoByte:(NSString *)string{

NSData *testData = [string dataUsingEncoding: NSUTF8StringEncoding];

//    将收到的NSData转Byte

Byte *getbyte = (Byte *)[testData bytes];

//    将的Byte转数组

NSMutableArray *byteggg = [NSMutableArray array];

for (int i=0 ; i<[testData length];i++) {

[byteggg addObject:@(getbyte[i])];

}

return byteggg;

}

整形值直接变Byte数据类型:

Byte ii=baoshu &0xff;

创建Byte数组并赋值全是0:

Byte xin[14]={0x00};

拼接不同的Byte数组集合:

NSMutableData * getMaxData = [[NSMutableData alloc] init];

[getMaxData appendBytes: tou length: 6 ];

[getMaxData appendBytes:xin length:14];

一个工具类(字符串<-->nsdata):

#import@interface NSData(Hex)

- (NSString *)hexadecimalString;  (蓝牙数据接收回来的nsdata,可以用这个方法直接转字符串)

+ (NSData *)dataWithHexString:(NSString *)hexstring;

@end


#import "NSData+Hex.h"

@implementation NSData(Hex)

- (NSString *)hexadecimalString {

/* Returns hexadecimal string of NSData. Empty string if data is empty.  */

const unsigned char *dataBuffer = (const unsigned char *)[self bytes];

if (!dataBuffer)

return [NSString string];

NSUInteger          dataLength  = [self length];

NSMutableString    *hexString  = [NSMutableString stringWithCapacity:(dataLength * 2)];

for (int i = 0; i < dataLength; ++i)

[hexString appendString:[NSString stringWithFormat:@"%02lx", (unsigned long)dataBuffer[i]]];

return [NSString stringWithString:hexString];

}

+ (NSData *)dataWithHexString:(NSString *)hexstring

{

NSMutableData* data = [NSMutableData data];

int idx;

for (idx = 0; idx+2 <= hexstring.length; idx+=2) {

NSRange range = NSMakeRange(idx, 2);

NSString* hexStr = [hexstring substringWithRange:range];

NSScanner* scanner = [NSScanner scannerWithString:hexStr];

unsigned int intValue;

[scanner scanHexInt:&intValue];

[data appendBytes:&intValue length:1];

}

return data;

}

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容

  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 2,894评论 0 7
  • 嘟哝嘟哝:最近接到一个任务:在客户端动态生成RSA密钥对,然后向服务器发送这个密钥对中的公钥字符串,由服务器进行公...
    TimmyR阅读 7,981评论 19 21
  • 近年来,许多大牌都非常喜欢仙女裙这种罗曼蒂克的装束,在秀场上并不少见,2017春夏时装周中纱裙的身影随处可见,所以...
    塞雅小超人阅读 972评论 0 0
  • 我答应你会回来当红色枫叶再开成海 秋风掠过战场深爱的人两散 我握着希望冲出重围 我知道你的眼泪早已流成海 ——薛之...
    素食海盗阅读 313评论 4 1