0

私は一週間私の問題を解決しようとしましたが、唯一の希望はあなたです! ユーザーから uitextview 経由で文字列を受け取り、次のコードを使用してキャストします。

unsigned char* pAr = [myuitextview.text UTF8string];

次に、いくつかの作業の後、次のコードを使用して、結果の pAr を myuitextview に表示したいと思います。

Myuitextview.text = [NSString stringWithUTF8string:pAr];

その結果、空白の myuitextview が表示されます。調査の結果、stringWithUtf8string が返されることがわかりnilましたが、utf8 で受け取り、utf8 で作成し直しました。次に、UTF8stringもnilを返すことを発見しました。また、utf8string メソッドによって返される const char* の代わりに unsigned char* を使用すると発生することも発見しました。const char* を受け取ると、ac 文字列が返されますが、unsigned char* を試すと nil が返されます。

stringwithutf8string の後の null の理由は何ですか? 私が理解しているように、Unsigned char * と const char* は安全なキャストですか?

4

2 に答える 2

1

unsigned char を NSString に簡単に転送することはできません

これを試してみてください

NSString* s = [[NSString alloc] initWithBytes:pAr length:sizeof(pAr) encoding:NSASCIIStringEncoding];
于 2013-09-08T19:13:16.943 に答える