Macos 使用/tmp中的文件作为中介进行NSData编码?

Macos 使用/tmp中的文件作为中介进行NSData编码?,macos,cocoa,encoding,nsstring,nsdata,Macos,Cocoa,Encoding,Nsstring,Nsdata,我想猜测接收到的NSData的编码。我在Stackoverflow中搜索,找到一个指示“不能”的 然而,我注意到一个NSString方法stringWithContentsOfFile:usedEncoding:error:,我想知道我是否可以按以下顺序实现这个目标: 1>获取NSData对象 2>将此NSData对象存储到目录/tmp中具有随机文件名的文件中 3>调用NSString的stringWithContentsOfFile:usedEncoding:error:方法来读取此临时文件。

我想猜测接收到的NSData的编码。我在Stackoverflow中搜索,找到一个指示“不能”的

然而,我注意到一个NSString方法
stringWithContentsOfFile:usedEncoding:error:
,我想知道我是否可以按以下顺序实现这个目标:
1>获取NSData对象
2>将此NSData对象存储到目录/tmp中具有随机文件名的文件中
3>调用
NSString
stringWithContentsOfFile:usedEncoding:error:
方法来读取此临时文件。
4>删除临时文件。
5>读取
enc
参数以确定编码


我知道我可以自己做实验,但我手上没有不同编码的数据源。因此,我在这里提出了一个问题。我的意见行得通吗?这个解决方案能找到OSX能够识别的所有可能的编码吗?

不要猜测编码;)为什么?我有一个应用程序来获取目标设备的无线网络ID并显示它们。但是这些ID可能采用不同的编码,这可能会导致显示错误…:(我的意思是:SSIDS是的,这是一个很难解决的问题:(您的解决方案可以工作,但即使字符串不是
nil
(意味着框架能够“猜测”),猜测可能是完全错误的,并最终显示您的用户完全胡说八道。您应该尝试您的解决方案,输入许多不同编码的奇怪SSID,看看它们是如何工作的。谢谢!我将尝试我可以猜测和创建的每种编码。我可能会将显示作为第一件事来做,甚至显示错误。至少这使应用程序工作正常.