数据类型转换
int转换data,byte在转换int
int m = 16;
NSData *IntToData1 = [NSData dataWithBytes: &m length: sizeof(m)];
Byte *byteint = (Byte *)[IntToData1 bytes];
NSLog(@"byteint:%s",byteint);
NSMutableArray *tableint = [NSMutableArray array];
for (int index = 0; index <= [IntToData1 length]; index ++) {
[tableint addObject:@(byteint[index])];
}
NSLog(@"tableint:%@",tableint);
// Byte *byteintt = [&(16),0,0,0];
[self heightBytesToInt:byteint];
-(int )heightBytesToInt:(Byte[]) byte
{
int height = 0;
for (int i = 0; i < [testData length]; i++)
{
if (byte[i] >= 0)
{
height = height + byte[i];
} else
{
height = height +256 + byte[i];
}
height = height * 256;
if (byte[3] >= 0)
{
height = height + byte[3];
} else
{
height = height + 256 + byte[3];
}
}
return height;
}
//将低位字节转换为int
//在网络上传输的是以低位字节进行的; htonl,将int转换为网络字节序的int,ntohl,将网络字节序的int转换回来,-(int) lBytesToInt:(Byte[]) b,将以低位传输的网络字节序bytes数组转换为htonl之后对应的值
-(int) lBytesToInt:(Byte[]) byte
{
int height = 0;
for (int i = 0; i < [testData length]; i++)
{
if (byte[[testData length]-i] >= 0)
{
height = height + byte[[testData length]-i];
} else
{
height = height + 256 + byte[[testData length]-i];
}
height = height * 256;
}
if (byte[0] >= 0)
{
height = height + byte[0];
} else {
height = height + 256 + byte[0];
}
return height;
}
数据类型转换
// Byte转Data
NSData *dataqdd = [[NSData alloc]initWithBytes:testByte length:4];
NSLog(@"dataqdd:%@",dataqdd);
NSLog(@"subArray%@",subArray);
// ByteTOData
// NSData *data = [[NSData alloc]initWithBytes:(__bridge const void * _Nullable)(subArray) length:subArray.count];
NSData *data = [[NSData alloc]initWithBytes:testByte length:subArray.count];
NSLog(@"ByteTOData:%@",data);
// DataToString
NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"DataToString:%@",string);
Byte定义
Byte byteintt = {16,0,0,0};
Data拼接在一起的实例:
NSString *da= @"大家好";
NSData *data1 = [da dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];
NSString *daya = @"请见谅";
NSData *data2 = [daya dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];
NSString *daya1 = @"来晚了";
NSData *data3 = [daya1 dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)];
NSMutableData *dataZong = [[NSMutableData alloc]init];
[dataZong appendData:data1];
[dataZong appendData:data2];
[dataZong appendData:data3];
NSRange rang = NSMakeRange(0, [dataZong length]);
NSData *das = [dataZong subdataWithRange:rang];
NSString *stringqq = [dataweb DataWithForStringData:das];
NSLog(@"%@",stringqq);
转换成GB2312编码格式
NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
密码安全加密MD5方法
+(NSString *) md5: (NSString *) inPutText
{
const char *cStr = [inPutText UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), result);
return [[NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]
] lowercaseString];
}
在使用访问服务器时,若传递的值在请求服务器之前就执行的话,在请求数据结束是使用block,代理,通知等提醒可以使用该数据了(进行传值),公司项目中的判断登陆是否成功和提醒窗口信息