2015-04-12 32 views

回答

0

NSScanner可以做到這一點。下面的示例方法:

- (NSNumber *)scanHex:(NSString *)aString { 

    NSScanner *sc=[NSScanner scannerWithString:aString]; 

    if(![sc scanString:@"&#x" intoString:NULL]) return nil; 

    unsigned long long val; 

    if(![sc scanHexLongLong:&val]) return nil; 

    return [NSNumber numberWithUnsignedLongLong:val]; 
} 

此方法將返回nil如果aString沒有&#x你列出,或者如果後面沒有一個有效的十六進制字符串。否則,它返回一個具有所需值的NSNumber對象。

0

看起來像你有HTML/XML轉義實體。你真正想使用的是Core Foundation函數CFStringTransform。 爲此,你需要一個NSMutableString並將其連接到CFMutableString。

祕密是這個CF函數包裝了ICU(International Components for Unicode)庫的字符串轉換。

ICU文檔將爲您提供更多可能的轉換。但爲此,如果我記得正確的話,你需要將Hex-Any作爲你的變換。

相關問題