比如a.txt文本内容为:
要将这些数据当做十六进制数写到二进制文件test.yuv里,如此操作:
#!/usr/bin/perl
open(RFP,"a.txt") || die;
open(WFP,">test.yuv") || die;
while(<RFP>) {
while(/(\w+)/g) {
$yuv_data = $1;
$hex_yuv = pack("H*",$yuv_data);
print WFP $hex_yuv;
}
}
执行后结果为(用UE打开,十六进制显示方式):
如果是直接将数据打印,而不是从文本读入,类似操作,
$yuv_data = '2b';
$hex_yuv = pack("H*",$yuv_data);