如何将特殊字符转换为十六进制? (在Android中)

时间:2014-08-04 14:15:05

标签: android hex special-characters

  

将一些特殊字符转换为十六进制值。

     

例如:

     

“ㅂ”的十六进制值为“e3 85 82”

     

“ㅈ”,“ㄷ”和“ㄱ”的十六进制值分别为“e3 85 88”,“e3 84 b7”和“e3 84 b1”。

我尝试了以下方法,但它仅适用于“;”,“#”等

  

Integer.toHexString(“ㅂ”),提供“3142”值。但正确的十六进制值应为“e3 85 82”。

     

String to Hex

1 个答案:

答案 0 :(得分:1)

您的答案编码是UNICODE(十六进制),您需要将其转换为UTF8(十六进制)

将字符串转换为十六进制。

public static void main(String[] args) throws UnsupportedEncodingException {
    String chr = "ㅂ";
    System.out.print(toHex(chr));
}
//String to hex
public static String toHex(String arg) throws UnsupportedEncodingException {
    //Change encoding according to your need 
    return String.format("%04x", new BigInteger(1, arg.getBytes("UTF8")));
}

输出: - e38582