我目前有一个包含十六进制值的NSString
。我需要将这个NSString
对象转换为一个NSData
对象,根本不需要改变它的内容。将十六进制字符串转换为十六进制数据
3
A
回答
8
我用这个代码为“解析”的NSData对象的调试输出(你在控制台中看到,如果你只是NSLog的一个NSData对象)返回到NSData的:
-(NSData*) bytesFromHexString:(NSString *)aString;
{
NSString *theString = [[aString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] componentsJoinedByString:nil];
NSMutableData* data = [NSMutableData data];
int idx;
for (idx = 0; idx+2 <= theString.length; idx+=2) {
NSRange range = NSMakeRange(idx, 2);
NSString* hexStr = [theString substringWithRange:range];
NSScanner* scanner = [NSScanner scannerWithString:hexStr];
unsigned int intValue;
if ([scanner scanHexInt:&intValue])
[data appendBytes:&intValue length:1];
}
return data;
}
这不是我最强大的代码,但它可以解析[nsdata_object description]。
+0
像魅力一样工作,谢谢! –
+0
谢谢,它的作品! –
相关问题
- 1. 将字符串转换为十六进制到十六进制
- 2. 将十进制转换为十六进制和十六进制
- 3. 将字符串十进制转换为十六进制数
- 4. PHP将字符串转换为十六进制和十六进制字符串
- 5. C++将十六进制字符串转换为十六进制char *十六进制数字
- 6. 转换十六进制字符串十六进制值
- 7. 将十六进制字符串数组转换为十六进制数组
- 8. 字符串为十六进制和十六进制转换为字符串
- 9. 如何将十六进制字符串转换为十进制?
- 10. 将十六进制字符串转换为十进制
- 11. 如何将十六进制字符串转换为十六进制数
- 12. 从十六进制字符串转换为十六进制字符数组
- 13. 将十六进制转换为二进制到十六进制?
- 14. 如何将十六进制字符串转换为十六进制字节?
- 15. 如何将十六进制字符串转换为十六进制?
- 16. 如何将十六进制字符串转换为十六进制?
- 17. 十进制转换为十六进制字符串
- 18. Python - 从十六进制整数转换为十六进制字符串
- 19. 如何转换十六进制字符串为十六进制数
- 20. 将字符转换为十六进制
- 21. python字符串与十六进制转义十六进制值
- 22. C#字符串为十六进制,十六进制到字节转换
- 23. 为十六进制值转换为十六进制字符串在Perl
- 24. 十六进制串&十六进制
- 25. 将八进制数转换为十进制和十六进制
- 26. 将数字转换为十六进制
- 27. 十六进制()参数不能转换为十六进制
- 28. 将十六进制字符串转换为二进制字符串,显示所有4位十六进制值
- 29. C# - 转换十六进制值的字符串为十六进制
- 30. 十进制数字符串转换为十六进制的字符串
澄清:您的字符串是否包含十六进制值作为ASCII表示(例如,{'6','e','7','5','6','c','6','c '}),还是包含一个字节序列(例如{0x6e,0x75,0x6c,0x6c})? –