BinTools 十六进制转换
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 十六进制转换的更多相关文章
- Java 二进制与十六进制转换
Java 二进制与十六进制转换 二进制转换十六进制 /** * @description 将二进制转换成16进制 * * @param buf * @return */ public static S ...
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载 中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...
- C# 十进制和十六进制转换
转至:http://www.cnblogs.com/fwind/archive/2012/04/13/2445380.html 在C#中,十进制和十六进制转换非常简单,方法如下: 十进制转为十六进制: ...
- 用Linux/Unix命令把十六进制转换成十进制(转)
那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了. 先列两种简单的方法: 1) echo 自己就能 ...
- PHP:第一章——PHP中十进制、二进制、八进制、十六进制转换
//十进制.二进制.八进制.十六进制转换 //十进制转换为二进制decbin()函数: //echo decbin(5);//输出:101 //十进制转换为八进制decoct()函数 //echo d ...
- C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方
#include <stdio.h> /* 十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方: 在16进制中:a(A)=10 b(B)=11 c(C)=12 d(D)= ...
- delphi 十进制十六进制转换
delphi有提供十进制转换成十六进制的函数: IntToStr(); 返回值为String // 十进制转十六进制 var i: integer; str: string; begin i := ...
- PHP函数十进制、二进制、八进制和十六进制转换
PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发. 一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin ...
- Java中十六进制转换 Integer.toHexString()
为了显示一个byte型的单字节十六进制(两位十六进制表示)的编码,请使用: Integer.toHexString((byteVar & 0x000000FF) | 0xFFFFFF00).s ...
随机推荐
- Chapter 15_2 编写模块的基本方法
在Lua中创建一个模块最简单的方法是:创建一个table. 并将所有需要导出的函数放入其中,最后返回这个table. 下例中的inv声明为程序块的局部变量,就是将其定义成一个私有的名称: local ...
- jQuery控制表格行移动,序号不变
@model Gd.NetSign.Controllers.DTO.SysPamaterDTO @{ ViewBag.Title = "SysPamatList"; //Layou ...
- ubuntu 12.04添加桌面启动器
Ubuntu 12.04版本上,无法通过桌面右键菜单建立应用程序启动器:这里参考一个网上方法进行了建立: ubuntu 12.04中,每个应用程序启动器都对应 /user/share/applicat ...
- tomcat配置多个虚拟主机
先修改默认端口(8080),http的默认端口是80,我们将8080改成80,这样域名就不用带上端口了 修改conf文件夹下的server.xml文件 添加多个主机(以下三个主机对应三个域名,三个域名 ...
- Jenkins - 持续集成环境搭建【转】
1. Jenkins 概述 Jenkins是一个开源的持续集成工具.持续集成主要功能是进行自动化的构建.自动化构建包括自动编译.发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件. 2 ...
- 使用gulp构建nodejs,你只需要记住5个函数
gulp gulp是一个nodejs的streaming构建工具,所谓的streaming大致意思就是把构建流程想成一个个链接的管道(pipe). 为什么要这样做呢? 要解释原因,就不得不提到unix ...
- 一些常见warning的原因和解决方法
在入职三周后,终于赶齐了接手项目落下两个月的项目,有了一些自己的空闲时间对项目进行整理.主要整理包括类目的整合,从原来一个系统文件夹下几百个文件整改为以MVC设计思想为原则的分文件夹整理类目,井然有序 ...
- php 分页类(3)
<?php class Page { private $total; //总记录 private $pagesize; //每页显示多少条 private $limit; //limit pri ...
- python_变量的命名规则
python 变量的命名规则: 1. 要具有描述性 2.变量名只能由 数字,字母 ,下划线 组成,不可以是空格或者特殊字符(#!%……&) 3.不能以数字开头 4.保留字符不可用(print ...
- Android:assests和raw的区别
转自:http://www.cnblogs.com/lianghui66/p/3248636.html ------------------------------------------------ ...