Может кто-нибудь помочь мне с преобразованием специальных символов в то, что может быть правильно представлено в RTF-файле?Преобразование специальных символов для RTF
Я беру текст, хранящийся в строке на iPad, и выводя его как RTF-файл с использованием NSASCIIStringEncoding. Все идет нормально. То, что я забыл делать успешно, учитывает специальные символы (например, тильда, умлаут, акцент и т. Д.). Жаль RoW!
Самый универсальный формат RTF, похоже, требует 8-битного кодирования текста с escape-кодом (две шестнадцатеричные цифры после обратной косой черты). Итак, n с тильдой (ñ) будет \ f1.
Единственное решение, которое возникает для меня, - это преобразовать в NSUTF8StringEncoding, а затем использовать stringByReplacingOccurrencesOfString, но есть много символов, и кажется, что вам нужно заменить каждый из них вручную. Есть ли более эффективный способ, который ускользает от меня? (каламбур) :)
Спасибо за любые предложения.
Просто мысль из похожих проблем в веб-разработке ... используйте Unicode повсюду? –
Я не могу вам помочь в специфике формата RTF, но стоит отметить, что с iOS 4.0 Apple (наконец) внедрила поддержку регулярных выражений - см. NSRegularExpression. В зависимости от того, нужно ли вам поддерживать устаревшие устройства 3.x или нет, у меня возникло бы желание использовать регулярные выражения для решения этой конкретной проблемы, так как это именно то, для чего они были предназначены. – Echelon
Спасибо, что поделились этим. Это приложение для iPad, поэтому на данный момент я должен поддерживать v3.2. – DenVog