现有一编码过的文件,内容如下 :
number1    ?     number2???(请注意:这里面的???在UE中都是可以看到相应的16进制的(如<80><0A>,只是转换后的ASCII字符是不显示的而已),现读在已将其用$line=<FILE>;读到$line中。
请教问题如下:
: 一、如何将以上数据放到一数组中,要求:如果是number1这样可以显示的ASCII码,则不作转换;如果是???这样的16进制数就转换成800A这样的16进制数?(我@array=unpack("H*",$line); 或是@array=unpack("U",$line)都只能得到全部是16进制或全部是ascii码的数组)二、用@array=unpack("H*",$line)得到的16进制全部存放到@array[0]中了,现在希望能够分别存放到@array的每一个序列中去,如@array[0]=80,@array[1]=0A,而不是@array[0]=800A,@array[1]="",该怎么做?
或者是不是可以用split来分隔?因为我现在用[code]@array=split(//,@array[0])[/code]时发现得到的结果是@array[0]=8;@array[1]=0;@array[2]=0;@array[3]=A,应该是两位一组的结果现在却变成了一位一组了。以上问题请帮忙解答,谢谢!