重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
估计题写错了哇byte与int的区别:
创新互联是一家集网站建设,遂溪企业网站建设,遂溪品牌网站建设,网站定制,遂溪网站建设报价,网络营销,网络优化,遂溪网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
主要是存储空间的大小和取值范围不同。
byte占用1个字节存储空间,取值范围-128~127
int占用4个字节存储空间,取值范围-2的31次方~2的31次方-1
Android 字符串、byte数组与16进制数组间的转换
span style="font-family:SimSun;font-size:14px;"// 字符串转换成16进制文字列的方法
public String toHex(String str) {
String hexString="0123456789ABCDEF";
byte[] bytes=str.getBytes();
StringBuilder hex=new StringBuilder(bytes.length * 2);
for(int i=0;ibytes.length;i++) {
hex.append(hexString.charAt((bytes[i] 0xf0) 4)); // 作用同 n / 16
hex.append(hexString.charAt((bytes[i] 0x0f) 0)); // 作用同 n
hex.append(' '); //中间用空格隔开
}
return hex.toString();
}
//将16进制数组转换为字符串
public static String decode(String bytes) {
String hexString="0123456789ABCDEF";
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))));
//将每3位(第3位为空格)中的前2位16进制整数组装成一个字节
for(int i=0;ibytes.length();i+=3) {
baos.write((hexString.indexOf(bytes.charAt(i))4 | hexString.indexOf(bytes.charAt(i+1))));
}
return new String(baos.toByteArray());
}/span
详细
一个unicode汉字占用2个字节,以70个汉字来算,那就是140个字节。
短消息有可能会包含标点符号,会占一个字节。
public String byte2hex(byte[] bytes){
StringBuilder sb = new StringBuilder();
String tmp = null;
for(byte b: bytes){
//将每个字节与0xFF进行与运算,然后转化为10进制,然后借助于Integer再转化为16进制
tmp = Integer.toHexString(0xFF b);
if(tmp.length() == 1){
tmp = "0" + tmp;
}
sb.append(tmp);
}
return sb.toString();
}