您的位置:首页 > 编程语言 > Java开发

单片机与安卓(java)字符串与字节,ascii之间的相互转换

2014-11-24 17:38 429 查看
// 转换十六进制编码为字节数组。可以再转为字符串

public static byte[] toStringHex(String s) {

try {

if ("0x".equals(s.substring(0, 2))) {

s = s.substring(2);

}

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();

}

}

return baKeyword;

} catch (Exception ex) {

byte[] bdata = new byte[1];

bdata[0] = 00;

return bdata;

}

}

//转换字符串为16进制ascii。

public static String stringToAscii(String value)

{

StringBuffer sbu = new StringBuffer();

char[] chars = value.toCharArray();

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

String s=Integer.toHexString((int)chars[i]);

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

s="0"+s;

}

sbu.append(s);

}

return sbu.toString();

}

// 转换字节数组为16进制字符串

public static String printHexString(byte[] b) {

try {

String str = "";

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

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

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

hex = '0' + hex;

}

str += hex;

}

return str;

} catch (Exception ex) {

return "";

}

}

// 转换字节数组为ascii

public static String printString(byte[] b) {

try {

String str = "";

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

char c=(char)b[i];

str += c;

}

return str;

} catch (Exception ex) {

return "";

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: