16进制 data ios 转_data 转16进制 byte ios - CSDN
精华内容
参与话题
  • 进制流对于我们程序员来说不陌生,但是看起来那是相当困难,近期学习了一些进制的转换,希望对大家有用/** * 将二进制数据转换成十六进制字符串 * * @param data进制数据 * * @return 十六进制字符串 */ + ...
    二进制流对于我们程序员来说不陌生,但是看起来那是相当困难,近期学习了一些进制的转换,希望对大家有用
    /**
     *  将二进制数据转换成十六进制字符串
     *
     *  @param data 二进制数据
     *
     *  @return 十六进制字符串
     */
    + (NSString *)data2Hex:(NSData *)data {
        if (!data) {
            return nil;
        }
        Byte *bytes = (Byte *)[data bytes];
        NSMutableString *str = [NSMutableString stringWithCapacity:data.length * 2];
        for (int i=0; i < data.length; i++){
            [str appendFormat:@"%0x", bytes[i]];
        }
        return str;
    }


    将二进制数据转换成16进制的字符串,


    展开全文
  • iOS 二进制数组16进制字符串

    千次阅读 2015-08-28 16:02:37
    iOS 二进制数组16进制字符串 Byte bytes[28]; [data getBytes:bytes length:28]; NSMutableString *hexString = [[NSMutableString alloc] init]; for (int i = 0; i ; i++) {

    iOS 二进制数组转成16进制字符串

     Byte bytes[28];
     [data getBytes:bytes length:28];
    
     NSMutableString *hexString = [[NSMutableString alloc] init];
     for (int i = 0; i < 28; i++) {
          NSLog(@"%hhu",bytes[i]);
          [hexString appendString:[NSString stringWithFormat:@"%0.2hhx", bytes[i]]];
     }
    
     NSLog(@" %@  ", hexString);
    

    字符串转二进制

    int len = [self length] / 2;    // Target length  
    unsigned char *buf = malloc(len)  
    unsigned char *whole_byte = buf;  
    char byte_chars[3] = {'\0','\0','\0'};  
    
    int i;  
    for (i=0; i < [self length] / 2; i++) {  
        byte_chars[0] = [self characterAtIndex:i*2];  
        byte_chars[1] = [self characterAtIndex:i*2+1];  
        *whole_byte = strtol(byte_chars, NULL, 16);  
        whole_byte++;  
    }  
    
    NSData *data = [NSData dataWithBytes:buf length:len];  
    free( buf );  
    return data; 
    
    展开全文
  • //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型 unsigned long red = strtoul([str UTF8String],0,16); //strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六...

    NSString *str = @"0xff055008";
    //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型
    unsigned long red = strtoul([str UTF8String],0,16);
    //strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以:
    unsigned long red = strtoul([@"0x6587" UTF8String],0,0);
    NSLog(@"转换完的数字为:%lx",red);

    // 十六进制转换为普通字符串的。 
    + (NSString *)stringFromHexString:(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] autorelease]; 
    [scanner scanHexInt:&anInt]; 
    myBuffer[i / 2] = (char)anInt; 
    } 
    NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:4]; 
    NSLog(@"------字符串=======%@",unicodeString); 
    return unicodeString; 
     
     
    } 
     
    //普通字符串转换为十六进制的。 
     
    + (NSString *)hexStringFromString:(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
    int i = 1; 
    NSData *data = [NSData dataWithBytes: &i length: sizeof(i)]; 
    //data 转int
    int i; 
    [data getBytes: &i length: sizeof(i)]; 


    展开全文
  • iOS16数据转换成2进制字符串

    千次阅读 2015-10-25 20:29:00
    下面这个是将16进制转换成2进制数据 + (NSData *)hex2data:(NSString *)hex { NSMutableData *data = [NSMutableData dataWithCapacity:hex.length / 2]; unsigned char whole_byte; char byte_chars[3] = {'\0'...

    下面这个是将16进制转换成2进制数据

    + (NSData *)hex2data:(NSString *)hex {
        NSMutableData *data = [NSMutableData dataWithCapacity:hex.length / 2];
        unsigned char whole_byte;
        char byte_chars[3] = {'\0','\0','\0'};
        int i;
        for (i=0; i < hex.length / 2; i++) {
            byte_chars[0] = [hex characterAtIndex:i*2];
            byte_chars[1] = [hex characterAtIndex:i*2+1];
            whole_byte = strtol(byte_chars, NULL, 16);
            [data appendBytes:&whole_byte length:1];
        }
        return data;
        
    }
    


    展开全文
  • + (NSData *) stringToHexData:(NSString *)hexStr {  int len = [hexStr length] / 2; // Target length  unsigned char *buf = malloc(len);  unsigned char *whole_byte = buf;... char byte_c
  • iOS 16进制字符与NSData之间的转换

    千次阅读 2018-11-15 17:26:02
    #pragma mark - 十六进制转换工具 // 16进制转NSData - (NSData *)convertHexStrToData:(NSString *)str { if (!str || [str length] == 0) { return nil; } NSMutableData *hexData = [[NSMutableDa...
  • 其中将十六进制字符串转换成NSData的代码如下: - (NSData *)convertHexStrToData:(NSString *)str { if (!str || [str length] == 0) { return nil; }   NSMutableData *hexData = [...
  • 进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSString stringWithFormat:@"%@",[[NSString alloc] initWithFormat:@"%02lx",(long)bytes[0]]]; 十六进制->十进制 NSString *re...
  • 本文记录的是使用OC进行NSData和十六进制字符串之间的相互转换。其中将十六进制字符串转换成NSData的代码如下:
  • UIImage *licenseImg = [self.licenseImgAry objectAtIndex:0]; NSData *licenseData = UIImageJPEGRepresentation(licenseImg, 0.7f); Byte *bytes = (Byte *)[licenseDat
  • 16进制NSString与NSData互

    千次阅读 2016-03-09 17:29:03
    - (NSData*)dataFormHexString:(NSString*)hexString; - (NSString *)hexStringFromData:(NSData*)data;
  • 最近项目中要用到socket通讯,由于涉及到组包问题,所以需要数据类型之间的来回...1. int类型转16进制hexstring //int 转16进制 - (NSString *)hexFromInt:(NSInteger)val { return [NSString stringWithFormat:@"%X
  • iOS开发中的HexString

    千次阅读 2016-11-27 21:53:03
    按照正常的时间来说,今天应该在写本月的第三篇博客,但这个月各种忙,主要是几场考试加上学校公司...前段时间在项目中遇到了HexString,既然遇到了,那么肯定要把它搞明白,所以今天就来说说在iOS开发中的HexString。
  • object-c 继承于c语言,因此最基础的数据之间的转换自然也成为oc 的基础。下面记录一下这些数据之间转换的具体方法。1.NSData 与 NSStringNSDate->NSStringNSString *testString =[[NSString alloc] initWithData:...
  • iOS 蓝牙 字符串byte转data

    千次阅读 2017-06-04 12:27:33
    需求:字符串AD4532692D30AF836C75FA343ABC5A7E 转为16位的data :原理 先转为byte 再转为data第一种方法:- (void)strToData{ NSString *strtest =@"AF3067692D30AF836C75FA535ABC9A3E"; //以及初始化的Byte数组 ...
  • iOS NSData与long long的互

    千次阅读 2017-09-06 13:13:30
    #pragma mark - NSDatalong long - (long long) NSDataToUInt:(NSData *)data { long long datatemplength; [data getBytes:&datatemplength length:sizeof(datatemplength)]; long long result = CFSwapI
  • iOS DES ECB模式对称加密解密

    千次阅读 热门讨论 2012-10-18 19:57:47
    最近忙于android和iOS的项目,写完了android的DES 的ECB模式加密解密(相关连接:http://blog.csdn.net/vipa1888/article/details/8086037),又回到了Ios上面,因为本人也是最近今年开始研究ios的,所以Ios上面好多...
  • unsigned char 与 十六进制char 互

    千次阅读 2019-04-16 09:17:20
    java没有无符号字符串, 让他们16进制字符串后再传进来, 我们成unsigned char 后我们再用;这是我用到的方法 //十六进制char unsigned char int hexstr_to_byte(const char * pInHexString,int nInLen,...
1 2 3 4 5 ... 20
收藏数 10,318
精华内容 4,127
关键字:

16进制 data ios 转