Java 如何将256个字符的“二进制”字符串文字转换为十六进制表示法?
我有0和1字符串类型组合,总长度为256 如何将其转换为十六进制 我可以使用64或更少长度的组合,但长度为256时不能使用相同的组合 你能帮我吗?有什么例子吗? 非常感谢。最简单的方法是使用BigInteger。只要您有足够的内存,它就能够转换任意长度的字符串:Java 如何将256个字符的“二进制”字符串文字转换为十六进制表示法?,java,hex,Java,Hex,我有0和1字符串类型组合,总长度为256 如何将其转换为十六进制 我可以使用64或更少长度的组合,但长度为256时不能使用相同的组合 你能帮我吗?有什么例子吗? 非常感谢。最简单的方法是使用BigInteger。只要您有足够的内存,它就能够转换任意长度的字符串: String str = "100010110101..."; String hex = new BigInteger(str, 2).toString(16); 如果不使用中间的BigInteger,实现这种转换也不是很困难。将输入
String str = "100010110101...";
String hex = new BigInteger(str, 2).toString(16);
如果不使用中间的BigInteger,实现这种转换也不是很困难。将输入字符串拆分为固定长度的块也适用于任意长度的输入字符串:
public static String binToHex(String str) {
int l = str.length();
StringBuilder result = new StringBuilder();
int cur = 0;
for (int next = l - l / 32 * 32; next <= l; next += 32) {
result.append(Long.toHexString(Long.parseLong(
str.substring(cur, next), 2)));
cur = next;
}
return result.toString();
}
到目前为止你有什么?