본문 바로가기
ios 뽀개기/objective-c

문자 타입의 바이트를 NSData타입으로 변환

by 인생여희 2019. 10. 22.
반응형

문자 타입의 바이트를 NSData타입으로 변환

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface Util : NSObject

// 문자 타입의 바이트를 NSData타입으로 변환
+(NSMutableData *)convertStringToNSData:(NSString *) bytesString;

@end

NS_ASSUME_NONNULL_END

 

#import "Util.h"

@implementation Util
// 문자 타입의 바이트를 NSData타입으로 변환
+(NSMutableData *)convertStringToNSData:(NSString *) bytesString{
    //넘어온 문자형식의 byte
    NSString *signNum = bytesString;
    
    signNum = [signNum stringByReplacingOccurrencesOfString:@" " withString:@""];
    NSMutableData *commandToSend= [[NSMutableData alloc] init];
    unsigned char whole_byte;
    char byte_chars[3] = {'\0','\0','\0'};
    int i;
    for (i=0; i < [signNum length]/2; i++) {
        byte_chars[0] = [signNum characterAtIndex:i*2];
        byte_chars[1] = [signNum characterAtIndex:i*2+1];
        whole_byte = strtol(byte_chars, NULL, 16);
        [commandToSend appendBytes:&whole_byte length:1];
    }
    NSLog(@"Util에서 변환한 결과값 : %@", commandToSend);
    
    return commandToSend;
}


@end
반응형

댓글