添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Android字符串转16进制

在 Android 中,将字符串转换为16进制可以使用以下代码:

public static String stringToHex(String str) {
    char[] chars = str.toCharArray();
    StringBuilder hex = new StringBuilder();
    for (char ch : chars) {
        hex.append(Integer.toHexString((int) ch));
    return hex.toString();

这个方法会将输入字符串中每个字符的ASCII码值转换为相应的16进制值,并将它们连接在一起形成一个字符串。

例如,如果您调用 stringToHex("Hello World!"),它将返回字符串 "48656c6c6f20576f726c6421",这就是 "Hello World!" 的16进制表示形式。

需要注意的是,这个方法返回的是字符串,而不是字节数组。如果您需要将16进制字符串转换回字节数组,请参考以下代码:

public static byte[] hexToByteArray(String hex) {
    int len = hex.length();
    byte[] data = new byte[len / 2];
    for (int i = 0; i < len; i += 2) {
        data[i / 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
                             + Character.digit(hex.charAt(i+1), 16));
    return data;

这个方法将输入的16进制字符串分割成每两个字符一组,并将它们转换为对应的字节值。例如,如果您调用 hexToByteArray("48656c6c6f20576f726c6421"),它将返回字节数组 {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33},这就是 "Hello World!" 的字节数组形式。

希望这些代码对您有帮助。如果您还有其他问题,请随时问我。

  •