字符串与字节数组表示

时间:2015-11-27 12:58:03

标签: java string bytearray

  1. 我想知道String(普通字符串或字节数组)的哪个表示需要存储更多内存?

  2. 我的代码中可以使用字节数组表示。我应该在通过网络传输它之前将其转换为String(响应AJAX调用)吗?

2 个答案:

答案 0 :(得分:2)

1 =>见:What is the Java's internal represention for String? Modified UTF-8? UTF-16?

2 =>多种选择 如果它很短,只需传输一个字符串,如果它是ascii,否则,转换它:

String serial= DatatypeConverter.printBase64Binary(bytes)

你可以使用GET

使用java,php,...

可以解码

如果它很大,请使用POST和二进制(或本机)。

答案 1 :(得分:0)

For 2:如果它是对AJAX请求的响应,则很可能需要发送HTTP响应并通常发送HTTP响应,例如,在Servlet中,您使用OutputStream对象(http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html)或者使用PrintWriter并使用write方法来编写响应。

如果你使用HttpServletResponse,你可以直接用PrintWriter写一个字符串

HttpServletResponse httpServletResponse;

...

String responseToClient = "HOLA";
httpServletResponse.getWriter().write(responseToClient);

如果使用方法getOutpuStream,那么您将获得一个SevletOutputStream并且write方法接收一个字节数组。