0

对于 iOS 中的 Objective-C:

如果我有一个字符串,我怎么能读取单个字符的 unicode 数值?

例如,如果我的字符串是:“Δ”那个 unicode 字符是 U+0394,那么我如何读取字符串,找出“0394”然后创建一个新字符串,并在该值上添加 100,所以新字符串将是字符 U+0494 或“ҕ”

谢谢!

4

2 回答 2

1

首先,您的逻辑存在谬误。∆ + 100 != ҕ. Unicode 以 base-16(十六进制)计算,因此 'Δ' 实际上等于916十进制,而不是394. 因此,0x0494 - 0x0394 = 0x0100, 等于256

考虑到这一点,您的代码应如下所示:

unichar delta = 0x0394;
unichar weirdB = delta + 0x0100;

NSString *deltaStr = [NSString stringWithCharacters:&delta length:1];
NSString *weirdBString = [NSString stringWithCharacters:&weirdB length:1]; 
于 2012-05-12T21:54:18.370 回答
0
  NSString *c = [NSString stringWithFormat:@"%C", unicodeValue];
  int unicode = [c intvalue];
  // then create a new one
  unicode+=100;
  // create a unicode value again
  NSString *uniString = [NSString stringWithCharacters:(unichar *)&unicode length:1];
于 2012-05-12T21:53:54.733 回答