我正在尝试从http://dictionary.reference.com/browse/apple?s=t等字典网站下载一些内容
我遇到的问题是原始段落有所有那些波浪线,反向字母等等,所以当我读取本地文件时,我最终会得到像\ x85,\ xa7,\ x8d等那些有趣的转义字符. .
我的问题是,有什么方法可以将所有转义字符转换为各自的UTF-8字符,例如,如果有'à'我如何将其转换为标准'a'?
Python调用代码:
import os
word = 'apple'
os.system(r'wget.lnk --directory-prefix=G:/projects/words/dictionary/urls/ --output-document=G:\projects\words\dictionary\urls/' + word + '-dict.html http://dictionary.reference.com/browse/' + word)
我在Windows 7系统上使用wget-1.11.4-1(不要杀了我的Linux用户,这是客户端的要求),并且用Python 2.6脚本文件启动了wget exe.
有没有办法使用Java将ANSI字符串转换为UTF.
我有一个自定义序列化程序,它使用DataInputStream类的readUTF和writeUTF方法来反序列化和序列化字符串.如果我收到一个用ANSI编码的字符串太长,大约100000个字符我得到错误;
引起:java.io.UTFDataFormatException:编码的字符串太长:106958字节
然而,在我的Junit测试中,我能够创建一个120000'a的字符串,它完美无缺
我检查过以下帖子但仍有错误;
我正在实现一个像这样工作的软件:
我有一台运行vt100终端应用程序的Linux服务器输出文本.我的程序telnet服务器并读取/解析文本的位到相关数据.相关数据被发送到由Web服务器运行的小客户端,该Web服务器在HTML页面上输出数据.
我的问题是某些特殊字符如"åäö"被输出为问号(经典).
背景:
 
我的程序使用Apache Commons TelnetClient读取字节流.字节流被转换为字符串,然后相关的位被子字符串,并返回到分隔符字符.在此之后,新字符串将转换回字节数组,并使用Socket发送到Web服务器运行的客户端.此客户端根据接收的字节创建一个字符串,并将其打印在标准输出上,Web服务器从中读取并输出HTML.
第1步:byte [] - > String - > byte [] - > [发送到客户端]
Step2:byte [] - > String - > [print output]
问题:
 
当我在Windows上运行我的Java程序时,所有字符(包括"åäö")都会在生成的HTML页面上正确输出.但是,如果我在Linux上运行程序,所有特殊字符都会转换为" ? "(问号).
Web服务器和客户端当前正在Windows上运行(步骤2).
代码:
 
程序基本上是这样的:
我的节目:
byte[] data = telnetClient.readData() // Assume method works and returns a byte[] array of text.
// I have my reasons to append the characters one at a time using a StringBuffer.
StringBuffer buf = new StringBuffer();
for (byte b : …我有字符串   String hex = "6174656ec3a7c3a36f";,我想得到String output = "atenção"但在我的测试中我只得到   String output = "aten????o";
我做错了什么?
String hex = "6174656ec3a7c3a36f";
StringBuilder output = new StringBuilder();
for (int i = 0; i < hex.length(); i+=2) {
  String str = hex.substring(i, i+2);
  output.append((char)Integer.parseInt(str, 16));
} 
System.out.println(output); //here is the output "aten????o"