Может кто-нибудь подсказать, пожалуйста, как сохранить маркер порядка байтов (BOM) в файле? Например, теперь я сохраняю текстовый файл, например:
NSString *currentFileContent = @"This is a string of text to represent file content.";
NSString *currentFileName = @"MyFileName";
NSString *filePath = [NSString stringWithFormat:@"%@/%@.%@", [self documentsDirectory], currentFileName, rtf];
[currentFileContent writeToFile:filePath atomically:YES encoding:NSUTF16StringEncoding error:&error];
Мое понимание спецификации:
Символ спецификации - "НУЛЯ ШИРИНЫ"
Персонажа "NO-BREAK SPACE", U + FEFF, в
набор символов Unicode.
У меня есть приложение для iPhone, которое позволяет пользователям сохранять текст в файл RTF. Все работает нормально, если я использую NSUTF8StringEncoding, если только у пользователя нет двухбайтовых символов, таких как японский или китайский. Казалось бы, простой ответ - сохранить файл с NSUTF16StringEncoding, что разрешено в более поздних спецификациях RTF, за исключением того, что Microsoft Word может автоматически открывать файлы UTF-16 только в том случае, если определена спецификация.
Я надеюсь, что если я смогу установить общую спецификацию, мне не нужно будет определять набор символов пользователя, поскольку у меня нет возможности узнать, что это такое заранее. Но они по-прежнему смогут открывать файлы RTF с двухбайтовыми символами.
Спасибо за предложения или понимание.