我使用此代码安装 SMB 路径
urlStringOfVolumeToMount = [urlStringOfVolumeToMount stringByAddingPercentEscapesUsingEncoding:NSMacOSRomanStringEncoding];
NSURL *urlOfVolumeToMount = [NSURL URLWithString:urlStringOfVolumeToMount];
FSVolumeRefNum returnRefNum;
FSMountServerVolumeSync( (CFURLRef)urlOfVolumeToMount, NULL, NULL, NULL, &returnRefNum, 0L);
然后,我得到一些路径的内容:
NSMutableArray *content = (NSMutableArray *)[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];
我的问题是包含特殊字符的“内容”数组中的每条路径(例如ü)给我2个字符编码:ü变成u¨
当我使用以下方式记录字节时:
[contentItem dataUsingEncoding:NSUTF8StringEncoding];
它给了我:75cc88,即 u (75) 和 ¨(cc88)
我期望的是用 utf-8 编码的 ü char。以字节为单位,应该是 c3bc
我尝试使用 ISOLatin1 编码转换我的路径,MacOSRoman ...但只要内容路径已经有 2 个单独的字符而不是 ü,任何转换都会给我 2 个字符编码...
如果有人可以帮忙,谢谢
我的配置:法语本地化并使用雪豹。