問題タブ [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.

0 投票する
1 に答える
20808 参照

c++ - QString を UTF-8 または Latin1 エンコーディングで QByteArray に変換します

QString を utf8 または latin1 QByteArray に変換したいのですが、今日はすべてを utf8 として取得しています。

そして、0x7f よりも高い latin1 の上位セグメントにある char を使用してこれをテストしています。ドイツ語の ü が良い例です。

私がこれを好きなら:

次の出力が得られます。

ご覧のとおり、どこでも unicode 0xc3bc を取得していますが、ステップ 2 と 3 で Latin1 0xfc を取得すると予想されます。

私の推測では、次のようなものを取得する必要があります。

ここで何が起こっているのですか?

/ありがとう


いくつかの文字テーブルへのリンク:


このコードは、Ubuntu 10.04 ベースのシステムでビルドおよび実行されました。

そして、私が使用しようとすると

私はこの出力を得る

したがって、latin1 は Unicode であり、utf8 は二重にエンコードされています...

これは、いくつかのシステム設定に依存する必要がありますか?


これを実行すると (ビルドする .name() を取得できませんでした)

次に、これを取得します。


解決

私が使用しているUTF-8であることを指定すると、さまざまなクラスがこれを認識し、機能します。

次に、次の出力を取得します。

そして、それはそうあるべきであるように見えます。

0 投票する
2 に答える
13580 参照

qt - QByteArrayを効率的にパーティション化するにはどうすればよいですか?

QByteArrayメッセージを効率的に分割したいので、実装したこの関数は、バイト、抽出する部分、および配列の最後までpart1を抽出するかどうかを示すtoEndフラグを取ります。私のディリメータはspcaeです''

私が持っている場合の例:

以下の機能は問題なく動作しますが、これが効率的かどうか疑問に思っています。分割関数の使用を検討する必要がありますか?

0 投票する
1 に答える
1792 参照

qt - 異なるQtバージョン内でQSettingによって書き込まれたQByteArray設定を読み取ります。

異なるバージョンのQtライブラリが使用されている場合(4.7.1に対して4.5.2など)、 QByteArrayはファイルシステム上で異なる形式でシリアル化されます。アプリケーションでQSettingsを使用して、いくつかのバイナリデータを.iniファイルに保存します。これで、アプリケーションはQt 4.7.1に移行され、更新されたバージョンのアプリが(QSettings valueメソッドを使用して)読み取った場合、結果のQByteArrayは以前のバージョンのアプリによってシリアル化されたものと等しくなりません。

考えられる解決策:

  • アプリが使用するQtのバージョンを維持します(アプリのバージョンを設定に保存します)

  • 独自のReadFuncおよびWriteFuncを使用して、 QSettingsの独自の形式(ini形式のラッパー)を実装します。

  • 維持されているQtバージョンを使用してsetVersion内のQDataStreamを使用してQByteArray設定を読み取り/書き込みます。

もっと簡単な解決策はありますか?

0 投票する
1 に答える
857 参照

qt - Qt: QWebView と QByteArray がエンコードの競合を引き起こす

私は 3 日以上同じ問題に取り組んできましたが、自分のコードの何が問題なのかわかりません。

私のプログラムでは、QWebViewウィンドウを使用して HTML コンテンツを表しています。この HTML コンテンツは、ユーザー設定に基づいてオンザフライで生成されます。QXmlStreamWriterHTMLファイルを生成するために使用します。QXmlStreamが必要なQIODeviceので、 を作成し、そこにQByteArrayHTML コードを書き込み、最後に から を作成しQStringますQByteArray。このコードを に印刷するとQWebView、特殊記号 (ドイツ語のウムラウトやロシア語の文字など) が正しく表示されません。ただし、生成されたコードを HTML ファイルに保存すると、Firefox が開き、これらの文字が正しく表示されます。

生成された HTML には、<meta http-equiv="Content-Type" content="text/html; charset=utf-8">タグが含まれています。

文字列のコーデックを設定し、文字列をさまざまな形式に変換して、QByteArrayそれ自体で遊んでみました。Qt 4.7.3 を使用しています。MinGW 4.4 を搭載した Windows デスクトップ用。

エンコーディングの話で重要な点を見逃していると思います。何か助けていただければ幸いです! この問題は本当に厄介で、アイデアを完成させるのを妨げています! ありがとうございました!

0 投票する
3 に答える
25629 参照

c++ - QtでQByteArrayからQPixmapをロードしますか?

画像の内容を含むバイト配列があります(png/bmpまたはその他の形式)。

QPixmapにロードするにはどうすればよいですか?

0 投票する
1 に答える
920 参照

c++ - QPixmap のファイルサイズを小さくする

scaledToHeight で QPixmap のサイズを変更して QByteArray に変換すると、この ByteArray のサイズは、スケーリングされていない QPixmap の ByteArray のサイズとまったく同じになります。QPixmap をピクセルサイズとファイルサイズで縮小する可能性はありますか?

よろしくお願いします

0 投票する
1 に答える
2180 参照

qt - write() を使用して QIODevice に QByteArray データを格納する

さて、データを保存したい QIODevice があります。しかし、それに問題があります。作成しようとするたびにエラーが発生します。

私が保存したいのは QByteArray です( write(QByteArray) で使用して、後で使用できます。

何か案が?

エラーは「抽象型 'QIODevice' の変数 dev を宣言できません」です。

0 投票する
1 に答える
469 参照

c++ - Qt&Kinect:BYTE*pBufferをQByteArrayまたはconstuchar*に変換するにはどうすればよいですか?

現在、QtライブラリをKinect APIと組み合わせて、センサーからのビデオをQImage(QLabelで表示)に表示しようとしています。

私のKinect処理ライブラリでは、ビデオセンサーからデータを受信する関数が、データをBYTE *(RGB32値を持つものを指す)として出力しています。

私のプログラムの別の小さなコーナーに、そのBYTE *を受信し、次のようにRGB32データでQImageを更新しようとしているスロットがあります。

ここで、pBufferはシグナルによってスロットに渡され、前述のBYTE*です。

これは私にはうまくいきません、そして私はまだ画像があるべきところに灰色のボックスで立ち往生しています。私はデータ型を調査し、明らかにQImage :: Format_RGB32が正しいので、問題はキャストにあると思います。

これをどのように進めればよいですか?:)

0 投票する
3 に答える
2328 参照

c++ - QBitArray から QByteArray への変換

この関数は、一部の入力に対して正しく機能しません。では、何が間違っているのでしょうか?

すべてのプロジェクト コードはこちら:リンク

ps:「bits.size()%8」がゼロに等しい入力を使用しています

0 投票する
4 に答える
7790 参照

c++ - QBitArray から QByteArray へ

このテキスト「ali ata bak」を含むテキスト ファイルを作成し、このファイルをプログラムの入力として使用するとします。コードは正常に実行されています。しかし、「1111111111111111111111」というテキストをテキストファイルに入力すると、Code isnt running expected. それで、問題は何ですか?