iOS UTF-8 标签字符串

2024-01-10

我有一个 UTF-8 编码字符串,我想在标签中显示它。

当我设置断点并检查保存字符串的变量时,一切看起来都很好。但是,当我尝试输出到日志或标签时,我得到拉丁编码。

我已经尝试了几乎所有关于 SO 及其他的建议,但我就是无法让字符串正确显示。

这是我的代码:

NSString *rawString = [NSString stringWithFormat:@"%@",m_value];

const char *utf8String = [rawString UTF8String];
NSLog (@"%@", [NSString stringWithUTF8String:utf8String]);
NSLog (@"%s", utf8String);
NSLog (@"%@", rawString);

self.resultText.text = [NSString stringWithUTF8String:utf8String];

m_value是一个NSString,在调试窗口中,它也显示正确的编码。

m_value NSString *  0x006797b0 @"鄧樂愚..."
    NSObject    NSObject    
    isa Class   0x3bddd8f4
    [0] Class   

我正在使用 iOS 6.1 SDK。


Ok, if m_value是一个包含 UTF-8 字符串的 const char,您必须使用此方法:

- (id)initWithUTF8String:(const char *)bytes

NSString *correctString = [[NSString alloc] initWithUTF8String: m_value];

通过是不正确的const char* to @格式化程序,因为@ means NSObject,所以它总是不正确并可能导致应用程序崩溃

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS UTF-8 标签字符串 的相关文章

随机推荐