从UTF-8文本文件中读取阿拉伯文本?

时间:2011-04-12 07:16:01

标签: uitextview

亲爱的, 尝试从给定文件中读取“阿拉伯语文本”时,我遇到了一个奇怪的(愚蠢的)问题。我们假设我有一个名为TEXT.txt的文本文件,它编码为UTF-8,看起来像这样(阿拉伯语文本来自RightToLeft):

                                                                 :xxx xxxx xx xxx

                                                          .xxx, xxxxxxx xxxxx xxx

当我尝试使用

在Xcode中读取TEXT.txt时
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模拟器和设备上显示:

                                                                 xxx xxxx xx xxx:

                                                          xxx, xxxxxxx xxxxx xxx.

哪个不是正确的文字显示!!!!!!!!!!!!!!什么是“:”冒号和“。”的问题。期间走错了方向。我对这个问题很头疼,因为我已经尝试解决了很长时间。所以请帮助!!!

最诚挚的问候;

1 个答案:

答案 0 :(得分:1)

我认为没有办法自动强制从右到左布局。但是,您可以创建一个可以反转文本的方法。这将读取每个字符并将其放入可变字符串中。快速搜索出现了这个:

-(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;
}