如何在Java字符串中转义Unicode字符而不使用第三方库

3

我有一个 .Net 项目,客户端会传递一个字符串。.Net 代码调用一个 Java 服务。假设这个字符串是 "\123"。

我对 .NET 不像对 Java 那么熟悉。

看起来 C# 自动转义了字符串值中的 Unicode \ 并将其视为 "\123" 本身。

当该值传入 Java 时,由于 "\123" 是一个 Unicode 值并代表 "S",因此它变成了 "S"。这是不可接受的。

由于公司限制使用第三方库,我不能使用 Apache Commons Lang 的 StringEscapeUtils。我在这里没有选择。

那么,在这种情况下,我该如何处理所有这些 Unicode 字符?

1个回答

0

您可以使用双反斜杠来转义Unicode:

\\123 表示将 \123 转换为字符串


正确。对于 \ 没问题。那处理所有这样的 Unicode 表示的可能性呢? - juniorbansal
1
@Shiv,Java中的输入是如何进行的?也许您可以在进入Java级别之前进行转义。一旦字符串实例被创建,它会自动解释Unicode部分。 - SomeJavaGuy
这是一个Web服务调用。 - juniorbansal
你是对的。我无法在Java中处理这个问题。所以我们选择了在.NET中进行Base64编码,在Java中进行解码,这解决了问题。 - juniorbansal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接