防止 NSString 转义内容

Prevent NSString to escape contents

抱歉可能是新手问题。

由于各种原因,我被一个看起来像这样的特殊字符串所困扰:

NSString *myString = @"A\314\212A\314\210O\314\210.jpg";

我可以用一些忍者的方式删除双 \\ 并强制 NSString 理解该字符串是 Uniencoded 并且应该像这样阅读

NSString *myString = @"A42A40O40.jpg"; // Displays ÅÄÖ as expected

我尝试了不同的策略试图替换所有斜杠 ("\"),但是只要我添加一个 ("\") NSString 就会添加另一个以转义第一个。我被困在这里...

是否可以防止 NSString 转义我的字符串?

更新

我知道这是一个特例。从读取用户驱动器上的文件的终端程序读取输出。通过 NSTask,我将输出捕获到 NSString 中以进行解析并将其拆分为数组。只要没有非 ascii 字符,它就可以很好地工作。 HFS+ 使用略有不同的 Unicode 编码非 ASCII 字符,称为 NFD。

当我捕获响应时,ÅÄÖ 已经像这样编码在 qoutes 中:

file.jpg
file2.jpg
"A42A40O40.jpg"

当我创建一个 NSString 并使用捕获的响应时,它第二次被 NSString 转义。

A\314\212A\314\210O\314\210.jpg

我知道这不是最佳选择,但现在我无法控制终端程序输出的内容。通常当使用此 NFD 编码创建 NSString 时,Objectiv-C 会为您处理 encoding/decoding 。但是因为我有一个包含混合和双重转义内容的字符串,所以我很难创建它并让 NSString 理解内容是用这种编码编码的。

基本上我想这样:

decodedString = [output stringByReplacingOccurrencesOfString:@"\\"
                                                      withString:@"\"];

但在幕后,NSString 总是为您转义 \ 和另一个 \,所以我想要一种创建 "raw" 字符串的方法,而不会受到 NSString 的干扰。

已经尝试了各种方法来尝试在 NSString 上强制执行 Unicode 编码,但归根结底是 NSString 总是捕获和转义 \.

感谢任何提示和积分!

我没有找到解决此问题的任何方法,只能反过来更改终端程序的输出,使其不以这种方式进行编码。