response.getWriter().write(0) 前端取到的数字乱码

response.getWriter().write(0);

源代码

/**
     * Writes a single character.  The character to be written is contained in
     * the 16 low-order bits of the given integer value; the 16 high-order bits
     * are ignored.
     *
     * <p> Subclasses that intend to support efficient single-character output
     * should override this method.
     *
     * @param  c
     *         int specifying a character to be written
     *
     * @throws  IOException
     *          If an I/O error occurs
     */
    public void write(int c) throws IOException {
        synchronized (lock) {
            if (writeBuffer == null){
                writeBuffer = new char[WRITE_BUFFER_SIZE];
            }
            writeBuffer[0] = (char) c;
            write(writeBuffer, 0, 1);
        }
    }

最终,会将int转换成char,所以可能会造成乱码。

解决:

1、使用 response.getWriter().println(0);

2、使用response.getWriter().write("0");

猜你喜欢

转载自blog.csdn.net/xldmx/article/details/84750897