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. Vultr VPS测试IP $5/月KVM-512MB/15G SSD/1T

    vultr主要卖点是:SSD硬盘.超低价格.全球13个机房.10Gb服务器带宽.3GHz CPU.性能优异.vultr vps详细评测可参考这篇文章. 以下是vutlr vps官方提供的测试IP地址: ...

  2. NOIP2011-普及组复赛-第一题-数字反转

    题目描述 Description 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2).  输入 ...

  3. "urllib"库的学习

    在习题—41遇到这个模块/库, 有兴趣的参考下面这个网址: http://blog.sina.com.cn/s/blog_b369b20d0101kb7m.html # coding: utf-8 i ...

  4. go语言实现寻找最大子数组

    题目:给定一个数字序列,寻找其中各元素相加和最大的子数组 /* 寻找最大子数组go语言实现 */ package main import fmt "fmt" func main() ...

  5. Tomcat 启动报错:javax.naming.NamingException: No naming context bound to this class loader

    分析原因:在类中使用了Log .只是在项目lib路径下添加了slf4 的jar包,在Tomcat\lib下未添加 解决方案:将slf4的jar包放到tomcat\lib下.

  6. 2.3 DHC REST

    DHC REST也是Chrome浏览器的插件,可以在Chrome应用商店安装下载,主要用来模拟HTTP客户端发送测试数据到服务器.HTTP Get请求在开发中比较常用.

  7. mac xmind快捷键

    tab:新建分支 command +z : 撤销 command + "+":放大 command + "-":缩小 shift + enter : 文字换行

  8. split分割字符串时的一些特殊分隔符

    @Test public void testSplit() { String address = "上海.上海市.闵行区.吴中路"; String[] splitAddress = ...

  9. CocoaPods安装、卸载、使用说明(Mac ox 10.11+)

    一.全新安装前,先检查是否有安装残留 由于Mac 10.11更改了安全机制,所以cocoapods得安装和卸载命令也有所改变, 1.如果之前装过cocopods,最好先卸载掉,卸载命令: $ sudo ...

  10. VBS常用使用技巧

    (一)VBS常用函数使用笔记: 1.Msgbox语法:msgbox "对话框内容", , "对话框的标题" 2.inputbox是VBS内建的函数,可以接受输入 ...