0

バイトに変換する必要がありNSStringます-tcpで送信します。

 NSString *dataS= @"ran"; // is in byte  114 97 110 

しかし、を使用しNSDataて変換する場合(複数のNSDataを追加しているため、最後にNSDataとして必要です):

NSData *requestData = [dataS dataUsingEncoding:NSUTF8StringEncoding];

私は:<72616e>ソリューションをログに記録するときに取得します。そしてそれは真実ではありません。私はおそらくここで何かが欠けています。

[ToSend characterAtIndex:k]を使用して変換すると、整数が得られます-変換にNSDataを使用したいと思います。どうすればいいですか?

4

2 に答える 2

3

文字列を正しい方法で変換します。requestData3バイトが含まれています。出力では、これらのバイトは16進数として表示されます。16進数の72は10進数の114、16進数の61は10進数の97、16進数の6eは10進数の110です。

バイトを下位レベルのメソッドに渡すには、を呼び出すことでデータの長さを取得し、を呼び出すこと[requestData length]でバイトへのポインターを取得できます[requestData bytes]

于 2013-03-06T10:14:03.200 に答える
0

あなたはそれを正しくやっています、それはロガーが出力のためにそれをフォーマットする方法であるため、ロギングはそれをそのように示しています、それだけです。

114 97110バイト単位は16進数で<72616e>です。

于 2013-03-06T10:12:52.490 に答える