AndroidStudio将变量值显示为十六进制


右键你要查看的变量,选择customize Data Views,



在弹出的窗口中选Show Hex value for primitives  




点击OK









Android Studio中,如果你想要将字符串中的每个字符转换为十六进制并分开存储,你可以按照以下步骤操作: 1. **获取字符集**:首先,你需要遍历一个字符串,例如 `String input = "HelloWorld";`。 2. **字符到十六进制**:对于字符串中的每一个字符,可以使用 `Character` 类的 `toChars()` 和 `toString()` 方法。先将字符转为对应的Unicode值(整数),然后将其转换为两个十六进制字节。例如: ```java char c = input.charAt(i); int unicodeValue = Character.codePointAt(input, i); // 获取Unicode编码 String hexValue = Integer.toHexString(unicodeValue).toUpperCase(); ``` 3. **分开存储**:每个十六进制值通常由两部分组成(如果字符是UTF-16编码,因为一个字符可能需要两个字节),所以你需要处理单个字符可能有多个十六进制对的情况。如果是UTF-16BE(大端序),可以直接存储;如果是UTF-16LE(小端序),则可能需要交换两个十六进制数字的位置。这里假设你只处理UTF-16BE: ```java String[] hexBytes = new String[2]; hexBytes[0] = hexValue.substring(0, 4); // 前4位 hexBytes[1] = hexValue.substring(4); // 后2位(如果有) ``` 4. **结果保存**:最后,将这两个十六进制字符串添加到结果数组或列表中。 以下是一个简单的示例代码片段: ```java String input = "HelloWorld"; List<String> hexValues = new ArrayList<>(); for (int i = 0; i < input.length(); i += Character.charCount(c)) { char c = input.charAt(i); int codePoint = Character.codePointAt(input, i); String[] hexBytes = {"", ""}; if (codePoint <= 0xFFFF) { // 单字节字符 hexBytes[0] = Integer.toHexString(codePoint & 0xFF).toUpperCase(); } else { hexBytes[0] = Integer.toHexString((codePoint >> 8) & 0xFF).toUpperCase(); hexBytes[1] = Integer.toHexString(codePoint & 0xFF).toUpperCase(); } hexValues.add(hexBytes[0]); hexValues.add(hexBytes[1]); } // 现在hexValues包含了每个字符及其对应的十六进制值,如["48", "65", ...] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值