博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
阅读量:5057 次
发布时间:2019-06-12

本文共 1404 字,大约阅读时间需要 4 分钟。

本文转载 http://www.cnblogs.com/chengmo/archive/2010/10/14/1851570.html ,感谢作者!

shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.以0x 开头就是16 进制数.使用 BASE#NUMBER 这种形式可以表示其它进制.BASE值:2-64.

 

使用方法:

  • 其它进制转为10进制

八进制转十进制:

[chengmo@centos5 ~]$ ((num=0123));

[chengmo@centos5 ~]$ echo $num;
83

[chengmo@centos5 ~]$ ((num=8#123));

[chengmo@centos5 ~]$ echo $num;    
83

((表达式)),(())里面可以是任意数据表达式。如果前面加入:”$”可以读取计算结果。

十六进制转十进制:

[chengmo@centos5 ~]$ ((num=0xff)); 

[chengmo@centos5 ~]$ echo $num;    
255
[chengmo@centos5 ~]$ ((num=16#ff));
[chengmo@centos5 ~]$ echo $num;    
255

base-32转十进制:

[chengmo@centos5 ~]$ ((num=32#ffff));

[chengmo@centos5 ~]$ echo $num;      
507375

base64转十进制:

[chengmo@centos5 ~]$ ((num=64#abc_)); 

[chengmo@centos5 ~]$ echo $num;       
2667327

二进制转十进制

[chengmo@centos5 ~]$ ((num=2#11111111));  

[chengmo@centos5 ~]$ echo $num;
255

 

  • 十进制转为其它进制 (本章节有误,特此提示!)

十进制转八进制

这里使用到:bc外部命令完成。bc命令格式转换为:echo "obase=进制;值"|bc

[chengmo@centos5 ~]$ echo "obase=8;01234567"|bc

4553207

二进制,十六进制,base64转换为 十进制也相同方法。

[chengmo@centos5 ~]$ echo "obase=64;123456"|bc  

30 09 00

 

shell,内置各种进制表示方法非常简单。记得base#number 即可。这里记得赋值时候用(())符号。不能直接用=号了。=号没有值类型。默认将后面变成字符串了。如:

[chengmo@centos5 ~]$ num=0123;

[chengmo@centos5 ~]$ echo $num;
0123

0开头已经失去了意义了。

可以通过定义符:let达到(()) 运算效果。

[chengmo@centos5 ~]$ let num=0123;

[chengmo@centos5 ~]$ echo $num;   
83

转载于:https://www.cnblogs.com/guxuanqing/p/5470085.html

你可能感兴趣的文章
简化通知中心的使用
查看>>
SpringMVC的@Validated校验注解使用方法
查看>>
Python之os模块
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
springmvc进阶
查看>>
[BZOJ4561][JLOI2016]圆的异或并(扫描线)
查看>>
【蓝桥杯】PREV-21 回文数字
查看>>
通过Canvas及File API缩放并上传图片完整演示样例
查看>>
java序列化的机制与原理
查看>>
Intellij IDEA15: 带着参数 运行
查看>>
lua在C/C++中使用table生成对应键及值
查看>>
提取所有汉字
查看>>
公司技术需求备忘录
查看>>
C#发送邮件
查看>>
MySQL系列
查看>>
C++ STL容器之 stack
查看>>
奶牛易物-Alpha版本测试报告
查看>>
css选择器中:first-child与:first-of-type的区别
查看>>
高效、易用、功能强大的 api 管理平台
查看>>
windows启动/禁用telnet/IIS/ftp/IE等服务
查看>>