我在 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");
我的最终目标是将使用正则表达式找到的页面片段写入文件。