我有一个 nsstring(filePath),它有音频文件的路径。我想打开音频文件,所以我想将 nsstring 转换为 Cstring。
fopen([filePath cStringUsingEncoding:1], "r");
上面这行是否正确,因为我也可以使用fopen([filePath cString], "r");
. 在一些网站中提到使用 UTF8stringEncoding。哪个是正确的 NSString 到字符串转换?
我有一个 nsstring(filePath),它有音频文件的路径。我想打开音频文件,所以我想将 nsstring 转换为 Cstring。
fopen([filePath cStringUsingEncoding:1], "r");
上面这行是否正确,因为我也可以使用fopen([filePath cString], "r");
. 在一些网站中提到使用 UTF8stringEncoding。哪个是正确的 NSString 到字符串转换?
使用UTF8String
:
fopen([filePath UTF8String], "r");
不要使用UTF8String
,但是fileSystemRepresentation
。
您应该这样做,因为 HFS+ 或其他文件系统与 Unicode 系统不严格兼容。另一个原因:此方法通过将抽象路径和扩展分隔符(分别为“/”和“.”)替换为当前文件系统的等效字符来操作。