如下代码:
var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"));
产生一个变量text
,其中包含字符串
“ $β$ -Minkowski空间,标量场和洛伦兹不变性问题”
但是,当我在Firefox中访问该URL时,
$κ$ -Minkowski空间,标量场和洛伦兹不变性问题
这实际上是正确的。我也试过
var data = (new WebClient()).DownloadData("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20");
var text = System.Text.UTF8Encoding.Default.GetString(data);
但这带来了同样的问题。
我不确定问题出在哪里。提要是否在于对UTF8进行编码,并且浏览器足够聪明以至于可以识别出来,但事实并非如此WebClient
?提要是否经过正确的UTF8编码,但是WebClient
以其他方式失败了?我该怎么做才能减轻这种情况?
UTF8Encoding.Default
实际上是Encoding.Default
,这是基于OS语言设置的ANSI编码。