我想知道String(普通字符串或字节数组)的哪个表示需要存储更多内存?
我的代码中可以使用字节数组表示。我应该在通过网络传输它之前将其转换为String(响应AJAX调用)吗?
答案 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方法接收一个字节数组。