2011-11-10 25 views
2

剛剛注意到這一點,並且想提及它。如果有人看到這個問題和/或在那裏不停地把它固定它,將不勝感激......NSData + Base64.m中的initWithBase64EncodedString問題

在日常

outbuf [2] = ((inbuf[2] & 0x03) << 6) | (inbuf[3] & 0x3F); 

線自從INBUF只有3項指標有問題。我還沒有詳細說明代碼,可能要在不久的將來。只要看看這個問題是否已經解決了,但是我看到的所有版本的代碼都有這個問題。

unsigned char inbuf[3], outbuf[4]; 

在此先感謝

回答

1

讓它INBUF [4]

它不會崩潰,因爲你是在32位系統上,所以它會給你從那裏一個int和分裂。

+0

那麼,我沒有時間看alg,這對alg是否正確?我同意32/64位系統可能會好,但需要看看這是否正確的ALG。我會盡量花一些時間,並向自己證明,這將是好的。 – ort11

+0

您將四個字節讀入該數組。由於該項目將變成一個四字節的int,所以它沒有產生不好的結果,並且沒有索引超出範圍,因爲整個int被賦予該大小。 要刪除警告,只需將inbuf調整爲inbuf [4],以便在outbuf上進行一對一匹配。希望這可以幫助! – Nico