如何将String / char格式化为十六进制值正确
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将String / char格式化为十六进制值正确相关的知识,希望对你有一定的参考价值。
我正在尝试将String转换为它的十六进制表示。我有以下(测试)输入�¾��Hello World!
正确的十六进制表示应该是:00 BE 00 00 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
我试图用String.format("%x", new BigInteger(toConvert.getBytes("ISO-8859-1"))).split("(?<=\G.{2})");
格式化字符串
但是这种格式化操作会忽略第一个字符(如果它是一个十六进制空值)并导致BE 00 00 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
我已经玩过"%x"
周围的部分,但没有任何帮助。
但我相信,你可以帮助我:)
答案
要使用前导零进行格式化,请指定格式化十六进制值的宽度,并请求前导零。
例如。如果结果是6个字节,而不是格式"%x"
,请使用格式"%012x"
。
对于您的代码,请执行以下操作:"%0" + toConvert.length() * 2 + "x"
以上是关于如何将String / char格式化为十六进制值正确的主要内容,如果未能解决你的问题,请参考以下文章
当 String 是有效的 char 时将 String 转换为 char