-1

私はこの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()

しかし、リトルエンディアン順でソートする方法がわからない後

4

1 に答える 1

0

ドキュメントhttp://msdn.microsoft.com/en-us/library/24e33k1w.aspxBinaryWriter.Writeを見ると、整数のメソッドはデフォルトでリトルエンディアン順になっているようです。

BinaryWriter は、このデータ型をリトル エンディアン形式で格納します。

したがって、そのままで機能するはずです。

于 2012-11-03T23:40:08.510 に答える