当前位置:首页 » 编程语言 » javahex

javahex

发布时间: 2022-11-21 21:41:42

‘壹’ 如何用java代码写 Hex文件转bin文件

单片机的hex转bin?

这个其实不算太难。

hex有格式的,根据格式,转成byte[],再写入文件就是了。最重要的工作就是16进制字符转两位byte[]。

‘贰’ java中十六进制怎么转换为2进制

java十六进制转换为2进制示例如下:

publicclassHex2Binary
{
publicstaticvoidmain(String[]args)
{
StringhexString="ABCD";
System.out.println(hexString2binaryString(hexString));
}

(StringhexString)
{
if(hexString==null||hexString.length()%2!=0)
returnnull;
StringbString="",tmp;
for(inti=0;i<hexString.length();i++)
{
tmp="0000"
+Integer.toBinaryString(Integer.parseInt(hexString
.substring(i,i+1),16));
bString+=tmp.substring(tmp.length()-4);
}
returnbString;
}
}

‘叁’ 以下这段JAVA代码 hexSHA1散列加密解密,转成PHP代码,该如何写

java 的加密解密,换成PHP的加密解密就好了呀

‘肆’ hex是什么进制

hex是十六进制。十六进制,简写为hex或下标16,是一种基数为16的计数系统,是一种逢16进1的进位制,通常用数字0,1,2,3,4,5,6,7,8,9和字母A,B,C,D,E,F,a,b,c,d,e,f,表示,其中,A到F表示10到15,这些称作十六进制数字。

hex换算特点

例如十进制数57,在二进制写作111001,在16进制写作39,如今的16进制则普遍应用在计算机领域,这是因为将4个位元化成单独的16进制数字不太困难。

1字节可以表示成2个连续的16进制数字,可是,这种混合表示法容易令人混淆,因此需要一些字首,字尾或下标来显示。

‘伍’ java 程序怎么计算.hex文件校验和

JAVA 读进来,一样相加

int n=0xff&(0x01 +~(0x02 + 00 + 00 + 0x02 + 0x12 + 00));
String a=Integer.toHexString(n);
System.out.println(a);

‘陆’ 急,急急,跪求java十六进制转换成二进制(要自己写算法),再把得到的二进制数取反后,在转换成十六进制

Java程序:

public class Test29 {
public static void main(String[] args) {
String hex = "12345abcdef67890";
String bin;
bin = Transform.convertHexToBin(hex);
System.out.println(hex + " --> " + bin);

hex = Transform.convertBinToHex(bin);
System.out.println(bin + " --> " + hex);
}
}

class Transform{
private static String[] hexs = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f"};
private static String[] bins = new String[]{"0000", "0001", "0010", "0011", "0100", "0101",
"0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};

//将十进制数hex转换为二进制数并返回
public static String convertHexToBin(String hex){
StringBuffer buff = new StringBuffer();
int i;
for(i=0; i<hex.length(); i++){
buff.append(getBin(hex.substring(i,i+1)));
}
return buff.toString();
}

//将二进制数bin转换为十六进制数并返回
public static String convertBinToHex(String bin){
StringBuffer buff = new StringBuffer(bin);
int i;
if(bin.length()%4 != 0){//左补零
for(i=0; i<(4-bin.length()%4); i++){
buff.insert(0, "0");
}
}
bin = buff.toString();
buff = new StringBuffer();

for(i=0; i<bin.length(); i+=4){
buff.append(getHex(bin.substring(i,i+4)));
}
return buff.toString();
}

//返回十六进制数的二进制形式
private static String getBin(String hex){
int i;
for(i=0; i<hexs.length && !hex.toLowerCase().equals(hexs[i]); i++);
return bins[i];
}

//返回二进制数的十六进制形式
private static String getHex(String bin){
int i;
for(i=0; i<bins.length && !bin.equals(bins[i]); i++);
return hexs[i];
}
}

运行测试:
12345abcdef67890 -->
--> 12345abcdef67890

‘柒’ java中 hex 转换成字符串 怎么转

java中 hex 转换成字符串方法:
public class Test {

private static String hexString = "0123456789ABCDEFabcdef";
public static void main(String[] args) {
String msg= "亲,你好";
System.out.println(encode(msg));
System.out.println(decode(encode(msg)));
}

public static String encode(String str) {
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
//转换hex编码
for (byte b : bytes) {
sb.append(Integer.toHexString(b + 0x800).substring(1));
}
str = sb.toString();
return str;
}
//把hex编码转换为string
public static String decode(String bytes) {
bytes = bytes.toUpperCase();
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
// 将每2位16进制整数组装成一个字节
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
}

‘捌’ java后台返回了一段hex数据,前端如何转化为图片

两种思路,一种是你把图片下下来。告诉路径给前端。
另一种是你直接把图片转换成byte数组,返回给前端。前端是可以有办法的。(我用过这种用来爬虫爬验证码都是这么干的)

‘玖’ java hex 字符串怎么转换

private static String hexString = "0123456789ABCDEF";
public static void main(String[] args) {
System.out.println(encode("中文"));
System.out.println(decode(encode("中文")));
}
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str) {
// 根据默认编码获取<a href="https://www..com/s?wd=%E5%AD%97%E8%8A%82%E6%95%B0%E7%BB%84&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">字节数组</a>
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
// 将<a href="https://www..com/s?wd=%E5%AD%97%E8%8A%82%E6%95%B0%E7%BB%84&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">字节数组</a>中每个字节拆解成2位16进制整数
for (int i = 0; i < bytes.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; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString
.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}

热点内容
锂电池用3a的充电器是什么配置 发布:2025-01-16 04:26:43 浏览:35
好配置为什么感觉打联盟不流畅 发布:2025-01-16 04:23:02 浏览:900
我的世界java编辑服务器信息 发布:2025-01-16 04:21:42 浏览:507
android拨号上网 发布:2025-01-16 04:13:25 浏览:97
安卓网络编程怎么用 发布:2025-01-16 03:04:45 浏览:899
湖南it服务器怎么样 发布:2025-01-16 03:01:01 浏览:248
图中两种配置哪个好 发布:2025-01-16 02:59:28 浏览:582
如何解开密保密码 发布:2025-01-16 02:57:44 浏览:23
中国银行查询密码是什么 发布:2025-01-16 02:33:20 浏览:794
坚果pro录音文件夹 发布:2025-01-16 02:31:46 浏览:942