Чтение арабского текста из текстового файла UTF-8? - PullRequest
1 голос
/ 12 апреля 2011

Дорогие все, У меня странная (глупая) проблема при попытке прочитать «арабский текст» из заданного файла. Давайте предположим, что у меня есть текстовый файл с именем TEXT.txt, который закодирован в формате UTF-8 и выглядит так (арабский текст из RightToLeft):

                                                                 :xxx xxxx xx xxx

                                                          .xxx, xxxxxxx xxxxx xxx

Когда я пытаюсь прочитать TEXT.txt в Xcode, используя

UITextView *about;
about.textAlignment = UITextAlignmentRight;
NSString *textFilePath = [[NSBundle mainBundle] pathForResource:@"TEXT" ofType:@"txt"];
NSString *fileContents = [NSString stringWithContentsOfFile:textFilePath encoding:NSUTF8StringEncoding error:nil];
about.text = fileContents;
NSLog(@"The text is: \n %@",about.text);

Который, я считаю, правильный путь !!! Затем он показывает на iPhone Simulator и на устройстве, как это:

                                                                 xxx xxxx xx xxx:

                                                          xxx, xxxxxxx xxxxx xxx.

Какой текст не подходит для показа !!!!!!!!!!!!!! Какого черта проблема ":" двоеточие и "." период идет не с той стороны. У меня была головная боль от этой проблемы, которую я уже давно пытаюсь решить. Поэтому, пожалуйста, помогите !!!

С наилучшими пожеланиями;

1 Ответ

1 голос
/ 04 июня 2011

Я не думаю, что есть способ автоматически форсировать расположение справа налево. Однако вы можете создать метод, который обратит ваш текст. Это прочитает каждый символ и поместит его в изменчивую строку. Быстрый поиск придумал это:

-(NSString *) reverseString
{
  NSMutableString *reversedStr;
  int len = [self length];

  // Auto released string
  reversedStr = [NSMutableString stringWithCapacity:len];     

  // Probably woefully inefficient...
  while (len > 0)
    [reversedStr appendString:
         [NSString stringWithFormat:@"%C", [self characterAtIndex:--len]]];   

  return reversedStr;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...