Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建字符串二进制终止符_Java_String - Fatal编程技术网

Java 创建字符串二进制终止符

Java 创建字符串二进制终止符,java,string,Java,String,我需要把终结者放在我的弦上。终止符可能是字节11(或0x0B),也可能是将来的任何其他终止符。向字符串中添加字节的最佳方法是什么 我想做一些类似的事情: String s = "122456"+char(11); 在Java中,应该为此使用一个常量。试一试 public final static char TERMINATOR = 0x0B; 然后,您可以在代码中这样使用它: "122456" + TERMINATOR 这使得代码可读,并且用不同的符号替换终止符(不是在您的情况下,而是一般

我需要把终结者放在我的弦上。终止符可能是字节11(或0x0B),也可能是将来的任何其他终止符。向字符串中添加字节的最佳方法是什么

我想做一些类似的事情:

String s = "122456"+char(11);

在Java中,应该为此使用一个常量。试一试

public final static char TERMINATOR = 0x0B;
然后,您可以在代码中这样使用它:

"122456" + TERMINATOR
这使得代码可读,并且用不同的符号替换终止符(不是在您的情况下,而是一般情况下)或查找使用符号的所有位置也变得简单

如果需要终止符为变量,请使用字段和访问器方法:

private char terminator = 0x0b;
public void setTerminator( char terminator ) { this.terminator = terminator; }
public char getTerminator() { return terminator; }
这允许您更改终止符

我还建议为每个计划发送的消息创建一个Java类型。该类型应该知道如何创建字节数组,然后可以使用“IO服务”进行传输。因此,为消息的每个部分创建访问器方法,然后创建一个
encode()
方法:

public byte[] encode() {
     String message = data1 + terminator + data2 + terminator + ...

     return message.getBytes("ISO-88591-1");
}

这样,您可以一步一步地构建消息,然后将其转换为字节流,在消息完成后发送。

为什么需要在字符串中放置终止符?这感觉就像java中需要终止符一样
String
?我需要将此字符串发送到com端口。协议需要特定的终止符(和字段分隔符)。您能告诉我们您的代码吗?您尝试了什么?Java中的字符串在内部编码为UTF-16。UTF-16中没有单字节,所有字符都是2字节宽。如何在协议中对字符串进行编码?但我需要使用类似终止符的变量,然后将其作为类的属性(=字段),并添加一个getter+setter。您可以使用
“122456”+(char)0x0b
或“122456\u000b”,但这将使以后很难用不同的字符替换它。@user1501700不,您不需要。您使用的是固定协议,并且该协议具有固定的终止符。否则它就不是协议。