小编Cam*_*rge的帖子

如何从角色获取数据

我正在Unity中使用Assembly C#开发一个项目.我尝试获得特殊字符,例如é,但在控制台中它只显示一个空白字符:"".例如翻译"你好吗?" 应该返回"CómoEstás?",但它会返回"Cmo Ests".我将返回字符串"Cmo Ests"放在一个字符数组中,并意识到它是一个非空的空白字符.我正在使用Encoding.UTF8,当我这样做时:

char ch = '\u00e9';
print (ch);
Run Code Online (Sandbox Code Playgroud)

它将打印"é".我尝试使用以下方法从给定字符串中获取字节:

byte[] utf8bytes = System.Text.Encoding.UTF8.GetBytes(temp);
Run Code Online (Sandbox Code Playgroud)

在翻译"你好吗?"时,它将返回一个字节字符串,但对于特殊字符,如é,我得到一系列字节239,191,189,这是一个替换字符.

我需要从字符中检索哪些类型的信息才能准确地确定它是什么字符?我是否需要对Google提供给我的信息做些什么,或者是其他什么?我需要一个一般情况,我可以放在我的程序中,并将适用于任何输入字符串.如果有人可以提供帮助,我们将不胜感激.

这是引用的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using System.Collections;
using System.Net;
using HtmlAgilityPack;


public class Dictionary{
string[] formatParams;
HtmlDocument doc;
string returnString;
char[] letters;
public char[] charString;
public Dictionary(){
    formatParams = new string[2];
    doc = new HtmlDocument();
    returnString = "";
}

public string Translate(String input, String languagePair, Encoding encoding)
    {
        formatParams[0]= input;
        formatParams[1]= languagePair;
        string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", …
Run Code Online (Sandbox Code Playgroud)

c# utf-8 google-translate .net-assembly unity-game-engine

7
推荐指数
1
解决办法
1530
查看次数

错误 CS0246:找不到类型或命名空间名称“HtmlAgilityPack”

我目前正在开发一个自然语言处理程序,在该程序中我正在访问谷歌翻译以获取我的字典,以便翻译用户输入。

using UnityEngine;
using System.Collections;
using System.Text;
using System.Net;
public class GoogleTranslate : MonoBehaviour {
    public static string Translate(string input, string languagePair, Encoding encoding)
    {
        string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text=       {0}&langpair={1}", input, languagePair);
        string result = String.Empty;

        using (WebClient webClient = new WebClient())
        {
            webClient.E ncoding = encoding;
            result = webClient.DownloadString(url);
        }

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(result);
        return doc.DocumentNode.SelectSingleNode("//textarea[@name='utrans']").InnerText;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在Assembly中编译这个程序时,我实际上使用的是Unity,但它是用Assembly编译的,我收到返回错误:

Assets/GoogleTranslate.cs(17,13): error CS0246: The type or namespace name `HtmlDocument' could not be found. Are you missing a using …
Run Code Online (Sandbox Code Playgroud)

c# namespaces html-agility-pack

5
推荐指数
1
解决办法
1万
查看次数

语言翻译 A​​PI C#

我正在尝试创建一个自然语言处理程序,在该程序中我必须能够翻译单词和句子以及获取它们的词性。我听说你可以在你的程序中实现 Google Translate API,但在过去的两周里一直没有成功。我尝试过查看其他类似的翻译服务但由于我的 C# 背景非常有限,我无法从这篇文章中获得太多收获。任何人都可以为我提供一个简单的演练,我想了解我在做什么,这样我就可以进一步了解 C# 知识,我可以用它来实现我的目标。它不一定是 Google API,但非常感谢任何帮助!

c# google-translate

5
推荐指数
1
解决办法
1万
查看次数