【发布时间】:2013-03-01 08:52:18
【问题描述】:
让我开始说我做了一些功课,但我没有找到任何问题的答案。
我正在尝试使用 translate.google.com/translate_a 网址将单个单词从瑞典语翻译成英语。我在 Objective-c 中这样做。
这是一个例子:
word = @"hus"; // result should be "house"
urlPath = [NSString stringWithFormat:@"/translate_a/t?client=t&text=%@&langpair=sv|en", word];
url = [[NSURL alloc] initWithScheme:@"http" host:@"translate.google.com" path:urlPath];
NSLog(@"%@\n\n", url);
request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"GET"];
myData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
result = [[NSString alloc] initWithData:myData encoding: NSASCIIStringEncoding];
NSLog(@"%@\n\n", result);
self.viewController.textViewGood.text = result;
NSLog 给了我这个网址:
http://translate.google.com/translate_a/t?client=t&text=hus&langpair=sv%7Cen
NSLog 也显示了正确的结果:
2013-03-01 00:07:14.681 testGoogTrans[941:11303] [[["房子","hus","",""]]
等等。
如果我现在在浏览器中调用之前显示的 url,我会得到一个内部结果相同的文件。
所以这在应用程序和浏览器上都可以正常工作。
现在,只更改具有特殊字符的单词:
word = @"tåg"; // result should be "train"
其余部分保持不变,我得到一个奇怪的不同结果:
控制台中打印出来的url:
http://translate.google.com/translate_a/t?client=t&text=t%C3%A5g&langpair=sv%7Cen 似乎被正确转义了。
如果我在浏览器中调用这个 url,我会得到一个包含以下内容的文件:
[[["trains","tåg","",""]],[["nom",["TRAIN","MARCH","ROPE","MARCHING","EXPEDITION","进程"]
等等...这是我所期望的。
相反,在应用程序中,控制台中显示的结果是:
[[[“t\u00C3 \u00A5 g","t\u00C3\u00A5g","",""]],,"sv",,[["t\u00C3",[5],1,0,998,0,1,0]
等等……
我相信网址格式正确,但我不知道为什么我从应用程序中得到不同的答案。
任何人都对此有所了解或可以指导我解决这个问题?
提前致谢
【问题讨论】:
标签: objective-c translation google-translate