js,ajax可以传输十六进制的数据给服务端吗?

下面这个写法传输出去的数据是二进制字符串。

$.ajax({
    type:"post",
    url:"url",
    data:data,
    processData:false, // 不序列化 data
    contentType:false,  // 不指定传输类型
    success:function(){},
    error:function(){}
})

有什么办法传输十六进制字符串给服务端?

注:不是把每个字符转换成acsll码值然后再把码值转换成十六进制。

求指教!

阅读 3k
2 个回答

用例里给的是屏蔽掉jq自动转换的写法,比如jq会自动将对象转成json串,或者还有个场景比较常见是用户上传文件(二进制数据)会用到这种写法。
但是单就计算机存储而言,只有二进制;至于八进制十六进制,那是方便人类查看用的,只要存储类型还是字符串,那就直接包在json里发明文就好,等后端接到了再去做转成相应的内存格式的处理。

你的情况一般是安全传输二进制数据到服务端,建议base64

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题