使用 uGUI 文本组件,我得到了“替换字符”,也就是我找不到删除它们的方法。
我从 Instagram api 获取一个字符串,其中包含我需要的两个非字母语言字符(例如日语)的 unicode 字符。
但是,表情符号的 unicode 字符作为替换字符 aka 出现。我不需要表情符号,它们可以被剥离,但是我找不到这样做的方法。
我无法使用 TextMeshPro,因为我无法生成具有显示各种语言所需的所有 unicode 字符的字体资产(这可能是用户错误,但当我尝试该过程时会挂起)。
我注意到这些 � 字符不会出现在 Inspector 或控制台中,因此必须有一种方法可以忽略或删除它们。
我正在设置这样的字符串
body.text = System.Uri.UnescapeDataString(postData.text);
我尝试了许多没有用的东西,包括
body.text = body.text.Replace('\uFFFD','\'');//doesn't work
body.text = Regex.Replace(body.text, @"^[\ufffd]", string.Empty);//doesn't work
我还尝试将字符串分解为 char 数组。当我尝试打印到控制台时,遇到替换字符时出现此错误:
foreach (char item in postData.text.ToCharArray())
print(item); //Error: UTF-16 to UTF-8 conversion failed because the input string is invalid
对此的任何帮助将不胜感激!谢谢你。
统一2018.4.4,c#