0
得到的數據我有如下代碼:從十六進制字符
NSString* str = @"π";
const char* chr = [str UTF8String];
爲CHR的值是「\ XCF \ X80」,這是十六進制包機的序列。 要寫成RTF文件,我需要從該十六進制字符中提取不包含「\ x」的值。
我應該怎麼做才能獲取數據?
問候
得到的數據我有如下代碼:從十六進制字符
NSString* str = @"π";
const char* chr = [str UTF8String];
爲CHR的值是「\ XCF \ X80」,這是十六進制包機的序列。 要寫成RTF文件,我需要從該十六進制字符中提取不包含「\ x」的值。
我應該怎麼做才能獲取數據?
問候
在C的char
類型爲一個整數類型,以便可以產生就像您的任何其它的整數值的字符的十六進制表示 - 利用%x
格式說明。要將完整的C字符串轉換爲十六進制的字符串,只需遍歷字符串並生成結果即可。粗碼,直接輸入回答如此預期的錯誤:
NSString *str = ...
const char *cStr = [str UTF8String];
NSMutableString *hexStr = [NSMutableString new]; // for result
while(*cStr) // loop while cStr is not pointing at a null char
{
[hexStr appendFormat:@"%02x", *cStr++]; // %02x - zero fill, width 2, hex
}