- 浏览: 179923 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
为什么昵称都叫没了:
对的,我也在做微信公众平台的开发,发现一个简单的教程 http ...
微信公众平台API -
guji528:
想找一个好一点的调试器,不知eric是否OK,有空再研究一下
Eric IDE安装 -
youyang:
受教了,不得不顶。
NoSQL非关系数据库简介 -
zhongzhai:
谢谢分享,波一个
Java中的UDP协议编程 -
huwenbiao2010:
有实现JPopupMenu透明的案例不,发个给我 ,谢谢了 , ...
一道笔试题
import java.io.ByteArrayInputStream; public final class Converts { public final static char[] BToA = "0123456789abcdef".toCharArray() ; /** private static byte toByte(char c) { /** /** /** for(int i=0;i<bytes.length;i++){ /** if (mod != 0) { byte abt[] = new byte[len]; byte bbt[] = new byte[len]; for (int p = 0; p < asc.length()/2; p++) { if ( (abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) { int a = (j << 4) + k; for (int i = 0; i < bytes.length; i++) {
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
private Converts() {
}
* 把16进制字符串转换成字节数组
* @param hex
* @return
*/
public static byte[] hexStringToByte(String hex) {
int len = (hex.length() / 2);
byte[] result = new byte[len];
char[] achar = hex.toCharArray();
for (int i = 0; i < len; i++) {
int pos = i * 2;
result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));
}
return result;
}
byte b = (byte) "0123456789ABCDEF".indexOf(c);
return b;
}
* 把字节数组转换成16进制字符串
* @param bArray
* @return
*/
public static final String bytesToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2)
sb.append(0);
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}
* 把字节数组转换为对象
* @param bytes
* @return
* @throws IOException
* @throws ClassNotFoundException
*/
public static final Object bytesToObject(byte[] bytes) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
ObjectInputStream oi = new ObjectInputStream(in);
Object o = oi.readObject();
oi.close();
return o;
}
* 把可序列化对象转换成字节数组
* @param s
* @return
* @throws IOException
*/
public static final byte[] objectToBytes(Serializable s) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream ot = new ObjectOutputStream(out);
ot.writeObject(s);
ot.flush();
ot.close();
return out.toByteArray();
}
public static final String objectToHexString(Serializable s) throws IOException{
return bytesToHexString(objectToBytes(s));
}
public static final Object hexStringToObject(String hex) throws IOException, ClassNotFoundException{
return bytesToObject(hexStringToByte(hex));
}
/**
* @函数功能: BCD码转为10进制串(阿拉伯数据)
* @输入参数: BCD码
* @输出结果: 10进制串
*/
public static String bcd2Str(byte[] bytes){
StringBuffer temp=new StringBuffer(bytes.length*2);
temp.append((byte)((bytes[i]& 0xf0)>>>4));
temp.append((byte)(bytes[i]& 0x0f));
}
return temp.toString().substring(0,1).equalsIgnoreCase("0")?temp.toString().substring(1):temp.toString();
}
* @函数功能: 10进制串转为BCD码
* @输入参数: 10进制串
* @输出结果: BCD码
*/
public static byte[] str2Bcd(String asc) {
int len = asc.length();
int mod = len % 2;
asc = "0" + asc;
len = asc.length();
}
if (len >= 2) {
len = len / 2;
}
abt = asc.getBytes();
int j, k;
if ( (abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {
j = abt[2 * p] - '0';
} else if ( (abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {
j = abt[2 * p] - 'a' + 0x0a;
} else {
j = abt[2 * p] - 'A' + 0x0a;
}
k = abt[2 * p + 1] - '0';
} else if ( (abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {
k = abt[2 * p + 1] - 'a' + 0x0a;
}else {
k = abt[2 * p + 1] - 'A' + 0x0a;
}
byte b = (byte) a;
bbt[p] = b;
}
return bbt;
}
public static String BCD2ASC(byte[] bytes) {
StringBuffer temp = new StringBuffer(bytes.length * 2);
int h = ((bytes[i] & 0xf0) >>> 4);
int l = (bytes[i] & 0x0f);
temp.append(BToA[h]).append( BToA[l]);
}
return temp.toString() ;
}
/**
* MD5加密字符串,返回加密后的16进制字符串
* @param origin
* @return
*/
public static String MD5EncodeToHex(String origin) {
return bytesToHexString(MD5Encode(origin));
}
/**
* MD5加密字符串,返回加密后的字节数组
* @param origin
* @return
*/
public static byte[] MD5Encode(String origin){
return MD5Encode(origin.getBytes());
}
/**
* MD5加密字节数组,返回加密后的字节数组
* @param bytes
* @return
*/
public static byte[] MD5Encode(byte[] bytes){
MessageDigest md=null;
try {
md = MessageDigest.getInstance("MD5");
return md.digest(bytes);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return new byte[0];
}
}
}
发表评论
-
UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
2013-04-26 22:32 825继承 指的是一个类(称为子类、子接口)继承另外的一个类( ... -
数据库链接池(DBCP)配置参考
2012-01-31 17:20 937链接池不但能提高数据库的访问效率,也能有效地控制自 ... -
设置半透明的JMenuBar
2011-01-17 17:33 3068源作:陈思羽. 更新:龚德伟. 2008.07.20 ... -
使用svn——项目的目录布局
2011-01-07 21:12 773Subversion有一个很标准的目录结构,是这样的。 比如 ... -
Socket TCP连接和断开过程
2010-11-03 09:22 2288在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握 ... -
几个重要的TCP/IP选项解析(Java Socket)
2010-10-28 13:22 10481. SO_LINGER / SO_REUSEADDR ... -
java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
2010-10-25 13:41 945常见配置举例 堆大 ... -
jstat,jmap,jconsole,jvisualvm,jps,jinfo等JDK系统监控、性能调优工具
2010-10-11 13:57 766JProfiler在java程序性能调试方便表现优越,推荐使用 ... -
一道笔试题
2010-09-28 23:05 962问题说明 : 计算一个整形数组里的连续元素和的最大值 ... -
一个题目:超大量数据的排序
2010-09-22 03:40 1778一个文件里,有一堆int,把它们排序一下,输出到另外一个文 ... -
各种系统架构图及其简介
2010-03-01 11:35 2408转载请保留出处 , 不胜人生 一场醉汇总。 ... -
Java抓图软件
2010-01-19 09:52 986以下代码不是本人所写,乃是从网上搜到,记录下来供以后参考。 ... -
byte,int,char,double的相互转换(java)
2010-01-13 21:05 2673//整数到字节数组的转换 public stat ... -
Java中的UDP协议编程
2009-11-18 14:34 1855一. UDP协议定义 UDP协议的全称是用户数据报 ... -
System.getProperties()
2009-07-26 22:26 28201 、 java 通过 System.g ... -
System.getProperty()参数大全
2009-07-26 22:22 845java.version Ja ... -
JAVA打包后读取自身JAR中的文件
2009-07-26 21:48 5660在编写完Java程序后,打包成Jar时发布,会发现找不到Jar ... -
log4j 日志文件相对路径
2009-07-26 21:32 12751、在Tomcat 5.5中的Log4j ... -
windows下openldap的安装与java操作测试
2009-07-01 15:36 891windows下openldap的安装与 ... -
用Ant编译、junit测试、生成测试报告、最终自动发mail
2009-03-19 14:15 1506测试通过的版本如下:Eclipse:3.3.2jdk:1.6j ...
相关推荐
16进制与字符串、字节数组之间的转换 16进制与字符串、字节数组之间的转换
此工具用于将16进制字符串转换成10进制byte数组
android byte字节数组转换十六进制字符串一个demo。里面有几种转换测试代码。我的博客地址:http://blog.csdn.net/qq_16064871。
java工具类 : string转10进制sacii byte数组、 10进制sacii byte数组转16进制字符数组、 16进制字符数组转16进制byte数组、 string与BCD互转等方法,包含多个转换方法, 足够满足日常解包组包需求
NULL 博文链接:https://hw1287789687.iteye.com/blog/1882644
labview 读取的一维数组(整数)转换成16进制的字符串,方便大家进行数据处理。有问题可以留言咨询,互相学习
Java 中的 3DES 加密解密示例(封装 byte 数组和 16 进制字符串互转) 在 Java 中,3DES 加密是一种常用的加密算法,它可以将明文数据转换为密文数据,以保护数据的安全性。在本示例中,我们将展示如何使用 3DES ...
输入string 输出byte 16进制下的转换
字符串转化为16进制的数组,字节数组如何转化为字符串
Java-byte数组转换成16进制字符串
字符串之间的转化通用,字节数组转化为十六进制字符串,16进制转化为byte数组,十六进制字符串转字符串,将一条十六进制字符串转换为ASCII
代码如下:/// <summary> /// 字符串转16进制字节数组 /// </summary> /// ”hexString”></param> /// <returns></returns> private static byte[] strToToHexByte(string hexString) { hexString = hexString....
C# string byte数组转换解析 C# string byte数组转换实现的过程是什么呢?C# string byte数组间的转换需要...byte[] 转成原16进制格式的string,例如0xae00cf, 转换成 "ae00cf";new byte[]{ 0x30, 0x31}转成"3031":
10进制字符串转16进制字符串,BYTE转CString,高低位倒置,EDIT字符串转BYTE数组,直接用于TCP/IP UDP通信 复制粘贴就可以用上
最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是 十进制,十六进制,二进制中间的转换。还包括了一个字节数组 与十六进制字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。
|PowerBuilder 数组字符串相互转化 天津 李华锋 * * | | * *PowerBuilder 数组字符串相互转化 完全免费 * ...|老数组转字符串212863 | |新数组转字符串187 * |以上是200000个数组测试结果 | |优化效率相当明显
/* java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */
java socket处理硬件传过来的16进制数据的工具类,包含大小端转换、byte[]数组转换为16进制的字符串、byte[]转ByteBuffer、16进制字符串转换为byte数组等
字符串转成byte[]后,与16进制字符的互转。