我试图将文件从我的Java Servlet传输到一个小的HTML Web实现。
我正在使用对servlet的常规http ajax请求,问题是从0到7范围之外的Servlet发送的每个字节都在Javascript上读取为65533,从而在接收结束。
我一直在XHR,Jquery和AngularJS上做Ajax请求,每次都得到相同的结果。
为什么会这样?我该怎么做才能解决这个问题?
答案 0 :(得分:0)
您的输入流被读取为 UTF-8 ,因此将其替换为 ISO-8859-1
UTF-8是一种多字节编码,可以表示任何字符。
ISO 8859-1是一种单字节编码,可以表示前256个Unicode字符。
UTF-8用特殊的“ Unicode替换字符”替换范围之外的某些字符,在您的情况下为 0xFFFD (十六进制为65533)。
答案 1 :(得分:-1)
����N�ne�]_�'ǭT��n��>��q���Z�L�L2��By��z���4$����X。 }�]ũ�<���
〜〜W��5<...?}�Å?o�t��b�oD2ɖ�7Lq!���In��
�58�>N�?###��ll���HA��d�A�J&RF�q���]*T]�P�u�F��ud'9���א�V��D�����5C�����̞�<�aIz6܍X�p�P���?�d���O��F�R�ZXXX�Wi|��������Q)ew��8��:5�������
。{{1} }��>��jSl��S。]TpP�G=L0�V�/��OfLLγ“��m�/��I���-|X4J����G *���3�<Ա�Ya���;�1�`;r�[���[co��u�˾HK�r���<����X)��+c�� IX @; $ ������yII����zz��:V/�eP�7�IU�=���?J['������b!Gi�ba�Q^�!Gz����At�Le����x�X�e¨�o�!^�����eG�%�O
o���$6��*�ײ�������1�������ܔ�V@kD�ʯH����E�� gԑ���QK7|�O3w*�0卖�!t'����&�/��[�u�Y�6���_�<�ݒ"m�?�?{�8�_���6{�%��&Dݓ������l�sb
���¢d],���k��?ؿ���z8�����0�k������Xi��:)�i�v�UׅY�h��>f���?�;�Z���NPE�g�T�