iOSデータ印刷時にどのように符号化された文字を中国語に表示しますか?
1681 ワード
私たちの開発では辞書配列のデータを印刷することがよくありますが、多くの場合、私たちが印刷した文字データはUTF-8符号化後の符号化文字で、見ていると卵が痛いです.の大丈夫です.まず卵が痛くないでください.この問題を解決する方法があります.方法は簡単にFoundationの分類を書くことで、内容は配列と辞書に対してです!何も言わないで、直接コードに行きます.
ここに注意してください.mファイル、Foundation+Logと命名できます.m、直接あなたのプロジェクトにドラッグすればいいです!印刷後のコード文字が中国語で表示されていることに気づきます!!!
#import
@implementation NSDictionary (Log)
- (NSString *)descriptionWithLocale:(id)locale
{
NSMutableString *string = [NSMutableString string];
// {
[string appendString:@"{
"];
//
[self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[string appendFormat:@"\t%@", key];
[string appendString:@" : "];
[string appendFormat:@"%@,
", obj];
}];
// }
[string appendString:@"}"];
//
NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];
if (range.location != NSNotFound)
[string deleteCharactersInRange:range];
return string;
}
@end
@implementation NSArray (Log)
- (NSString *)descriptionWithLocale:(id)locale
{
NSMutableString *string = [NSMutableString string];
// [
[string appendString:@"[
"];
//
[self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[string appendFormat:@"\t%@,
", obj];
}];
// ]
[string appendString:@"]"];
//
NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];
if (range.location != NSNotFound)
[string deleteCharactersInRange:range];
return string;
}
@end
ここに注意してください.mファイル、Foundation+Logと命名できます.m、直接あなたのプロジェクトにドラッグすればいいです!印刷後のコード文字が中国語で表示されていることに気づきます!!!