16进制ascii码转化为对应的字符,付ipmitool查询硬件信息
最近工作需要在用ipmitool查询服务器硬件信息。ipmitool查询硬件信息
比如电源,使用命令:
获取PSU0信息:Ipmitool raw 0x3a 0x71 0x00:
获取PSU1信息:Ipmitool raw 0x3a 0x71 0x01:
但是得到的信息是这样的:

完全没有可读性,这些数字是16进制的ascii,平时我们看到的ascii都是10进制的,0—255,这里转化成16进制了。
想要知道对应的信息,刚开始想着要先把16进制转化为10进制,在转化成对应的ascii字符,网上找了之后发现完全没必要。
方法一:python中有一个方法:decode ,该 方法允许以指定的编码格式解码字符串。可以这样如图:

这样就能够把16进制转化成ascii了,具体用法百度吧。不过此方法因为有反斜杠,容易导致python的反斜杠陷阱。
方法二:
a='4d'
binascii.a2b_hex(a)
也能够转化成对应的字符。使用该方法前首先导入binascii模块:import binascii
另外上面ipmi输出的信息对应表如下:
|
位置(从0开始) |
长度 |
数据格式 |
文字描述 |
实例解析 |
|
第0位 |
1 |
16进制整数 |
电源编号 |
解析前:00 - PSU0 解析后:(01: PSU1) |
|
第2位 |
1 |
16进制整数 |
电源状态 |
00 -正常 |
|
第21-28位 |
8 |
字符串(ASCII) |
版本 |
解析前:30 2e 32 35 30 00 00 00 解析后:-0.250 |
|
第29-44位 |
16 |
字符串(ASCII) |
电源型号 |
44 50 53 2d 31 36 30 30 41 42 2d 37 20 41 00 00 -DPS-1600AB-7 A |
|
61-76 |
16 |
字符串(ASCII) |
SN序列号 |
解析前:48 47 41 41 41 34 34 35 30 30 30 30 33 34 00 00 解析后:-HGAA1445000034 |
16进制ascii码转化为对应的字符,付ipmitool查询硬件信息的更多相关文章
- 字符串/16进制/ASCII码的转换
1 /// <字符串转16进制格式,不够自动前面补零> 2 /// 假设文本框里面填写的是:01 02 03 04 05 06 3 /// Str获取的是01 02 03 04 05 06 ...
- C++ 10进制, 16进制, ASCII码, 单字节与多字节的相互转换
这些简单的转换是用的比较频繁的, 因此将这些功能全部封装在一个类中 头文件 #pragma once #include <stdlib.h> #include <string> ...
- [参考]ASCII对照表 及 字符与二进制、十进制、16进制之间的转化(C/C++)
第1节 ASCII码对照表 1.1 ASCII控制字符 1.2 ASCII可显示字符 第2节字符的进制转换 2.1 获取字符(8位)的上四位和下四位 2.2 获取字符(上表中的‘图形’)所对应的十六进 ...
- ASCII码与16进制的互相转换(表)
所谓的ASCII和16进制都只是概念上的东西,在计算机中通通是二进制 转换应该是输出的转换,同样是一个数,在计算机内存中表示是一样的,只是输出不一样ASCII是针对字符的编码,几乎是键盘上的字符的编码 ...
- ASCII和16进制
所谓的ASCII和16进制都只是概念上的东西,在计算机中通通是二进制 转换应该是输出的转换,同样是一个数,在计算机内存中表示是一样的,只是输出不一样ASCII是针对字符的编码,几乎是键盘上的字符的编码 ...
- SQLSERVER 16进制转10进制
原码.补码.反码参考: http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html 进制转换参考: http://ww ...
- Java中byte与(16进制)字符串的互相转换
java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16 ...
- 字节流、字符串、16进制字符串转换__Java(转)
/** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转换 * @author:xk * @date:Ja ...
- 【转】iOS中16进制转10进制
原文网址:http://www.voidcn.com/blog/u012198553/article/p-4976772.html /// 将十六进制的字符串转化为NSData - (NSData ) ...
随机推荐
- CDH安装
离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程 关于CDH和Cloudera Manager CDH (Cloudera's Distribution, incl ...
- BeautifulSoup 的用法
转自:http://cuiqingcai.com/1319.html Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python ...
- js cookie 数组 存读
自己研究了一下. "Cookie里面只能放String 类型" 所以只能将arr的数据按照自己的约定转成string格式存进cookie. 这里提示一下cookie是存在本地浏览器 ...
- <<< 判断提交方式是get还是post
if("GET".equals(request.getMethod())){ System.out.println("提交方式是GET"); }else if( ...
- 介绍DSA数字签名,非对称加密的另一种实现
接下来我们介绍DSA数字签名,非对称加密的另一种实现. DSA DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS ...
- 什么是pe系统
Winpe全称 Windows Preinstall Environment,即“Windows 预安装环境”.是一个用于Windows 安装准备的最小操作系统. 基于保护模式下运行Windows X ...
- Apache与Tomcat服务器
Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.在Apache基金会里面Apache S ...
- centos 软件包安装与管理
http://rpmfind.net/linux/RPM/index.html http://pkgs.org/ https://sourceforge.net/
- JVM大端判断
JVM采用大端方式存多字节的数据,判断方法如下: public static void bytesToInt() throws IOException { /** * 将字节数组(byte[])转为整 ...
- JAVA中获取当前系统时间及格式转换
JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; publi ...