次のように送信するために変数を16進数として表現するにはどうすればよいですか-
a='00'
write("\x#{a}") => 0x00
受信した文字列変数を生データのコマンド文字列に含めて、次のようにcomポートに渡そうとしています-
cmd="\x45\x#{a}\x01"
Send(cmd)
ルビーで
ありがとう
String#to_i関数は base 引数を取ります。デフォルトは 10 ですが、代わりに 16 を渡すことができます。これにより、必要な数値が文字列ではなく数値として取得されます。そこから、Integer#chr関数を使用して、必要な値 (元の文字列で表されるバイナリ値を持つ文字を含む文字列) を取得できます。