2017-11-08 8 views
0

を働いていません。絵文字cStringUsingEncodingは、私は、データの配列を持っている

しかし、私は、文字列に変換してみてください。

string = [MY_ARRAY componentsJoinedByString: @"&"]; 

の端子で出力を示しています。

email="My_Email_ID"&message=&key="MY_KEY"&id="MY_ID" 

は、なぜそれが絵文字に戻って変換されますか?私が直面しています

問題は、このラインである:

const char *charData = [string cStringUsingEncoding:NSASCIIStringEncoding]; 

私はnullをここに取得していますと。線の下に変更

答えて

0

const char *charData = [string cStringUsingEncoding:NSUTF8StringEncoding]; 

const char *charData = [string cStringUsingEncoding:NSASCIIStringEncoding]; 

は私の問題を解決しました。

ありがとうございましたforumです。

可能な限り、UTF8以外のものは使用しないでください。 NSASCIIStringEncodingは、文字列にASCII以外の文字がある場合はいつでも破棄(NULLを返します)します。リスクを取る理由はありません。 cStringUsingEncodingのみを使用してください:実際に何らかの奇妙な理由があっても、その特定のエンコーディングで文字列が必要な場合。 NSLogはUTF8文字列を期待しているので、UTF8のサブセットではないエンコーディングは奇妙な結果を生成します。