代码之家  ›  专栏  ›  技术社区  ›  vikingosegundo

从RTF文件的NSString中转义非ASCII字符

  •  0
  • vikingosegundo  · 技术社区  · 15 年前

    我需要在iOS设备上生成rtf文件。
    由于RTF只支持带转义的ASCII,所以我需要找到一个解决方案来转义非拉丁字符,这样,即变为'fc、'e4和'eb

    我有下面的代码在一个类别里面 NSString

    self = [NSString stringWithFormat:@"{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard %@ \\par}", self ];
    [[self dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] writeToFile:filenameStr atomically:YES];
    

    但这只会变成u,a,等等。。。

    1 回复  |  直到 10 年前
        1
  •  0
  •   vikingosegundo    15 年前

    我至少为我的案子找到了解决办法:

    self = [NSString stringWithFormat:@"{\\rtf1\\mac{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard %@ \\par}", self ];
    [self writeToFile:filename atomically:YES];