android 16进制与中文互转
时间: 2023-12-16 21:03:51 浏览: 247
在Android中,可以使用以下代码将中文字符转换为16进制字符串:
```java
String text = "你好世界";
String hexStr = "";
for (int i = 0; i < text.length(); i++) {
int ch = text.charAt(i);
String hex = Integer.toHexString(ch);
if (hex.length() < 2) {
hex = "0" + hex;
}
hexStr += hex;
}
```
在上述代码中,我们首先遍历中文字符中的每个字符,将每个字符转换为对应的16进制字符串,然后拼接起来得到完整的16进制字符串。需要注意的是,如果中文字符中包含emoji等特殊字符,转换时可能会出现异常。
反过来,可以使用以下代码将16进制字符串转换为中文字符:
```java
String hexStr = "4F60597D4E1604EA";
byte[] bytes = new byte[hexStr.length() / 2];
for (int i = 0; i < bytes.length; i++) {
bytes[i] = (byte) Integer.parseInt(hexStr.substring(i * 2, i * 2 + 2), 16);
}
String text = new String(bytes, "UTF-8");
```
在上述代码中,我们首先将16进制字符串转换为字节码,然后使用UTF-8编码方式将字节码转换为中文字符。需要注意的是,如果16进制字符串不是有效的编码序列,转换时可能会出现异常。
阅读全文