You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.5 KiB
91 lines
2.5 KiB
/* |
|
BabyBluetooth |
|
简单易用的蓝牙ble库,基于CoreBluetooth 作者:刘彦玮 |
|
https://github.com/coolnameismy/BabyBluetooth |
|
*/ |
|
|
|
// Created by 刘彦玮 on 15/8/1. |
|
// Copyright (c) 2015年 刘彦玮. All rights reserved. |
|
// |
|
|
|
#import "BabyToy.h" |
|
|
|
@implementation BabyToy |
|
|
|
|
|
//十六进制转换为普通字符串的。 |
|
+ (NSString *)ConvertHexStringToString:(NSString *)hexString { |
|
|
|
char *myBuffer = (char *)malloc((int)[hexString length] / 2 + 1); |
|
bzero(myBuffer, [hexString length] / 2 + 1); |
|
for (int i = 0; i < [hexString length] - 1; i += 2) { |
|
unsigned int anInt; |
|
NSString * hexCharStr = [hexString substringWithRange:NSMakeRange(i, 2)]; |
|
NSScanner *scanner = [[NSScanner alloc] initWithString:hexCharStr]; |
|
[scanner scanHexInt:&anInt]; |
|
myBuffer[i / 2] = (char)anInt; |
|
} |
|
NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:4]; |
|
// BabyLog(@"===字符串===%@",unicodeString); |
|
return unicodeString; |
|
} |
|
|
|
//普通字符串转换为十六进制 |
|
+ (NSString *)ConvertStringToHexString:(NSString *)string { |
|
NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding]; |
|
Byte *bytes = (Byte *)[myD bytes]; |
|
//下面是Byte 转换为16进制。 |
|
NSString *hexStr=@""; |
|
for (int i=0;i<[myD length];i++) { |
|
NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16进制数 |
|
|
|
if ([newHexStr length]==1) { |
|
hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr]; |
|
} |
|
else{ |
|
hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr]; |
|
} |
|
|
|
} |
|
return hexStr; |
|
} |
|
|
|
|
|
//int转data |
|
+ (NSData *)ConvertIntToData:(int)i { |
|
|
|
NSData *data = [NSData dataWithBytes: &i length: sizeof(i)]; |
|
return data; |
|
} |
|
|
|
//data转int |
|
+ (int)ConvertDataToInt:(NSData *)data { |
|
int i; |
|
[data getBytes:&i length:sizeof(i)]; |
|
return i; |
|
} |
|
|
|
//十六进制转换为普通字符串的。 |
|
+ (NSData *)ConvertHexStringToData:(NSString *)hexString { |
|
|
|
NSData *data = [[BabyToy ConvertHexStringToString:hexString] dataUsingEncoding:NSUTF8StringEncoding]; |
|
return data; |
|
} |
|
|
|
|
|
//根据UUIDString查找CBCharacteristic |
|
+ (CBCharacteristic *)findCharacteristicFormServices:(NSMutableArray *)services |
|
UUIDString:(NSString *)UUIDString { |
|
for (CBService *s in services) { |
|
for (CBCharacteristic *c in s.characteristics) { |
|
if ([c.UUID.UUIDString isEqualToString:UUIDString]) { |
|
return c; |
|
} |
|
} |
|
} |
|
return nil; |
|
} |
|
|
|
@end |
|
|
|
|
|
|