Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#/TypeScript字节数组在发送到客户端时被编码_C#_Arrays_Typescript - Fatal编程技术网

C#/TypeScript字节数组在发送到客户端时被编码

C#/TypeScript字节数组在发送到客户端时被编码,c#,arrays,typescript,C#,Arrays,Typescript,我试图通过C#将一个从数据库中提取的字节数组发送到我的前端客户端,该客户端是用JavaScript/TypeScript编写的,但似乎字节数组是在从后端发送到前端之间的某个地方编码的 数据库中的数据是值为0x00000001的varbinary。我设置了一个断点,在这里我的C#代码返回检索到的值,我得到一个值为:[0,0,0,1]的字节数组。但是,当它到达客户端时,值是:“AAAAAQ==” 我尝试使用以下代码对其进行解码: let encodedString = encodeURI(encod

我试图通过C#将一个从数据库中提取的字节数组发送到我的前端客户端,该客户端是用JavaScript/TypeScript编写的,但似乎字节数组是在从后端发送到前端之间的某个地方编码的

数据库中的数据是值为0x00000001的varbinary。我设置了一个断点,在这里我的C#代码返回检索到的值,我得到一个值为:[0,0,0,1]的字节数组。但是,当它到达客户端时,值是:“AAAAAQ==”

我尝试使用以下代码对其进行解码:

let encodedString = encodeURI(encodeURIComponent(flag));

let arr = [];
for (let i = 0; i < encodedString.length; i++) {
    arr.push(encodedString.charCodeAt(i));
}
let encodedString=encodeURI(encodeURIComponent(flag));
设arr=[];
for(设i=0;i
但该代码返回这个值数组:[65,65,65,65,81,37,50,53,51,68,37,50,53,51,68]

是什么导致数据被编码,以及如何在将数据发送到客户机时用TypeScript对其进行解码或防止对其进行编码

“aaaaa q==”是0x00000001的Base64编码版本。因此,您需要使用
atob
将其转换回来,然后将每个字符代码推送到一个数组中

let text='AAAAAQ==';
让bin=atob(文本);
让字节=[];
for(设i=0;iconsole.log(字节)“AAAA Q==”是的base64编码版本0x00000001@phuzi如果我尝试使用atob()将其解码为base64字符串,它只返回一个框SYMBOL您希望非文本值显示为什么?我希望它返回我的原始字节数组值0001、1或类似的值,以便我可以使用它进行二进制计算。工作得非常好!非常感谢你!这是一个很好的答案。如果您有非拉丁字符(例如中文),
atob
可能无法很好地处理它。看见