【问题标题】:Are there ascii characters that can not be sent across the internet?是否有无法通过 Internet 发送的 ascii 字符?
【发布时间】:2015-06-08 17:23:49
【问题描述】:

我正在构建一个 Web 应用程序,它将通过将标志转换为二进制,然后将二进制转换为 ascii 字符,将一组标志状态发送到其服务器。 ascii 字符将使用 post 命令发送,然后将发送回响应(以相同方式编码)。我想知道是否有 ascii 字符会导致 HTTP 请求和数据传输中断或被误导。是否有需要避免的标准 ascii 字符 (0-127)?

【问题讨论】:

  • 这似乎是很多额外的工作。 Web 应用程序是 HTML 页面吗?它可以有一个带有输入元素的表单吗?或者,为什么不使用 AJAX 或其他 XHR? XHR 和 HTTP 可以很好地处理二进制文件。
  • 有 90 种不同的状态被跟踪。然后通过 32 个字符的缓冲区将数据发送到 Arduino。
  • 到目前为止,128 个字符中的任何一个我都没有遇到任何问题

标签: networking binary ascii


【解决方案1】:

尽管有它的名字,HTTP 与实体主体内容的格式和语义无关。它不需要是文本。将其描述为文本并给出字符编码是发送和接收应用程序的元数据。您的实际实体数据不是文本,但如果您添加了重新解释层,那么您可以提供该元数据。

HTTP 正文有两种类型:计数或分块。对于计数,消息体与实体体相同。除非您想在知道数据的整个长度之前开始流式传输数据,否则使用计数。只需发送 Content-Length 标头以及实体主体中的八位字节数,然后将其复制到输出流中。

【讨论】:

    猜你喜欢
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多