gpt4 book ai didi

java - 尝试在 Google Endpoints 对象中设置 byte[] 类型的参数时,预计会出现一个字符串

转载 作者:太空狗 更新时间:2023-10-29 14:11:21 25 4
gpt4 key购买 nike

我创建了一个通过 Google Cloud Endpoints 发送的对象。在其参数中,有一个 byte[] 类型的参数及其 getter 和 setter 方法。

问题是当我想在我的应用程序中设置 byte[] 参数时,它以某种方式期望一个 String 类型的参数?它是要我对字节数组进行编码还是出现那个奇怪错误的原因是什么?

当我从 dataObject 获取参数时,它的类型是 byte[],一切正常。我真的很困惑!

我的对象是在我的后端定义的数据包

 ...
private byte[] imageThumbnail;

public void setImageThumbnail(byte[] imageThumbnail) {
this.imageThumbnail = imageThumbnail;
}

public byte[] getImageThumbnail() {
return imageThumbnail;
}

然后在我的应用中尝试设置 imageByteArray

 dataPackage.setImageThumbnail(byteThumbnail); // gives error that String is expected

这很好用

 dataPackage.getImageThumbnail() // is of type byte[]

最佳答案

虽然这可能不是您的第一选择,但是否可以对字符串使用 byte[] 构造函数并将其传递给它?可以找到如何执行此操作的示例 here

基本上该问题/答案的相关部分是这样的:

byte[] b = {(byte) 99, (byte)97, (byte)116}; //This could also be your byte array
String s = new String(b, "US-ASCII"); // US-ASCII might need to be something else

然后是相反的过程:

String s = "some text here"; //The string from dataPackage.getImageThumbnail()
byte[] b = s.getBytes("UTF-8"); //Might need to be some other byte formatting

编码愉快!如果您有任何问题,请发表评论。

关于java - 尝试在 Google Endpoints 对象中设置 byte[] 类型的参数时,预计会出现一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27868588/

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