【问题标题】:How to escape unicode characters in a java string without using third party libraries如何在不使用第三方库的情况下转义 java 字符串中的 unicode 字符
【发布时间】:2015-10-01 18:08:55
【问题描述】:

我有一个 .Net 项目,客户将使用它并传入一个字符串。 .Net 代码调用 java 服务。假设字符串是“\123”

我对 .NET 的熟悉程度不如对 Java 的熟悉程度。

看起来 C# 会自动转义字符串值中的 unicode \ 并将该值视为“\123”本身。

当该值进入 java 时,它变为“S”,因为“\123”是一个 unicode 值并代表“S”。这是不可接受的

由于公司限制使用第三方库,我无法使用 apache commons lang StringEscapeUtils。我在这里别无选择。

那么在这种情况下我该如何处理所有这些 un​​icode 字符呢?

【问题讨论】:

    标签: java c# .net unicode


    【解决方案1】:

    你可以简单地用双反斜杠转义 unicode:

    \\123\123 表示为字符串

    【讨论】:

    • 正确。对于\它的确定。处理所有此类 unicode 表示的可能性如何?
    • @Shiv 输入到 java 中是如何发生的?也许您可以在进入 java 级别之前进行转义。创建字符串实例后,它会自动解释 unciode 部分。
    • 它是一个网络服务调用
    • 你说得对。我无法在 java 中处理这个问题。所以我们在 .NET 中使用 base 64 编码并在 java 中进行解码,它解决了这个问题
    猜你喜欢
    • 2015-01-29
    • 2021-03-10
    • 2015-12-22
    • 1970-01-01
    • 2021-05-17
    • 2016-01-27
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多