将转义字符解析为一个字节

ulq*_*rra 4 java sockets byte

我将请求从客户端套接字发送到服务器套接字,我想使用转义字符("\n")区分请求(作为字节数组发送).我希望每个新行例子有一个请求:

"Request1 "
"Request2"
"Request3"
Run Code Online (Sandbox Code Playgroud)

为了做到这一点,我需要转换字节中的"\n"以便比较这样的请求

    byte[] request= new byte[1024];
    int nextByte;
        while((nextByte=in.read(request))!=DELIMITER)
        {

        String chaine = new String( request,0,nextByte);
        System.out.println("Request send from server: " + chaine);
       }
Run Code Online (Sandbox Code Playgroud)

问题是,当我尝试在字节中转换"\n"时,我得到一个数字格式异常

private static final byte DELIMITER = Byte.valueOf("\n");
Run Code Online (Sandbox Code Playgroud)

非常感谢你

Thi*_*ilo 7

试试这个:

private static final byte DELIMITER = (byte) '\n';
Run Code Online (Sandbox Code Playgroud)

双引号用于字符串文字,单引号用于字符,而字节#valueOf除了您的想法之外还有其他功能.

如果您想将String转换为字节,您可以:

byte[] theBytes = "\n".getBytes("UTF-8");
Run Code Online (Sandbox Code Playgroud)