Debug栏打印时自动把Unicode编码转化成汉字

简介: Debug栏打印时自动把Unicode编码转化成汉字

Debug栏打印时自动把Unicode编码转化成汉字


我们在打印调试时候经常会遇到这种,然后看不懂的一些文字。我们可以通过加入一段代码去转码

b3778c2c0922460f58adf8f9f42fb874.png

Snip20160823_1.png

转码之后的效果图

2cbe5931eb30331b133485d781a578c8.png

Snip20160823_3.png

直接上代码

#import <Foundation/Foundation.h>
@implementation NSDictionary (Log)
- (NSString *)descriptionWithLocale:(id)locale
{
    NSMutableString *str = [NSMutableString string];
    [str appendString:@"{\n"];
    // 遍历字典的所有键值对
    [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        [str appendFormat:@"\t%@ = %@,\n", key, obj];
    }];
    [str appendString:@"}"];
    // 查出最后一个,的范围
    NSRange range = [str rangeOfString:@"," options:NSBackwardsSearch];
    if (range.length != 0) {
        // 删掉最后一个,
        [str deleteCharactersInRange:range];
    }
    return str;
}
@end
@implementation NSArray (Log)
- (NSString *)descriptionWithLocale:(id)locale
{
    NSMutableString *str = [NSMutableString string];
    [str appendString:@"[\n"];
    // 遍历数组的所有元素
    [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        [str appendFormat:@"%@,\n", obj];
    }];
    [str appendString:@"]"];
    // 查出最后一个,的范围
    NSRange range = [str rangeOfString:@"," options:NSBackwardsSearch];
    if (range.length != 0) {
        // 删掉最后一个,
        [str deleteCharactersInRange:range];
    }
    return str;
}
@end

将自己写好的这段代码拖入到你的项目里面,就可以实现上面的效果

当然我们也可以利用第三方插件

// 有时候我们在xcode中打印中文,会打印出Unicode编码,还需要自己去一些在线网站转换,有了插件就方便多了。
 DXXcodeConsoleUnicodePlugin 插件


相关文章
Qt 将字符串转成16进制显示
最近项目用到了需要将字符串转换成16进制显示。这玩意折腾了一上午。
704 0
|
6月前
|
Java 机器人 Windows
【IntelliJ IDEA】UTF-8编码下\u7528\u6237转换为中文汉字,\u9489\u9489\u81EA\u5B9A\u4E49\(Unicode字符与中文的相互转化)
【IntelliJ IDEA】UTF-8编码下\u7528\u6237转换为中文汉字,\u9489\u9489\u81EA\u5B9A\u4E49\(Unicode字符与中文的相互转化)
344 0
|
5月前
|
存储 前端开发 JavaScript
input输入unicode零宽字符前端踩坑
Unicode字符中有一类特殊的字符叫做零宽字符 ZWJ(zero width joiner),也叫非打印字符、不可见字符。正则的断言即叫零宽断言,意思即本身并不占用宽度,如比较出名的零宽空格
133 0
|
11月前
|
Python
Python 读取记事本中的字符长度与输入的字符长度不一致
Python 读取记事本中的字符长度与输入的字符长度不一致
70 0
|
11月前
|
小程序 JavaScript 前端开发
vba 在代码窗口里不能正常显示的双字节字符的转换
vba 在代码窗口里不能正常显示的双字节字符的转换
76 0
关于VS2017调试时,字符数组显示"字符串中的字符无效"问题
关于VS2017调试时,字符数组显示"字符串中的字符无效"问题
611 0
错误: 编码GBK的不可映射字符
错误: 编码GBK的不可映射字符
|
JavaScript 前端开发 PHP
C#(五)之常量、@控制符、转译符、ASCII编码,Console.Write
对C#的常量,ASCII编码、@控制符、“+”连接符、Console.WriteLine及转译字符的简单应用。
275 0
C#(五)之常量、@控制符、转译符、ASCII编码,Console.Write
|
存储
关于N900的TXT文本的编码注意事项
  N900上TXT文本的编码格式为UTF-8。此格式不用说,是目前兼容性相当好的一种编码。但是比如PC上(特指中文系统的XP、win7等)建立的TXT文本默认是ANSI   所以当存储有中文的ANSI编码的TXT文本在N900上中文显示成乱码,更有可能无法打开(大量特殊符号)。
840 0
|
C#
实现:C#窗体中的文本框只能输入中文汉字,其他输入无效。问:正则表达式怎么用?
原文:实现:C#窗体中的文本框只能输入中文汉字,其他输入无效。问:正则表达式怎么用? private void textBox1_KeyPress(object sender, KeyPressEventArgs e...
1486 0