【发布时间】:2011-09-03 01:52:41
【问题描述】:
我正在尝试使用套接字从服务器读取响应,并且信息是 UTF-8 编码的。我将来自套接字的 InputStream 包装在 InputStreamReader 中,并将编码设置为“UTF-8”。
由于某种原因,似乎只读取了部分响应,然后读取仅挂起大约一两分钟,然后结束。如果我将 InputStreamReader 上的编码设置为“ISO-8859-1”,那么我可以立即读取所有数据,但显然并非所有字符都正确显示。
代码如下所示
socketConn = (SocketConnection)Connector.open(url);
InputStreamReader is = new InputStreamReader(socketConn.openInputStream(), "UTF-8");
然后我通读了标题和内容。内容被分块,我读取每个块大小的行(从十六进制转换为十进制)以知道要读取多少。
我不了解使用这两种编码读取的差异以及它可能产生的影响,因为它可以在 ISO-8859-1 下正常工作,并且最终可以在 UTF-8 下工作,只是延迟时间很长。
【问题讨论】:
标签: java http blackberry utf-8 character-encoding