0

16 進コマンドを Bluetooth プリンターに送信しようとしています。文字の 1 つは、渡すことができるデータのサイズを決定します。文字列は次のとおりです。

@"\x1d\x28\x6b\xff\x00\x31\x50\x30\x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20 \x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20\x70\x6f\x6f \x70\x79\x20\x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20 \x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72 \x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20\x70\x6f\x6f\x70\x79\x20\x66\x61\x72\x74\x20\x70 \x6f\x6f\x70\x79\x2e\x2e\x2e\x2e"

これを行うと、タイトルにエラーが表示されます。その理由は、UTF-8 のコードセットの外側にある ff (最初の行 - 16 文字) を渡しているためです。これをコードセットにある 7f に設定すると、すべて正常に動作します。

いくつかの異なることを試しましたが、この問題を修正できません。

4

1 に答える 1

2

コードを次のように変更します。

uint8_t bytes[] = { 0x1d, 0x28, 0x6b, 0xff, 0x00, 0x31, 0x50, 0x30, 0x66, ... };
NSData *data = [[NSData alloc] initWithBytes:bytes length:sizeof(bytes)];

NSDataこれで、 を使用して hex コマンドを送信できます。

于 2013-03-07T02:33:38.657 に答える