我目前有一個包含十六進制值的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})? –