【问题标题】:Line break (\n) not working in ios when escaped via StringEscapeUtils.escapeJava通过 StringEscapeUtils.escapeJava 转义时,换行符 (\n) 在 ios 中不起作用
【发布时间】:2018-08-21 08:11:05
【问题描述】:

我正在使用 compile 'org.apache.commons:commons-lang3:3.4' 库从我的 android 应用程序转换表情符号,以便可以在 ios 中轻松解码。因此,在我的 android 应用程序中将字符串编码为unicode 我正在使用这种方法StringEscapeUtils.escapeJava 它通过 android 应用程序发送的工作正常的表情符号在 ios 中显示,但是当我发送包含一些换行符的数据时,在 ios 中它显示\n在新行中显示文本。我试过了

        val actualText=editText.text.toString()
        val oldText=StringEscapeUtils.escapeJava(actualText).toString()
        val newText=oldText.replace("\n", "\r\n")

但它不起作用。

【问题讨论】:

  • 为什么是\r\n? Apple 长期以来一直使用\n 作为换行符。

标签: android ios string stringescapeutils


【解决方案1】:

经过很多努力,我发现了问题。 对于这些陈述:

        val actualText=editText.text.toString()
        val oldText=StringEscapeUtils.escapeJava(actualText).toString()
        val newText=oldText.replace("\n", "\r\n")

这张图片(输出)会清除一切

在对旧文本使用 StringEscapeUtils.escapeJava 后,\n 不被视为转义序列字符。所以我将替换语句更改为:

val reviewText=oldText.replace(StringEscapeUtils.escapeJava("\n"), "\r\n")

然后输出是:

在 ios 应用程序中此之后而不是显示 \n 它显示文本到新行。

【讨论】:

    猜你喜欢
    • 2018-03-09
    • 2012-04-30
    • 2021-12-25
    • 1970-01-01
    • 2022-01-25
    • 2020-03-21
    • 2019-09-26
    • 2015-07-19
    • 2020-06-27
    相关资源
    最近更新 更多