【发布时间】:2012-11-28 08:25:38
【问题描述】:
我只是在我的服务器端应用程序中创建一个 256 字节的数组,然后将其发送到客户端。
C#:
byte[] arr = new byte[256];
for (int i = 0; i < 256;i++ )
{
arr[i] = (byte)i;
}
然后我想使用 JavaScript 在客户端获取所有字符代码(确切地说是字符的字节代码)。
JavaScript:
for(var i = 0;i<data.length;i++) {
console.log(data.charCodeAt(i));
}
126、charCodeAt(...) 之后的字符返回65536。
正是我想知道如何在126 之后获得此字符代码?
【问题讨论】:
-
您确定可以通过 ajax 发送原始二进制数据吗?
-
完全没有,但在某些情况下我需要这样做。您的意思是这是浏览器或 ajax 请求的问题?
-
这是一个问题,因为原始二进制数据可能会创建损坏的 json/xml/csv 数据。如果我愿意,我可能会使用 base64。
-
服务器端使用base64编码,客户端解码。
-
不,这是大多数人类可读数据容器的限制。由于 csv 使用逗号,原始数据可能包含逗号并在当前字段中实际剩余数据时导致新字段开始。此外,由于例如 UTF-8 没有使用每个字符的固定大小来描述,我想发送的数据的长度可能与客户端上接收的数据不同。只是猜测,不是专家。
标签: c# javascript bytearray