0

私の問題はこれです:

「HEX」値の表現を含む NSString (ユーザーから) を取得したいと思います。

NSString * stringHEX = @"FF00";    //User provided "HEX" as an NSString

...次に、これらの正確な値を NSData オブジェクトに挿入したいと思います。これは私が問題を抱えているところです。「dataUsingEncoding」を使用すると、NSString からの情報が NSString 情報の HEX 値に変換されます

NSString * stringHEX = @"FF00";
NSData * dataToSend;
dataToSend = [[NSData alloc] initWithData:[stringHEX dataUsingEncoding:NSUTF8StringEncoding]];

dataToSend には、「FF00」ではなく「46463030」が含まれるようになりました。なぜこれが起こっているのか理解しています-エンコーディングを介して NSString 値を独自のHEX表現にエンコードしているため..しかし、その文字列を直接取得する方法がわかりません... PUZZLED

私は多くの異なるバリエーションを試しました。何も機能していないようです。次のようにして、必要な値を NSData に取得できます。

Byte dataBytes[] = {0xFF,0x00};
NSData * dataToSend;
dataToSend = [[NSData alloc] initWithBytes:dataBytes length:2];

それは機能し、NSData「FF00」に期待するものをロードします。

ただし、ユーザー入力を NSString として取得し、それを NSData オブジェクトに変換する必要があります....

任意の提案をいただければ幸いです。

4

0 に答える 0