iOSのObjective-Cの場合:
文字列がある場合、個々の文字のUnicode数値を読み取るにはどうすればよいですか?
たとえば、私の文字列が「∆」の場合、そのユニコード文字はU + 0394なので、文字列を読み取って「0394」を計算し、その値に100を追加して新しい文字列を作成すると、新しい文字列は次のようになります。文字U+0494または「ҕ」である
ありがとう!
iOSのObjective-Cの場合:
文字列がある場合、個々の文字のUnicode数値を読み取るにはどうすればよいですか?
たとえば、私の文字列が「∆」の場合、そのユニコード文字はU + 0394なので、文字列を読み取って「0394」を計算し、その値に100を追加して新しい文字列を作成すると、新しい文字列は次のようになります。文字U+0494または「ҕ」である
ありがとう!
まず、あなたの論理には誤りがあります。∆ + 100 != ҕ
。916
Unicodeは基数16(16進数)で評価されるため、「∆」は実際には10進数ではなく10進数に等しくなり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];