【问题标题】:How to handle special character in Kotlin Android如何在 Kotlin Android 中处理特殊字符
【发布时间】:2020-03-03 23:41:05
【问题描述】:

我有一个从 API 获取的字符串(无法控制它)。当 String 包含像撇号这样的特殊字符时,它将被转换为其他字符。

看起来像这样:

text_view.text = "Hannah's Law"

在 Android 上显示时,它将是:

Hannah's Law

我尝试将 String 转换为 byteArray,然后编码为 UTF-8,但没有成功:

val byteArray = template.execute(bindingDictionary).toByteArray() // This is the Actual String
String(byteArray,Charsets.UTF_8) // Did not work

【问题讨论】:

    标签: android kotlin


    【解决方案1】:
    '
    

    是 HTML 的撇号。您可以使用 fromHtml 将其转换为带撇号的文本。

        val fromApi = "Hannah's Law"
        val textFromHtmlFromApi = HtmlCompat.fromHtml(fromApi, HtmlCompat.FROM_HTML_MODE_LEGACY)
        text_view.text = textFromHtmlFromApi
    

    【讨论】:

      【解决方案2】:

      使用像这里https://www.rapidtables.com/code/text/unicode-characters.html这样的unicode符号
      例如,而不是

      String str = "Hannah's Law"  
      

      使用

      String str = "Hannah\u0027s Law"
      

      如果你需要例如字符串末尾的空格

      String str = "string with space in the end\u0020"
      

      供 Kotlin 使用

      var str: String = "string with space in the end\u0020"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-19
        • 1970-01-01
        • 2013-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多