【问题标题】:Sending ASCII over android TCP socket通过 android TCP 套接字发送 ASCII
【发布时间】:2013-12-01 08:24:35
【问题描述】:

我正在尝试通过 TCP 套接字从 android 向 linux 服务器发送一些数据。 commond/data 应该是 ASCII。我正在使用

out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

从套接字写入和读取。现在从下面提到的帖子中,我很困惑我是以 ASCII 还是其他格式发送数据。我是否必须使用任何其他“流式写入器”或“输出流式写入器”。或者我必须在将字符串发送到套接字之前将其转换为 ASCII。我还没有在服务器上测试过。谁能解释一下。

Socket pass value as Hex

Ascii on TCP socket

【问题讨论】:

    标签: android sockets tcp ascii


    【解决方案1】:

    编写的代码将使用系统默认编码输出字符串。 outputstreamwriter 有另一个构造函数,它允许您显式指定用于字符串的有线编码的字符集。

    【讨论】:

    • 在我的情况下,默认编码是什么?没有得到你的第二部分,你能提供一个 outputstreamwriter 的构造器的例子吗?
    • 默认编码是“系统相关的”并且可以通过系统属性控制。大多数人有充分的理由避免这种歧义并强制编写者使用“UTF-8”,这是您作为第二个构造函数参数提供的文字字符串。
    • 这意味着“UTF-8”是ASCII,我应该改变我目前的做法,是这样吗?
    • 不,utf8 是 utf8 ascii 是 ascii。如果需要,您应该指定“US-ASCII”。请注意,ascii 是 utf8 的真子集。
    • 你能分享一个通过 TCP 套接字发送 ACII 的例子吗?
    猜你喜欢
    • 1970-01-01
    • 2016-02-17
    • 2015-07-12
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 2018-02-05
    • 2016-01-11
    相关资源
    最近更新 更多