gpt4 book ai didi

java - 将 NSData(plist 格式)转换为 Java String

转载 作者:行者123 更新时间:2023-11-30 05:07:33 25 4
gpt4 key购买 nike

大家好,我有一个 Cocoa 应用程序,它通过网络将 NSDictionary 发送到各种设备。以前,它只发送到其他 Mac,因此使用 NSKeyedArchiver 写入 NSData 对象效果很好,在另一端我会使用 NSKeyedUnarchiver。

我现在正在编写一个用于 Windows 支持的 Java 实现,我需要转换 plist 数据,该数据通过网络传输,如下所示:

< 3c3f786d 6c207665 7273696f ... >

到一个简单的 Java 字符串。 (这样我就可以用 XML 解析器读取它。)这里似乎回答了相反的问题:[ https://stackoverflow.com/questions/3774872]但我仍然无法完全理解应该执行编码/解码的顺序。 1

最佳答案

您在网络上看到的“字符串”实际上是原始 XML 文件。

如果您将其视为 byte[]数组对象,它可以传递给 java.lang.String构造函数:

byte[] theBytes = ...;
String theString = new String(theBytes, "UTF-8");

然后从那里到 XML 解析器。

如果通过网络传输的实际字节为 '<' , ' ' , '3' , 'c'等等,那么发送数据的一侧就有些奇怪了,因为它似乎正在将数据转换为 NSString通过数据的-description发送之前的方法。 NSKeyedUnarchiver不够聪明,无法处理这样的字符串,所以我不怀疑是这种情况,但如果是这样,将其转换回原始字节流,然后使用上面的 Java 构造函数来获取你的字符串是非常简单的返回 XML 字符串。

关于java - 将 NSData(plist 格式)转换为 Java String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4576779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com