相关疑难解决方法(0)

使用Java将十六进制转储的字符串表示形式转换为字节数组?

我正在寻找一种方法来转换长字符串(从转储),它表示十六进制值到一个字节数组.

我不能比在这里发布相同问题的人更好地措辞.

但为了保持原创,我会用自己的方式来表达它:假设我有一个"00A0BF"我想要解释为的字符串

byte[] {0x00,0xA0,0xBf}
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我是Java新手,最后使用BigInteger并注意领先的十六进制零.但我觉得它很难看,我确信我错过了一些简单的东西.

java hex byte dump

353
推荐指数
12
解决办法
44万
查看次数

Java 中是否有一种紧凑的方法来编码二进制文字数据?

我可以用 Java 做到这一点

final byte[] b = new byte[]{0x01, 0x02, 0x04, 0x08,
                            (byte)0x80, 0x40, 0x20, (byte)0xff,
                            (byte)0xef, 0x40, 0x30, (byte)0xfe,
                            0x3f, (byte)0x90, 0x44, 0x78};
Run Code Online (Sandbox Code Playgroud)

而在 Python 2.x 中我可以使用

b = '\x01\x02\x04\x08\x80\x40\x20\xff\xef\x40\x30\xfe\x3f\x90\x44\x78'
Run Code Online (Sandbox Code Playgroud)

Java 语法很痛苦,需要进行(byte)强制转换来处理具有最高有效位设置的值。

有更容易的方法吗?(除了编写一个帮助器类将字符串转换"01020408804020ffef4030fe3f904478" 为 a byte[]

java binary

5
推荐指数
1
解决办法
568
查看次数

如何在Java中初始化字节数组?

我有一个像这样的字节数组:(这不是实际的字节数组,我修改了它)

[69, 121, 101, 45, 62, 118, 101, 114, 196, 195, 61, 101, 98]
Run Code Online (Sandbox Code Playgroud)

我想知道如何在Java中初始化这个,以便我可以将这个字节数组转换为String?下面的行不起作用.

// this doesn't work
byte[] bytes = [69, 121, 101, 45, 62, 118, 101, 114, 196, 195, 61, 101, 98];

// now convert to string
String data = new String(bytes, StandardCharsets.UTF_8);
Run Code Online (Sandbox Code Playgroud)

java bytearray utf-8

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×3

binary ×1

byte ×1

bytearray ×1

dump ×1

hex ×1

utf-8 ×1