繁体   English   中英

iOS-字符串中单个字符的Unicode数值

[英]iOS - Unicode numeric value of individual characters in a string

对于iOS中的Objective-C:

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

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

谢谢!

首先,您的逻辑存在谬误。 ∆ + 100 != ҕ Unicode以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]; 
  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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM