请允许我以面向情境的方式描述我的问题:
假设Internet仍然是主要的web浏览器(Firefox有用于二进制处理的文档):
Internet中的XMLHttpRequest.responseText或XMLHttpRequest.responseXML希望使用txt或xml/xhtml/html,但是服务器如何使用MIME类型的应用程序/八进制响应xmlHttprequest呢?响应字符串中的字符是否都小于256?(字符串中的每个字符都< 256)?非常感谢一个直截了当的答案,我没有how服务器环境,所以我不知道如何测试它。
因为txt或xml的使用存在字符集编码问题,我不知道如何处理#[[CDDATA节点的一个编码的xml (例如: UTF-8,ASCII,GB18030)和JavaScript ),当i getNodeText时,docObj是返回我字节还是解码字符?如果它被解码为char (根据报头在httpresponse中指示charSet ),那么这将是错误的。
为了避免与charSet混淆,我希望服务器响应八进制数据,并强制将字符串数据编码为UTF-8,而将另一个charSet编码为二进制格式。
如果响应是八进制的,那么我猜浏览器不会尝试解码响应"txt“。
这很奇怪吗?还是错过了对基本事物的理解?
编辑:我认为问题在于:可以安全地处理未用Unicode编码的字符串吗?尝试这样做有什么问题吗?
编辑:不,我的意思是,如果http-头:内容类型是“应用程序/八位”,当我得到XMLHttpRequestobj.responseText使用JavaScript时,Internet会尝试将其解码为(16位Unicode或Internet本地设置字符集)吗?或者它(Internet )只是将响应体的每个字节包装为一个JavaScript字符串,然后该字符串中的每个字符小于或等于256个(字符<= 256)。
我在说火星语吗?可悲的是,如果我是马斯兰人,我会以游客的身份来到这里,不会有任何模糊的问题。然而,我在一个至少与火星共有一处财产的国家:红色。
发布于 2010-05-12 10:46:32
如果我正确地理解了您的问题,那么简单的回答是:是的,每个字节都包含一个介于0到255之间的值(即无符号)。这只是字节的性质,由8位组成。
但你为什么想要这个?您想使用JavaScript处理哪些二进制数据?
就这样,读掌握Ajax,第3部分: Ajax中的高级请求和响应吧
这使您可以确定…如果服务器试图返回二进制数据,而不是返回HTML、文本或XML (这三种数据在JavaScript中都比二进制数据更容易处理)。
(在有用的头请求下)
如果您想知道,我发现这篇文章带有一个简单的谷歌搜索。
https://stackoverflow.com/questions/2817584
复制相似问题