0D05
只是一个十六进制数。您可以使用NSScanner
将十六进制字符串解析为整数,然后创建一个NSString
包含 Unicode 字符的字符。
NSString *hexString = yourInputField.text;
NSScanner *scanner = [NSScanner scannerWithString:hexString];
uint32_t unicodeInt;
if ([scanner scanHexInt:&unicodeInt]) {
unicodeInt = OSSwapHostToLittleInt32(unicodeInt); // To make it byte-order safe
NSString *unicodeString = [[NSString alloc] initWithBytes:&unicodeInt length:4 encoding:NSUTF32LittleEndianStringEncoding];
yourOutputLabel.text = unicodeString;
} else {
// Conversion failed, invalid input.
}
这甚至适用于 Unicode > U+FFFF,例如1F34C
(感谢 R. Martinho Fernandes 的反馈)。