【问题标题】:Java ByteBuffer to VB .NETJava ByteBuffer 到 VB .NET
【发布时间】:2012-11-03 22:58:50
【问题描述】:

我有这个 java 代码:

    ByteBuffer p = ByteBuffer.allocate(packet.length - 10 + 14);
    p.order(ByteOrder.LITTLE_ENDIAN);
    p.putInt(packet.length);
    p.putInt(packet.request_id);
    p.putInt(packet.type);
    p.put(packet.paylod);
    p.put((byte) 0);
    p.put((byte) 0);
    new DataOutputStream(sock.getOutputStream()).write(p.array());

我想把它翻译成 VB .NET 我从这个开始:

    Dim p(packet.length - 10 + 14) As Byte
    Dim Stream As MemoryStream = New MemoryStream()
    Dim Writer As BinaryWriter = New BinaryWriter(Stream)
    Using Writer
        Writer.Write(packet.length)
        Writer.Write(packet.request_id)
        Writer.Write(packet.type)
        Writer.Write(packet.paylod)
        Writer.Write(CByte(0))
        Writer.Write(CByte(0))
    End Using
    p = Stream.ToArray()

但是在我不知道如何按小端顺序排序之后

【问题讨论】:

    标签: java vb.net bytebuffer


    【解决方案1】:

    查看文档http://msdn.microsoft.com/en-us/library/24e33k1w.aspx,似乎BinaryWriter.Write 整数方法默认为小端顺序。

    BinaryWriter 以小端格式存储此数据类型。

    所以它应该按原样工作。

    【讨论】:

      猜你喜欢
      • 2015-07-13
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      相关资源
      最近更新 更多