16进制和字符串之间转换---
import java.io.ByteArrayOutputStream;
public class TestHEXAndString {
private static String hexString = "0123456789abcdef";
/**
* @param args
*/
public static void main(String[] args) {
//String str1="王杰";
//String str1="wulihai";
//System.out.println("原始字符为:"+str1);
//String str2=encode(str1);
//System.out.println("16进制编码:"+str2);
System.out.println("将16进制解码:"+decode("02"));
}
/**
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
public static String encode(String str) {
// 根据默认编码获取字节数组
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
// 将字节数组中每个字节拆解成2位16进制整数
for (int i = 0; i < bytes.length; i++) {
//拿到一个字节的高4位
sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
//拿到一个字节的低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){
int a=hexString.indexOf(bytes.charAt(i)) << 4;
int b=hexString.indexOf(bytes.charAt(i + 1));
baos.write((a | b));
}
return new String(baos.toByteArray());
}
}
16进制,2进制和8进制 与10进制之间的转换
public class Test2to10And8to10And16to10 {
public static void main(String []args){
//16进制到10进制
int value1=Integer.parseInt("003985FB",16);
System.out.println("value1="+value1);
//2进制到10进制
int value2=Integer.parseInt("1100110", 2);
System.out.println("value2="+value2);
//8进制到10进制
int value3=Integer.parseInt("77", 8);
System.out.println("value2="+value3);
//10进制到2进制
String value4=Integer.toBinaryString(10);
System.out.println("value4="+value4);
//10进制到16进制
String value5=Integer.toHexString(65);
System.out.println("value5="+value5);
//10进制到8进制
String value6=Integer.toOctalString(63);
System.out.println("value6="+value6);
}
}
分享到:
相关推荐
辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 进制转换V2.1辅助软件 ...
进制转换练习题
进制转换:10;2,8,16 及 2;16的相互转换, 支持小数(适合计算机等级考试基础题)其中10进制支持负数 .字符转换:字符转换为10进制(ASCII码)并且可偏移ASCII码,及16进制及其逆操作。 转换为10进制的双字节字符...
C语言,实现进制转换,十进制转换为十六进制 例如输入10,转换结果为a
2~62进制转换器 支持整数 小数转换 非常好用的小工具
十六进制转换十六进制转换十六进制转换十六进制转换
进制转换C源码 根据毕向东Java基础教程中讲解的进制转换原理写出来的C语言代码,C语言还是和Java差别太大,没有无符号右移>>>太难搞了,不过还算搞定了吧
基于单片机(AT89C51)的进制转换及进制计算器.rar
16进制与有符号10进制间的相互转换,支持16进制数转换为有符号10进制数,或将有符号10进制转换为16进制数,可选包含1、2、4、8字节。
适用于在通讯时可以用到的实例,16进制转换为二进制,已经测试OK.
计算机各种进制转换练习题(附答案).pdf计算机各种进制转换练习题(附答案).pdf计算机各种进制转换练习题(附答案).pdf计算机各种进制转换练习题(附答案).pdf计算机各种进制转换练习题(附答案).pdf计算机各种进制转换...
该资源利用栈的知识实现了进制转换,包含栈的建立,清空,压栈,出栈等基本操作,以及辗转相除法求余数
西门子TIA博途进制转换功能pdf,西门子TIA博途进制转换功能
SQL语句写的各进制之间互相转换,如二进制转换十进制,八进制转换十六进制等等
超强进制转换工具 二进制 八进制 十进制 十六进制转换
在C#中可以对整型运算对象按位进行逻辑运算,同时也可以实现C# 16进制转换10进制,C#10进制转换2进制等功能。
进制转换器。提供2进制 8进制 16进制之间的转换
进制转换工具绝对精简使用方便文件超小进制转换工具绝对精简使用方便文件超小
进制转换:10<-->2,8,16 及 2<-->16的相互转换, 支持小数(适合计算机等级考试基础题)其中10进制支持负数 .字符转换:字符转换为10进制(ASCII码)并且可偏移ASCII码,及16进制及其逆操作。 转换为10进制的双字节...
C语言实现进制转换