2010-02-10 41 views
1

我想從文件中加載轉換爲純文本的ASCII數字。我看了NSASCIIStringEncoding,但是當我運行它時,它只是返回我輸入的內容。Objective-C ASCII轉爲純文本

以下是我正在使用的代碼:

NSData *asciiData = [[myWords objectAtIndex:d] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
NSString *test = [[NSString alloc] initWithData:asciiData encoding:NSASCIIStringEncoding]; 

下面是一個例子:

ASCII字符串:117 32 119 97

預期輸出:Uは?

+1

作爲ASCII碼輸出的結果,你期望什麼是純文本 – Mark

+0

好吧,我期待這些數字代表的文本,但它沒有發生,我找不到答案,所以我在這裏問 –

+0

您需要將每個數字序列解析爲一個數字,然後將該數字序列作爲字符串輸出。 –

回答

2

根據對你的問題的評論,這聽起來像你的輸入文件看起來是這樣的:

65 66 67 

這在技術上是8個ASCII字符:對於數字的字符「6」,對於字符數字'5',字符爲空格''等

如果要將它們讀爲數字,然後輸出它們表示的ASCII字符,則應使用NSString的initWithContentsOfFile:讀取文件,然後使用NSScanner將這些字符序列轉換爲數字。然後,您可以直接輸出這些數字到一個文件中,鑄造他們爲char類型,產生的文件將是:

ABC 

你實際上並不需要聲明的是,數字是ASCII當你輸出的文件; ASCII是將文本數字序列解釋爲的系統。這是一個ASCII文件,憑藉它在使用文本編輯器打開時看起來正常。