我在Java编写时遇到麻烦,要求提交包含UTF16字符的网页,例如FRACTION SLASH,即0x2044。当我使用IE将页面保存到磁盘并使用编辑器打开时,该字符显示为“4 1/2”。如果我用十六进制编辑器打开,我会看到00 44(不是20 44)。许多其他方法产生(在文件或控制台上)“4 1?2”。我尝试过的方法包括:
HttpMethod method = new GetMethod(...);
method.getResponseBodyAsString();
EntityUtils.toString(entity, HTTP.UTF_16);
IOUtils.toString(method.getResponseBody(), "utf-16");
我的最终目标是将使用正则表达式找到的页面的片段写入文件。