アプリ版:「スタンプのみでお礼する」機能のリリースについて

$_=pack("C",0x61).pack("C",0x62).pack("C",0x68)...
こういったバイナリ文字列をもっと簡単に$_=0x61.0x62.0x68のように書けませんか?
$_=0x61.0x62.0x68ではうまくいきませんでした。

A 回答 (4件)

1行でできます。


$_=pack("C*",0x61,0x62,0x68);

参考URL:http://polaris.isc.nipr.ac.jp/~yama/jare43/tohoh …
    • good
    • 0
この回答へのお礼

助かりました。変なのがついてたので。

お礼日時:2003/12/26 00:25

$_ = "\x61\x62\x68";


でいいような気も。
    • good
    • 0

1行では出来ませんが


$moji = "4142313261";
$data = pack("H" . length ($moji),$moji);
ではどうでしょうか。
print "<$data>\n";
で結果を確認して下さい
    • good
    • 0

例えば↓とか、


print chr(0x61).chr(0x62).chr(0x63);

長いバイナリなら 0x も省略して↓ではどうでしょう。
@str = ('61','62','63');
foreach (@str) {print pack('C',hex($_));}

生バイナリなら binmode STDOUT なども指定する必要があるかも。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!