首页 > 代码库 > 用OC代码判断字符编码格式
用OC代码判断字符编码格式
总体思路:
遍历所有的字符编码,能正确读取输出转换的就是文本文件的编码格式。
代码如下:
// // main.m // 检测文本字符编码格式的小技巧 // // Created by 杜子兮 (duzixi) on 14-6-21. // Copyright (c) 2014年 lanou3g.com All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSArray *arrEncoding = @[@(NSASCIIStringEncoding), @(NSNEXTSTEPStringEncoding), @(NSJapaneseEUCStringEncoding), @(NSUTF8StringEncoding), @(NSISOLatin1StringEncoding), @(NSSymbolStringEncoding), @(NSNonLossyASCIIStringEncoding), @(NSShiftJISStringEncoding), @(NSISOLatin2StringEncoding), @(NSUnicodeStringEncoding), @(NSWindowsCP1251StringEncoding), @(NSWindowsCP1252StringEncoding), @(NSWindowsCP1253StringEncoding), @(NSWindowsCP1254StringEncoding), @(NSWindowsCP1250StringEncoding), @(NSISO2022JPStringEncoding), @(NSMacOSRomanStringEncoding), @(NSUTF16StringEncoding), @(NSUTF16BigEndianStringEncoding), @(NSUTF16LittleEndianStringEncoding), @(NSUTF32StringEncoding), @(NSUTF32BigEndianStringEncoding), @(NSUTF32LittleEndianStringEncoding) ]; NSArray *arrEncodingName = @[@"NSASCIIStringEncoding", @"NSNEXTSTEPStringEncoding", @"NSJapaneseEUCStringEncoding", @"NSUTF8StringEncoding", @"NSISOLatin1StringEncoding", @"NSSymbolStringEncoding", @"NSNonLossyASCIIStringEncoding", @"NSShiftJISStringEncoding", @"NSISOLatin2StringEncoding", @"NSUnicodeStringEncoding", @"NSWindowsCP1251StringEncoding", @"NSWindowsCP1252StringEncoding", @"NSWindowsCP1253StringEncoding", @"NSWindowsCP1254StringEncoding", @"NSWindowsCP1250StringEncoding", @"NSISO2022JPStringEncoding", @"NSMacOSRomanStringEncoding", @"NSUTF16StringEncoding", @"NSUTF16BigEndianStringEncoding", @"NSUTF16LittleEndianStringEncoding", @"NSUTF32StringEncoding", @"NSUTF32BigEndianStringEncoding", @"NSUTF32LittleEndianStringEncoding" ]; for (int i = 0 ; i < [arrEncoding count]; i++) { unsigned long encodingCode = [arrEncoding[i] unsignedLongValue]; NSLog(@"(%@)", arrEncodingName[i]); NSError *error = nil; NSString *filePath = @"/Users/dlios1/Desktop/event.xml"; // <---这里是要查看的文件路径 NSString *aString = [NSString stringWithContentsOfFile:filePath encoding:encodingCode error:&error]; NSLog(@"Error:%@", [error localizedDescription]); NSData *data = [aString dataUsingEncoding:encodingCode]; NSString *string = [[NSString alloc] initWithData:data encoding:encodingCode]; NSLog(@"%@", string); /* // 如果有必要,还可以把文件创建出来再测试 [string writeToFile:[NSString stringWithFormat:@"/Users/dlios1/Desktop/%@.xml", arrEncodingName[i]] atomically:YES encoding:encodingCode error:&error]; */ } } return 0; }
用OC代码判断字符编码格式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。