gpt4 book ai didi

java - 如何将 256 个字符的 "binary"字符串文字转换为十六进制表示法?

转载 作者:行者123 更新时间:2023-11-30 06:59:13 24 4
gpt4 key购买 nike

我有 0 和 1 字符串类型组合,总长度为 256。

如何将其转换为十六进制?

我可以使用 64 或更短长度的组合,但当长度为 256 时不能这样做

你能帮帮我吗?有什么例子吗?非常感谢。

最佳答案

最简单的方法是使用BigInteger。只要你有足够的内存,它就可以转换任意长度的字符串:

String str = "100010110101...";
String hex = new BigInteger(str, 2).toString(16);

在不使用中间体 BigInteger 的情况下实现这种转换也不是很困难,只需将输入字符串拆分为固定长度的 block (也适用于任意长度的输入字符串):

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();
}

关于java - 如何将 256 个字符的 "binary"字符串文字转换为十六进制表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com