I am looking for the Unicode or some method or byte language that can put out superscripts for 1, 2, 3. For whatever reason Unicode has superscripts for 0, 4, 5, 6, 7, 8, 9, but not 1, 2, 3.
Can you do superscripts like HTML in NSString
?
From the character palette:
¹
SUPERSCRIPT ONE
Unicode: U+00B9, UTF-8: C2 B9
²
SUPERSCRIPT TWO
Unicode: U+00B2, UTF-8: C2 B2
³
SUPERSCRIPT THREE
Unicode: U+00B3, UTF-8: C2 B3
This, to make them in to NSStrings
, you'd do:
NSString *superscript1 = @"\u00B9";
NSString *superscript2 = @"\u00B2";
NSString *superscript3 = @"\u00B3";
I know this question has already been answered but if anyone wants to reuse my code for converting from a standard string of numbers to superscript, here it is.
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *outp=@"";
for (int i =0; i<[inputNumber length]; i++) {
unichar chara=[inputNumber characterAtIndex:i] ;
switch (chara) {
case '1':
NSLog(@"1");
outp=[outp stringByAppendingFormat:@"\u00B9"];
break;
case '2':
NSLog(@"2");
outp=[outp stringByAppendingFormat:@"\u00B2"];
break;
case '3':
NSLog(@"3");
outp=[outp stringByAppendingFormat:@"\u00B3"];
break;
case '4':
NSLog(@"4");
outp=[outp stringByAppendingFormat:@"\u2074"];
break;
case '5':
NSLog(@"5");
outp=[outp stringByAppendingFormat:@"\u2075"];
break;
case '6':
NSLog(@"6");
outp=[outp stringByAppendingFormat:@"\u2076"];
break;
case '7':
NSLog(@"7");
outp=[outp stringByAppendingFormat:@"\u2077"];
break;
case '8':
NSLog(@"8");
outp=[outp stringByAppendingFormat:@"\u2078"];
break;
case '9':
NSLog(@"9");
outp=[outp stringByAppendingFormat:@"\u2079"];
break;
case '0':
NSLog(@"0");
outp=[outp stringByAppendingFormat:@"\u2070"];
break;
default:
break;
}
}
return outp;
}
Given an input string of numbers it just returns the equivalent superscript string.
Edit (thanks to jrturton):
-(NSString *)superScriptOf:(NSString *)inputNumber{
NSString *outp=@"";
unichar superScripts[] = {0x2070, 0x00B9, 0x00B2,0x00B3,0x2074,0x2075,0x2076,0x2077,0x2078,0x2079};
for (int i =0; i<[inputNumber length]; i++) {
NSInteger x =[[inputNumber substringWithRange:NSMakeRange(i, 1)] integerValue];
outp=[outp stringByAppendingFormat:@"%C", superScripts[x]];
}
return outp;
}
The characters exist
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With