javahexutil的简单介绍

博主:adminadmin 2023-01-03 23:36:11 1001

今天给各位分享javahexutil的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA 将8位16进制数拆开分别写进byte数组里面

int hex = 0xffaa1234;

byte[] a = new byte[4];

a[3] = (byte) hex;

a[2] = (byte) (hex8);

a[1] = (byte) (hex16);

a[0] = (byte) (hex24);

for (byte b : a) {

    System.out.printf("%x\n", b);

}

java 16进制字符串怎么转换成10进制字符串

toHexString

public static String toHexString(int

i)以十六进制的无符号整数形式返回一个整数参数的字符串表示形式。

如果参数为负,那么无符号整数值为参数加上

232;否则等于该参数。将该值转换为十六进制(基数 16)的无前导 0 的 ASCII 数字字符串。如果无符号数的大小值为零,则用一个零字符 '0'

('\u0030') 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。用以下字符作为十六进制数字:

0123456789abcdef

这些字符的范围是从 '\u0030' 到 '\u0039' 和从 '\u0061' 到 '\u0066'。如果希望得到大写字母,可以在结果上调用

String.toUpperCase() 方法:

Integer.toHexString(n).toUpperCase()

参数:

i

- 要转换成字符串的整数。

返回:

用十六进制(基数 16)参数表示的无符号整数值的字符串表示形式。

// 转化字符串为十六进制编码

public static String toHexString(String s)

{

String str="";

for

(int i=0;is.length();i++)

{

int ch = (int)s.charAt(i);

String s4

= Integer.toHexString(ch);

str = str + s4;

}

return str;

}

// 转化十六进制编码为字符串

public static String toStringHex(String s)

{

byte[] baKeyword = new byte[s.length()/2];

for(int i = 0; i

baKeyword.length; i++)

{

try

{

baKeyword[i] = (byte)(0xff

Integer.parseInt(s.substring(i*2, i*2+2),16));

}

catch(Exception e)

{

e.printStackTrace();

}

}

try

{

s = new

String(baKeyword, "utf-8");//UTF-16le:Not

}

catch (Exception e1)

{

e1.printStackTrace();

}

return s;

}

// 转化十六进制编码为字符串

public static String toStringHex(String s)

{

byte[] baKeyword = new

byte[s.length()/2];

for(int i = 0; i baKeyword.length; i++)

{

try

{

baKeyword[i] = (byte)(0xff

Integer.parseInt(s.substring(i*2, i*2+2),16));

}

catch(Exception e)

{

e.printStackTrace();

}

}

try

{

s = new

String(baKeyword, "utf-8");//UTF-16le:Not

}

catch (Exception e1)

{

e1.printStackTrace();

}

return s;

}

public static void

main(String[] args) {

System.out.println(encode("中文"));

System.out.println(decode(encode("中文")));

}

/*

* 16进制数字字符集

*/

private static String hexString="0123456789ABCDEF";

/*

*

将字符串编码成16进制数字,适用于所有字符(包括中文)

*/

public static String encode(String str)

{

//根据默认编码获取字节数组

byte[] bytes=str.getBytes();

StringBuilder

sb=new StringBuilder(bytes.length*2);

//将字节数组中每个字节拆解成2位16进制整数

for(int

i=0;ibytes.length;i++)

{

sb.append(hexString.charAt((bytes[i]0xf0)4));

sb.append(hexString.charAt((bytes[i]0x0f)0));

}

return

sb.toString();

}

/*

* 将16进制数字解码成字符串,适用于所有字符(包括中文)

*/

public

static String decode(String bytes)

{

ByteArrayOutputStream baos=new

ByteArrayOutputStream(bytes.length()/2);

//将每2位16进制整数组装成一个字节

for(int

i=0;ibytes.length();i+=2)

baos.write((hexString.indexOf(bytes.charAt(i))4

|hexString.indexOf(bytes.charAt(i+1))));

return new

String(baos.toByteArray());

}

第二种方法:

将指定byte数组以16进制的形式打印到控制台

复制代码

代码如下:

package com.nantian.iclient.atm.sdb;

public class Util {

public Util() {

}

/**

*

将指定byte数组以16进制的形式打印到控制台

* @param hint String

* @param b byte[]

*

@return void

*/

public static void printHexString(String hint, byte[] b)

{

System.out.print(hint);

for (int i = 0; i b.length; i++) {

String hex = Integer.toHexString(b[i] 0xFF);

if (hex.length() ==

1) {

hex = '0' + hex;

}

System.out.print(hex.toUpperCase() + " ");

}

System.out.println("");

}

/**

*

* @param b byte[]

* @return String

*/

public static String Bytes2HexString(byte[] b) {

String ret = "";

for (int i = 0; i b.length; i++) {

String hex

= Integer.toHexString(b[i] 0xFF);

if (hex.length() == 1) {

hex =

'0' + hex;

}

ret += hex.toUpperCase();

}

return ret;

}

/**

* 将两个ASCII字符合成一个字节;

* 如:"EF"-- 0xEF

* @param src0

byte

* @param src1 byte

* @return byte

*/

public static byte

uniteBytes(byte src0, byte src1) {

byte _b0 = Byte.decode("0x" + new

String(new byte[]{src0})).byteValue();

_b0 = (byte)(_b0 4);

byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();

byte ret = (byte)(_b0 ^ _b1);

return ret;

}

/**

*

将指定字符串src,以每两个字符分割转换为16进制形式

* 如:"2B44EFD9" -- byte[]{0x2B, 0x44, 0xEF,

0xD9}

* @param src String

* @return byte[]

*/

public static

byte[] HexString2Bytes(String src){

byte[] ret = new byte[8];

byte[] tmp

= src.getBytes();

for(int i=0; i8; i++){

ret[i] =

uniteBytes(tmp[i*2], tmp[i*2+1]);

}

return ret;

}

}

java怎么把16进制的数转换为10进制的

使用java.math.BigInteger

构造函数BigInteger(String val, int radix) : 将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。

new BigInteger("01040000000100000001010000005B94D910DE8F1E41ED66466", 16).toString()即可

java怎么将二进制转化成字符串

import java.io.UnsupportedEncodingException;

import java.util.Arrays;

/*

* String(byte[] bytes, String charsetName):通过指定的字符集解码字节数组

* byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码为字节数组

*

* 编码:把看得懂的变成看不懂的

* String -- byte[]

*

* 解码:把看不懂的变成看得懂的

* byte[] -- String

*

* 举例:谍战片(发电报,接电报)

*

* 码表:小本子

* 字符 数值

*

* 要发送一段文字:

* 今天晚上在老地方见

*

* 发送端:今 -- 数值 -- 二进制 -- 发出去

* 接收端:接收 -- 二进制 -- 十进制 -- 数值 -- 字符 -- 今

*

* 今天晚上在老地方见

*

* 编码问题简单,只要编码解码的格式是一致的。

*/

public class StringDemo {

public static void main(String[] args) throws UnsupportedEncodingException {

String s = "你好";

// String -- byte[]

byte[] bys = s.getBytes(); // [-60, -29, -70, -61]

// byte[] bys = s.getBytes("GBK");// [-60, -29, -70, -61]

// byte[] bys = s.getBytes("UTF-8");// [-28, -67, -96, -27, -91, -67]

System.out.println(Arrays.toString(bys));

// byte[] -- String

String ss = new String(bys); // 你好

// String ss = new String(bys, "GBK"); // 你好

// String ss = new String(bys, "UTF-8"); // ???

System.out.println(ss);

}

}

Java 二进制转换16进制

import java.util.Scanner;

public class Binary2Hex {

private static String hexStr = "0123456789ABCDEF";

/**

*

* @param bytes

* @return 将二进制转换为十六进制字符输出

*/

public static String BinaryToHexString(byte[] bytes){

String result = "";

String hex = "";

for(int i=0;ibytes.length;i++){

//字节高4位

hex = String.valueOf(hexStr.charAt((bytes[i]0xF0)4));

//字节低4位

hex += String.valueOf(hexStr.charAt(bytes[i]0x0F));

result +=hex;

}

return result;

}

public static void main(String[] args) {

Scanner sca = new Scanner(System.in);

boolean flag = true;

while (flag) {

System.out.print("请输入一个二进制字符串:");

String str = sca.next();

System.out.println();

System.out.println("您输入的是字符串的十六进制为:"+BinaryToHexString(str.getBytes()));

System.out.print("是否继续转化(如果不继续请输入“exit”,继续的话输入任意字符):");

String _str = sca.next();

if (_str.equalsIgnoreCase("exit")) {

flag = false;

}

}

}

}

java 有哪些jar包直接提供了获得md5值的方法?

需要导入一个jar包:commons-codec

代码如下:

import org.apache.commons.codec.digest.DigestUtils; 

public class ToMain {

public static void main(String[] args) {

System.out.println(DigestUtils.md5Hex("baidu.com"));

}

}

1、Java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

2、名字来源

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。

javahexutil的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javahexutil的信息别忘了在本站进行查找喔。