`
xo_tobacoo
  • 浏览: 393900 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java.lang.Integer.toHexString(b[n] & 0XFF)中0XFF使用

阅读更多

byte[] b = {5,2,20,108};

String stmp = java.lang.Integer.toHexString(b[n] & 0XFF)

 

在32位的电脑中数字都是以32格式存放的,如果是一个byte(8位)类型的数字,他的高24位里面都是随机数字,低8位

才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个

方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误

的发生。

分享到:
评论

相关推荐

    关于在Idea调试的时候如何显示16进制的处理.doc

    java.lang.String hex = java.lang.Integer.toHexString(this&0xFF); if (hex.length()) { hex = "0"+hex; } return "0x"+hex.toUpperCase() +" ["+this+"]"; ``` 这个表达式将字节转换为 16 进制表示,并添加“0x...

    DES对称分组密码系统的Java实现

    import java.security.spec.*; import javax.crypto.*;... + java.lang.Integer.toHexString(data[i]&0xFF); else str = str + java.lang.Integer.toHexString(data[i]&0xFF); } return str.toUpperCase(); } } }

    汉字转拼音

    // System.out.println(Integer.toHexString(bGBK[i]&0xff;)); strBuf.append(Integer.toHexString(bGBK[i] & 0xff)); } return strBuf.toString(); } // --------------------------测试拼音转汉字是否正确--...

    汉字转换成中文拼音pinyin4j-2.5.0.jar

    strBuf.append(Integer.toHexString(bGBK[i]&0xff;)); } return strBuf.toString(); } public static void main(String[] args) { String cnStr = "安乐死的话嘎的-安徽的法国"; System.out.println(PinYin....

    des java 加密实验

    stmp = (java.lang.Integer.toHexString(b[n] & 0XFF)); if (stmp.length() == 1) hs = hs + "0" + stmp; else hs = hs + stmp; } return hs.toUpperCase(); } public static byte[] hex2byte(byte[] b) { ...

    java代码-HexByte

    可以使用`(byte & 0xFF)`来获取无符号值,然后再调用`Integer.toHexString()`。 ```java byte b = -128; // 10000000 in binary String hex = Integer.toHexString(b & 0xFF); // "80" in hexadecimal ``` 2. 使用...

    DES加密算法DES加密算法

    // Java crypt example SJ import javax.crypto.*; import javax.crypto.spec.*; import java.io.*;... sb.append(Integer.toHexString(A[i] & 0xFF)); } return sb.toString(); } } // class

Global site tag (gtag.js) - Google Analytics