ここにかなり新しいiPhone開発者。TCP/IPソケット接続を介してRS232コマンドを予期しているデバイスにRS232コマンドを送信するアプリを構築します。通信部分がダウンしているので、ASCIIコマンドを正常に送信できます。それは私が問題を抱えている16進コードコマンドです。
したがって、(この形式で)送信する次の16進データがあるとします。
\ x1C \ x02d \ x00 \ x00 \ x00 \ xFF \ x7F
これを、sendメソッドが期待するNSDataオブジェクトに変換するにはどうすればよいですか?
明らかに、これはこの16進データでは機能しません(ただし、標準のASCIIコマンドでは機能します)。
NSString *commandascii;
NSData *commandToSend;
commandascii = @"\x1C\x02d\x00\x00\x00\xFF\x7F";
commandToSend = [commandascii dataUsingEncoding:NSStringEncoding];
まず、\ x 16進コードの一部はエスケープ文字であり、XCodeでコンパイルすると「入力変換が停止しました...」という警告が表示されます。また、NSStringEncodingは、明らかにこの16進文字列にも適していません。
したがって、最初の問題は、私が推測するこの16進文字列を格納する方法、次にNSDataに変換する方法です。
何か案は?