Chinaunix

标题: 如何将字符串转成数值? [打印本页]

作者: fwm1981    时间: 2008-01-30 18:33
标题: 如何将字符串转成数值?
比如:
#echo "49"| _______  > tmp
#od -An -tx1 tmp
31 00 00 00

谁能完成这道填空题,谢谢!!!

[ 本帖最后由 fwm1981 于 2008-1-30 18:35 编辑 ]
作者: fwm1981    时间: 2008-01-30 18:37
当然,不要搞这种:
echo "49" | xargs -i printf "1"  > tmp

我是希望得到一个通用的转换办法.
作者: fwm1981    时间: 2008-01-31 08:14
顶~~~~~~~~~~~~
作者: fwm1981    时间: 2008-01-31 08:28
坛中高人今何在,
楼顶空白空自悬.
作者: li2002    时间: 2008-01-31 08:52
echo "49"|awk '{printf("%c",$1)}'|od -An -tx1
这样不行吗??
作者: fwm1981    时间: 2008-02-01 08:24
哈,毕竟深山藏猛虎,
是的,这样是可行的:

echo "49"|awk '{printf("%c%c%c%c",$1/0x1000000,$1/0x10000,$1/0x100,$1)}' > tmp

很好,非常感谢!

那还有没有更简单点的办法呢?
作者: zhaoqinghu    时间: 2008-02-01 09:43
标题: 回复 #1 fwm1981 的帖子
很简单
,加0就可以完成自动转化,哈哈
aa=`expr "49" + 0 `
作者: woodie    时间: 2008-02-01 09:59
perl -ne 'print chr($_), "\0"x3'
作者: fwm1981    时间: 2008-02-01 18:22
标题: 回复 #7 zhaoqinghu 的帖子
感谢回复!

但是如何将其存到tmp中呢?
我这样干是错的:
aa=`expr "49" + 0 `; echo -n $aa > tmp
得到的是
od -An -tx1 tmp
34 39
作者: fwm1981    时间: 2008-02-01 18:32
标题: 回复 #8 woodie 的帖子
似乎不是我说的那个功能.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2