JLLogEncoding 0.0.3

JLLogEncoding 0.0.3

TestsTested
LangLanguage Obj-CObjective C
License Apache-2.0
ReleasedLast Release Aug 2018

Maintained by WuZhenLi.



  • By
  • 吴贞利

JLLogEncoding

解决打印字典时,中文乱码问题。

1、 原理

参考文章 iOS 解决打印字典时,中文乱码问题

2、使用方法

1、cocoapods

pod 'JLLogEncoding'

2、手动添加文件

将 JLLogEncoding 目录下的 NSArray NSDictionary 的扩展文件拖进工程即可

pic

3、其它转码方式的缺点

- (NSString *)getUTF8String {
    if ([self isKindOfClass:[NSDictionary class]] == NO) {
        return @"";
    }
    NSError *error = nil;
    NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error];
    if (error) {
        return @"";
    }
    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    return str;
}

通过以上方式,将 JSON 转为字符串,虽然可解决中文乱码问题,但当 NSDictionary 中包含普通对象时,无法将对象转成字符串,进而导致程序崩溃。