gpt4 book ai didi

iphone - 来自NS的NSString unichar

转载 作者:行者123 更新时间:2023-12-01 18:19:58 34 4
gpt4 key购买 nike

我有一个从字符爸获得的int值,即29240。我可以将此数字转换为十六进制,但是我不知道如何仅用NSStringint 29240中写出汉字。

基本上,我所做的是:

NSString * s = @"爸";
int a = [s characterAtIndex:0];
NSLog(@"%d", a);

它给出的输出是29240。

但是,我不知道如何仅从 NSString创建仅包含爸的 int 29240

我将29240转换为二进制文件,从而得到7238,但似乎无法创建一种方法来允许我输入任何整数,并用 NSLog输入相应的字符。
我可以对其进行硬编码,以便
char cString[] = "\u7238";
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"result string: %@", string);

但是我不确定如何使用任何int。

感谢任何可以帮助我的人!

最佳答案

要使用一个(或多个)Unicode字符创建字符串,请使用initWithCharacters:

unichar c = 29240;
NSString *string = [[NSString alloc] initWithCharacters:&c length:1];
NSString在内部使用UTF-16字符,因此
这适用于“基本多语言平面”中的所有字符,即 U+FFFF之前的所有字符。以下代码适用于任意字符:
uint32_t ch = 0x1F60E;
ch = OSSwapHostToLittleInt32(ch); // To make it byte-order safe
NSString *s1 = [[NSString alloc] initWithBytes:&ch length:4 encoding:NSUTF32LittleEndianStringEncoding];
NSLog(@"%@", s1);
// Output: 😎

关于iphone - 来自NS的NSString unichar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18141270/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com