問題タブ [qbytearray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - qbytearrayのquint16
qbytearrayの最初の位置にquint16を追加する必要があり、それを読んだ後:どうすればよいですか?
私はこれを試しました:
どうもありがとうございます
私は追加しました:
しかし、私はそれを読むように知らない
ありがとう
c++ - QDataStream and quint16 serialization weirdness
I've written a small Packet class consisting of some quint8's, quint16's, QByteArrays and a quint32 that has a toByteArray() method to return a serialized version of the object, conforming to a protocol specification.
Packet Spec
- Protocol identifier [4 byte] (Version 1 = 0x74697331)
- Session ID, a MD5 hash salted with the timestamp + user IP. [16 bytes]
- Command ID [1 byte]
- Argument Size [2 byte]
- Args [1-8,192 bytes]
- CRC-B (X-25) [2 bytes]
Most of the data serializes fine. The exception is the last quint16 (my crc), which seems to get clobbered.
I don't believe the problem is in the declaration of my class. I've re-created the serialization function in this code sample which demonstrates the bug I'm receiving, without my packet class. (But the same final QByteArray layout)
(More) Minimal reproducible testcase
Here's the output I get:
73 69 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 e 0 74 65 73 74 0 31 32 33 34 71 77 65 72 0 ffffffffffffffa2 ffffffffffffffb5
Those last two should be 0xa2, 0xb5. I guess it's some sort of alignment issue. Is there any way to correct this while still conforming to the packet spec?
c# - Azure の blobId 用に C++ で int をリトル エンディアン形式のバイトに変換する
Azure (http://msdn.microsoft.com/en-us/library/dd135726.aspx) の base64 エンコーディングを使用していますが、必要な文字列を取得する方法がわかりません。私は以下を行うC#でこれを行うことができます。
(LINQPadで)出力するもの:
Qt/C++ でいくつかのアポラチを試しましたが、すべて間違った値を返しました。
C# 版と同じ結果を得るにはどうすればよいですか?
c++ - qDebug がバイナリ データを含む完全な QByteArray を出力しない
QByteArray
一部がバイナリで一部がASCIIのGPSから受信したデータを保存する必要があります。デバッグの提案のために何が受信されているかを知りたいので、次のように書いていqDebug
ます。
そして、コンソールに次のようなメッセージが表示されます。
しかし、突然、新しい印刷の反復を取得します。データはまだ消去されておらず、追加されています。したがって、新しいメッセージのサイズは、たとえば 3204 で、以前の印刷より明らかに大きくなっています。ただし、まったく同じように印刷されます (ただし、ブラケット間の新しいサイズ 3204 を使用)。前のメッセージと同じように、新しいデータは出力されません。
qDebug
制限があるため、または終了文字などに達したために印刷が停止すると思いますが、推測に過ぎません。
この動作のヘルプまたは説明はありますか?
newline - Qt QTcpSocket QByteArray/QStringの特殊文字と適切な構文の問題
Qtのいくつかの特殊文字に問題があります。2つは引用符と改行です。telnetを使用してサーバーに接続していますが、サーバーは何らかの理由で入力の最初と最後に自動的に引用符を付けます。引用符と改行の両方を削除するのに問題があります。
改行を置き換える際の問題を以下に説明します。
telnetからの私の入力:こんにちは
プログラムが改行を置き換えた後: "ello(引用符付きの通常の出力は" Hello "になります)
また、引用符を置き換えてもまったく効果はありません。正規表現であるため、二重の円記号も使用してみましたが、どちらも1つある場合と同じ問題があります。助けてくれてありがとう。
編集:これはqDebugのフォーマットであり、Telnetなどを使用した結果ではないことが判明しました。
c++ - デバッグ中にQtオブジェクトQByteArrayの内容を確認するにはどうすればよいですか?
私のプログラムは、QByteArray型のいくつかの変数を使用して、データ(バイト)を格納しています。そのバイトはおそらく'\0'、1、...のような特殊文字であるため、デバッグ時に特殊文字の後のすべての要素を表示することはできません。std :: vectorを使用すると、すべての要素を表示できます。QByteArrayを使用する必要がありますが、デバッグ時にこの変数のすべての要素を表示できません。助けて、plz!ありがとう!
例:QByteArray bytes(4、'\ 0'); さて、デバッグすると、「」が表示されます。しかし、私は「'\ 0'、'\ 0'、'\ 0'、'\0'」またはこのようなものを見たいです。
QDateTimeでも同じ問題があります。しかし、私はこのヘルプによって解決しました:http ://www.qtcentre.org/threads/32336-View-QDate-and-QDateTime-in-VisualStudio-debugger
このリンクは役立つかもしれませんが、これは私の問題を解決しません:http: //qt-project.org/wiki/IDE-debug-helpers
例:
qt - QT QBytearray カウント文字
QByteArray
たとえば、この配列に含まれる「*」の数QByteArray
を知りたいとします。
qt - Qt 配列 QString
selectallクエリでdbから結果を取得し、結果を配列に保存してソケットで送信したい。
このエラー バイナリ '=' が表示されます: タイプ 'const char [16]' の右側のオペランドを取る演算子が見つかりません
c++ - 4バイトのみを使用してQByteArrayに整数を格納する
整数を表すには 4 バイトかかります。を 4 バイトしか使用しないように格納するint
にはどうすればよいですか?QByteArray
QByteArray::number(..)
整数を文字列に変換するため、4 バイト以上を占めます。QByteArray((const char*)&myInteger,sizeof(int))
また、動作しないようです。
c++ - QByteArray に数値を追加する
私はQbyteArray
名前を持っています"B2"
、
そして、これに のような 2 バイトの数値を追加したいと思い300
ます。
しかし、私がそれをするmybyte.size()
と3byte!!!!
私のコードは:
2byteにしたいです。
これは私の出力です: