package de.rtner.misc;

public class BinTools {
public static final String hex = "0123456789ABCDEF"; public BinTools() {
super();
} public static String bin2hex(byte[] arg5) {
String v0;
if(arg5 == null) {
v0 = "";
}
else {
StringBuffer v1 = new StringBuffer(arg5.length * );
int v0_1;
for(v0_1 = ; v0_1 < arg5.length; ++v0_1) {
int v2 = (arg5[v0_1] + ) % ;
v1.append("0123456789ABCDEF".charAt(v2 / & ));
v1.append("0123456789ABCDEF".charAt(v2 % & ));
} v0 = v1.toString();
} return v0;
} public static int hex2bin(char arg3) {
int v0;
if(arg3 < || arg3 > ) {
if(arg3 >= && arg3 <= ) {
return arg3 - ;
} if(arg3 >= && arg3 <= ) {
return arg3 - ;
} goto label_20;
}
else {
v0 = arg3 - ;
} return v0;
label_20:
throw new IllegalArgumentException(new StringBuffer().append("Input string may only contain hex digits, but found \'")
.append(arg3).append("\'").toString());
} public static byte[] hex2bin(String arg5) {
int v0 = ;
if(arg5 == null) {
arg5 = "";
}
else if(arg5.length() % != ) {
arg5 = new StringBuffer().append("").append(arg5).toString();
} byte[] v2 = new byte[arg5.length() / ];
int v1 = ;
while(v1 < arg5.length()) {
int v3 = v1 + ;
char v4 = arg5.charAt(v1);
v1 = v3 + ;
v2[v0] = ((byte)(BinTools.hex2bin(arg5.charAt(v3)) + BinTools.hex2bin(v4) * ));
++v0;
} return v2;
} public static void main(String[] arg5) {
int v4 = ;
int v0 = ;
byte[] v3 = new byte[v4];
byte v1;
for(v1 = ; v0 < v4; v1 = ((byte)(v1 + ))) {
v3[v0] = v1;
++v0;
} String v0_1 = BinTools.bin2hex(v3);
if(!v0_1.equals(BinTools.bin2hex(BinTools.hex2bin(v0_1)))) {
throw new AssertionError("Mismatch");
}
}
}

BinTools 十六进制转换的更多相关文章

  1. Java 二进制与十六进制转换

    Java 二进制与十六进制转换 二进制转换十六进制 /** * @description 将二进制转换成16进制 * * @param buf * @return */ public static S ...

  2. PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

    PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载   中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...

  3. C# 十进制和十六进制转换

    转至:http://www.cnblogs.com/fwind/archive/2012/04/13/2445380.html 在C#中,十进制和十六进制转换非常简单,方法如下: 十进制转为十六进制: ...

  4. 用Linux/Unix命令把十六进制转换成十进制(转)

    那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...

  5. PHP:第一章——PHP中十进制、二进制、八进制、十六进制转换

    //十进制.二进制.八进制.十六进制转换 //十进制转换为二进制decbin()函数: //echo decbin(5);//输出:101 //十进制转换为八进制decoct()函数 //echo d ...

  6. C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方

    #include <stdio.h> /* 十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方: 在16进制中:a(A)=10 b(B)=11 c(C)=12 d(D)= ...

  7. delphi 十进制十六进制转换

    delphi有提供十进制转换成十六进制的函数: IntToStr();   返回值为String // 十进制转十六进制 var i: integer; str: string; begin i := ...

  8. PHP函数十进制、二进制、八进制和十六进制转换

    PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发. 一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin ...

  9. Java中十六进制转换 Integer.toHexString()

    为了显示一个byte型的单字节十六进制(两位十六进制表示)的编码,请使用: Integer.toHexString((byteVar & 0x000000FF) | 0xFFFFFF00).s ...

随机推荐

  1. 多线程---静态同步函数的锁是class(转载)

    /** 如果同步函数被静态修饰,那么他的锁就是该方法所在类的字节码文件对象 类名.class 静态进内存时,内存中没有本类对象,但是一定有该类对应的字节码文件对象. 该对象就是:类名.class   ...

  2. 关于MTK平台SIM-ME Lock的配置方案

    针对一些运营商的锁网需求,MTK平台已经对其有很好的支持.绝大多数的海外需求可以通过直接配置相关文件来完成.这里简单描述一下配置方法,不做原理分析. 相关数据结构分析: Modem中与SML锁网配置相 ...

  3. 2015 Multi-University Training Contest 7

    1001 Game On the Tree 1002 Tree Maker 1003 Hotaru's problem Manacher处理好p数组. 暴力举一下公共串即可. # include &l ...

  4. 。◕‿◕。TMD

    。◕‿◕。TMD TimeLimit: 2000/1000 MS (Java/Others)  MenoryLimit: 32768/32768 K (Java/Others) 64-bit inte ...

  5. photoshop的页面制作练习1

  6. WEB组件 开发 (未完成 4-13)

    整理自真阿当的阿当大话西游之WEB组件,课件中的代码下载. 14. 抽出widget类 组件分两大类: utility(大部分与UI无关的组件) 和 widget(应用层,大部分与UI相关的,日历组件 ...

  7. input type="file" 的一些问题

    file可以上传文件,但通常 情况下大家都会需要设置文件上传的格式 上传文件的格式由一个 accept 属性来控制 列如: <input type="file" id=&qu ...

  8. 转:JMeter基础--逻辑控制器Logic Controller

    1.ForEach控制器 ForEach控制器在用户自定义变量中读取一系列相关的变量.该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值.所以ForEach总是和User Defin ...

  9. HDU 3410 Passing the Message

    可以先处理出每个a[i]最左和最右能到达的位置,L[i],和R[i].然后就只要询问区间[ L[i],i-1 ]和区间[ i+1,R[i] ]最大值位置即可. #include<cstdio&g ...

  10. c语言_头文件

    传统 C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include <assert.h> //设定插入点 #include <ctyp ...