2017-09-15 60 views
0

我嘗試使用十進制和十六進制字符串來創建一個CFDataRef,但我創建的不是我所需要的。我需要一個像CFDataRef<b1a3c3 d4b5>」, 這裏是我的代碼:什麼樣的CFDataRef打印出來就像「<b1a3c3 d4b5>」?

CFDataRef abc = CFDataCreate(kCFAllocatorDefault, "b034958b0c6f",strlen("b034958b0c6f")); 
CFDataRef abc = CFDataCreate(kCFAllocatorDefault, "4294967295", strlen("4294967295")); 
+0

你的意思是https://stackoverflow.com/questions/7520615/how-to-convert-an-nsdata-into-an-nsstring-hex-string?那麼,CFDataRef和NSData之間應該有一個橋樑 – Larme

+0

你在問什麼?問題是什麼? –

+3

CFDataCreate的第二個參數是要存儲在數據中的原始字節。您無法傳遞十六進制字符串。 –

回答

0

@kevin是正確的,你需要傳遞的原始字節。

UInt8 bytes[] = { 0xb1, 0xa3, 0xc3, 0xd4, 0xb5 }; 
CFDataRef abc = CFDataCreate(kCFAllocatorDefault, bytes, sizeof(bytes)); 
+0

它的工作原理,謝謝凱文! – 0x11901