byte[] b = {1,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以避免这样错误
的发生。
分享到:
相关推荐
java.lang.String hex = java.lang.Integer.toHexString(this&0xFF); if (hex.length()) { hex = "0"+hex; } return "0x"+hex.toUpperCase() +" ["+this+"]"; ``` 这个表达式将字节转换为 16 进制表示,并添加“0x...
如果时间戳是整型,可以使用`java.lang.Integer.toHexString()`。需要注意的是,这些方法生成的字符串是无符号的,也就是说,如果时间戳包含负数,转换后会丢失负号。 生成的8位十六进制字符串在大多数情况下已经...
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(); } } }
在IBM JDK 8中, java.lang.Integer.toHexString(int)方法有时会返回以nul字符'\u0000'开头的字符串。 目前的项目在那里证明了这个问题。 重现步骤 获得IBM JDK8。我的情况是,确切的版本是 java -version java ...
* API Java.lang.Integer.toHexString(int i):将整型转换为其相应十六进制数 * 移位运算效率要高于存储运算,在某些讲求效率程序中,应考虑使用移位运算 八、面向对象编程 * OOP:描述是对象和对象之间互相作用 *...
* 使用 `Integer.toHexString()` 方法:`int i = 42; String hexstr = Integer.toHexString(i);` 十六进制字符串到整型 将十六进制字符串转换为整型可以使用以下方法: * 使用 `Integer.parseInt()` 方法:`...
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语言提供了多种常用包,包括java.lang、String、StringBuffer、Math、Object、Class、Constructor、Method、Field、Date、Calendar、SimpleDateFormat、File等。这些包中的类和方法为Java开发提供了强大的支持。...
System.out.println(Integer.toHexString(i)); // 转换为十六进制字符串 ``` #### 2. `java.util`包 `java.util`包提供了用于处理集合(如列表、集和映射)的类和接口,是数据结构操作的核心库。 - **`...
在这个简单的Java数学计算小程序中,我们可以利用JDK内置的日期处理类`java.util.Date`以及整数处理类`java.lang.Integer`来实现功能。下面将详细介绍这两个类的一些主要方法。 首先,我们来看`java.util.Date`类,...
Random 类是 Java.lang 包中的一员,用于生成随机数。 控制台输入 Scanner in = new Scanner(System.in); int n = in.nextInt(); 在上面的代码中,我们使用了 Scanner 类来读取控制台输入。Scanner 类是 Java....
在Java中,可以使用Integer.toHexString()方法将整数转换为16进制字符串。 2. 编译Java Applet源程序会产生扩展名为.class的字节码文件,所以答案是A。Javac编译器负责将.java源文件编译成字节码文件。 3. 编写...
Java提供了多种方法来进行进制转换,其中一部分方法是在`java.lang.Integer`类中。 1. `Integer.toBinaryString(int i)`:将一个十进制整数转换为一个二进制的字符串表示形式。 2. `Integer.toOctalString(int i)`...
strBuf.append(Integer.toHexString(bGBK[i]&0xff;)); } return strBuf.toString(); } public static void main(String[] args) { String cnStr = "安乐死的话嘎的-安徽的法国"; System.out.println(PinYin....
当我们需要将字符串转换为16进制形式时,可以使用`java.util.HexFormat`类(自Java 16起)或者`java.lang.String`的`getBytes()`方法结合`Integer.toHexString()`方法。例如,一个简单的转换过程可能如下: ```...
在Java中,可以使用`Integer.toHexString()`方法将十进制转换为十六进制。 2. 字节码文件扩展名:Java源代码`.java`文件经过编译后生成的字节码文件扩展名为`.class`,所以正确答案是A。 3. 引入包:编写Java ...
if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3); t4 += t2[0]; } else { t4 += java.lang.Character.toString(t1[i]); ...
必须保证本类或者父类已经重写了Object类的toString方法,如果没有重写toString方法,将默认调用Object类的toString方法,返回getClass().getName() + '@' + Integer.toHexString(hashCode()),并不是obj的实际字符...
import java.lang.*; import java.util.*; import java.security.*; public class EncryptionExample { protected String calg = "Blowfish"; // AES. DES, Blowfish protected int keyLen = 128; // 128 for ...
- **包装类的使用**:能够使用`Integer`、`Double`等包装类的相关方法,如`doubleValue`、`floatValue`、`intValue`、`longValue`、`parseXxx`、`getXxx`、`toString`、`toHexString`等。 #### 第九部分:集合类...