我正在阅读我的app目录
NSArray *pathss = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectorys = [pathss objectAtIndex:0];
NSError * error;
NSMutableArray * directoryContents = [[NSFileManager defaultManager]
contentsOfDirectoryAtPath:documentsDirectorys error:&error];
我得到的输出:
"Forms_formatted.pdf",
"fund con u\U0308u\U0308.pdf",
"hackermonthly-issue.pdf",
这些是文件名。我的问题,我怎么能转换这个名字" fund con u \ U0308u \ U0308.pdf"纠正格式。提前谢谢
答案 0 :(得分:0)
使用UTF-16编码将NSString转换为NSData,转换回UTF-8编码的NSString。 它可能是UTF-16大端,没有BOM。该字符不是ASCII。
字符u \ U0308不是ASCII,它是一个组合变音符号̈ü,该字符也称为上面的双点,变音符号,希腊语dialytika和双重导数。 \ U0308将变音符号置于u字符之上。
答案 1 :(得分:0)
也许这会有所帮助:
NSString *documentsDirectorys = [pathss objectAtIndex:0];
const char *documentsDirectoryCstring = [documentsDirectorys cStringUsingEncoding:NSASCIIStringEncoding];
编辑:
const char *documentsDirectoryCstring = [documentsDirectorys cStringUsingEncoding:NSUTF8StringEncoding];
答案 2 :(得分:-1)
你可以试试这个。 NSLog
使用NSArray
的描述方法来打印NSArray
对象,该对象处理unicode字符的方式与其包含的对象(如NSString对象)的描述不同。或者你可以循环遍历数组并NSLog
每个项目。
NSLog(@"%@", [NSString stringWithCString:[[array description] cStringUsingEncoding:NSASCIIStringEncoding] encoding:NSNonLossyASCIIStringEncoding]);