首先,是不是爲我付出了GOOGLETRANSLATE API的解決方案。解析GOOGLETRANSLATE特殊字符
我試圖用Get方法翻譯一句簡單的話包含特殊字符「&」。
"Me & You"
這是我寫的方法:
Public Function Google_Translate(ByVal Input As String, _
ByVal From_Language As Languages, _
ByVal To_Language As Languages) As String
Dim webClient As New System.Net.WebClient
Dim str = webClient.DownloadString(_
"http://translate.google.com/translate_a/t?client=t&text=" & Input & _
"&sl=" & Formatted_From_Language & _
"&tl=" & Formatted_To_Language & "")
' Debug: MsgBox(str)
Return (str.Substring(4, str.Length - 4).Split(ControlChars.Quote).First)
End Function
這是一個使用示例:
Google_Translate("Me and you", Languages.en, Languages.en)
結果是相同的字符串,因爲我已經從英語翻譯成英文:
"Me and you"
The問題是,當我嘗試使用任何特殊的HTML字符,例如 「&」:
Google_Translate("Me & you", Languages.en, Languages.en)
結果:
"Me"
這是一個沒有分割字符串:
[[["Me","Me","",""]],,"en",,,,,,,0]
這是我已經試過:
統一標識符:
Google_Translate("Me \u0026 you")
HTML實體:
Google_Translate("Me & you")
HTML轉義實體:
Google_Translate("Me &H38; you")
...而HTML百分比:
Google_Translate("Me %26 you")
...使用我得到一個字符串與Unicode標識符的百分比調用方法:
[[["Me \u0026 you","Me \u0026 you","",""]],,"en",,,,,,[["en"]],0]
,也許將意味着我需要做的唯一的事情是得到從谷歌串並轉換的Unicode標識符就這樣? ...不!因爲如果我叫谷歌使用其他特殊字符,我沒有得到任何Unicode標識符:
Google_Translate("Hello·"" World¿?", GoogleTranslate_Languages.en, GoogleTranslate_Languages.en)
結果:
"Hello·\" World¿?"
結果,而不分割:
[[["Hello·\" World¿?","Hello·\" World¿?","",""]],,"en",,,,,,[["en"]],0]
我錯過了?
如何發送/獲取使用特殊字符&%$「正確的方式將數據¿?
首先,是不是爲我付出了汽車的解決方案。每當我試圖進入Elektro Hacker的車時,警報就會熄滅。我錯過了什麼? –
@Robert McKee真的,我不明白你的諷刺,你的問題是什麼?Google的網絡服務是免費的,爲什麼我不會嘗試使用它?一個好的程序員尋找替代方法來做這件事。有些人不需要爲API的所有功能付費,我希望以零星的方式使用它,我不希望支付20美元只在每月1到2次之間使用GoogleTranslate,也不需要API每1000個翻譯字符(小偷)的使用限制爲20美元。 – ElektroStudios
谷歌翻譯API REST Web服務不是免費的:https://developers.google.com/translate/您正在嘗試使用v1 API而不付費,因爲它是付費服務,而這確實在偷竊。 –