我有一个将bytearray作为属性的模型,
public byte[] bytearraytest{ get; set; }
当我通过javascript GET请求获得此模型时,它是一个字符串。
tgwBAQ==
我现在如何解码?
答案 0 :(得分:0)
javascript中的字符串是Base64字符串。 您必须在javascript中执行Base64解码才能访问de bytes。 试试这个:https://www.w3schools.com/jsref/met_win_atob.asp
答案 1 :(得分:0)
字符串tgwBAQ==
是Base64编码的(最后通过告诉==
可以很容易识别)。要从中获取字节数组,您可以使用:
var bytes = Convert.FromBase64String(value);
如果您直接将其绑定到byte[]
,则最有可能通过拆分字符串来创建char[]
,即:
[ 't', 'g', 'w', 'B', 'A', 'Q', '=', '=' ]
这对你来说显然毫无用处,所以首先,你需要接受这个值作为字符串,所以你可以把它作为一个字符串来操作。
有一次,你有一个真正的 byte[]
字符串表示,回到IP地址字符串,取决于之前发生的Base64编码,它首先编码它。例如,如果提供的字符串是通过执行以下操作创建的:
var base64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(ipAddress));
然后,你只需要反转:
var ipAddress = Encoding.UTF8.GetString(Convert.FromBase64String(base64));
但是,如果涉及加密,则需要首先使用加密的相同加密算法和解密“密钥”(实际共享密钥,私钥等)对其进行解密。
长短,这里没有足够的信息可以帮助你完成拼图的最后一部分,所以你需要更新你的问题,提供更多关于你正在做什么的信息,或者只是采取这个指导并运行它靠你自己。