16进制string转NSData

// hex string转 data

- (NSData *)dataFromHexString:(NSString *)string

{

string = [string lowercaseString];

NSMutableData *data= [NSMutableData new];

unsigned char whole_byte;

char byte_chars[3] = {'\0','\0','\0'};

int i = 0;

int length = string.length;

while (i < length-1) {

char c = [string characterAtIndex:i++];

if (c < '0' || (c > '9' && c < 'a') || c > 'f')

continue;

byte_chars[0] = c;

byte_chars[1] = [string characterAtIndex:i++];

whole_byte = strtol(byte_chars, NULL, 16);

[data appendBytes:&whole_byte length:1];

}

return data;

}

Usage

======


NSData *data = [self dataFromHexString:@"544A160826214510"];

NSLog(@"%@", data);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,922评论 0 33
  • #pragma mark -从字符串中取字节数组 -(NSData*)stringToByte:(NSString...
    丿ZLoveT阅读 664评论 0 0
  • 水鸟 水鸟 你不要飞走啦 目光所及都是孤独的自己啊 荒野中你能带走谁的味道 只好把影子留在湖底 水鸟 水鸟 你闭上...
    宋禾初阅读 240评论 5 3
  • 昨天做了噩梦一枚,然后顺理成章的被吓醒了。最要命的这个梦还他ma的是双重梦,睁开眼看到周围环境那么熟悉,熟悉的有那...
    黑面俊生阅读 340评论 0 0
  • 晚上九点,吴子衿照例靠着床头看书,老婆廖静姝在看着台灯发呆。 “老吴,跟你说件事。” “哦,什么事?”...
    香公主阅读 197评论 0 1

友情链接更多精彩内容