【发布时间】:2025-11-26 01:55:01
【问题描述】:
我需要将两个十六进制字符串合并为一个。 第一个是这样组成的:
while(i=0;i<10;i++){
int ch = inStream.read();
String hexch="";
if (ch >= 0) {
hexch += Integer.toHexString(ch);
}
在流中,我从串行端口重新接收字符 ST=0 第二个是这样的:
String one = ";sp=16;"
String sqhex="";
byte[] data = one.getBytes();
int j;
for (j=0;j<data.length;j++)
{
sqhex+=Integer.toHexString(data[j]);
}
我需要用两个字符串组成一个字符串,让我得到这个:“ST=1;sp=16;”在十六进制。为此,我这样做了:
String mensagem =""
mensagem = hexch + sqhex;
问题是生成的十六进制字符串,
53543d31d3b73703d31363b
不代表我需要什么。而不是“ST=1;sp=16;”我得到“ST=1Ó·7Óc”
是否有合并十六进制字符串来构建我需要的东西?
谢谢
【问题讨论】:
-
不知道你在问什么。试着想出一个真实的 minimal reproducible example;但除此之外:请定义“加入”十六进制字符串的含义。你的意思是“数字加法”吗?还是只是“a”+“b”=“ab”连接?!除此之外:请在提交前仔细阅读您的输入;这东西只是一团糟。
-
连接十六进制数字序列如何产生
ST=1Ó·7Óc?你没有向我们展示什么代码? -
@GhostCat 我的意思是进行串联。我无法上传可验证的示例,因为整个代码还有我上面解释过的其他依赖项。
-
那你没有读到那个minimal reproducible example链接。这与上传所有您的代码无关。它是关于提供显示您的问题的代码。
-
@VGR 操作结果为 53543d31d3b73703d31363b。这一点,当翻译成字符串结果为 ST=1Ó·7Óc 而不是 ST=1;sp=16;如我所愿