問題タブ [bitconverter]

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 投票する
7 に答える
177129 参照

c# - 16進数から文字列への変換

配列stringとして受信したパケット内にあるかどうかを確認する必要があります。byteを使用すると、ダッシュBitConverter.ToString()と同じようにバイトを取得しますstring(fe:00-50-25-40-A5-FF)。
簡単なグーグルで見つけたほとんどの関数を試しましたが、ほとんどの関数には入力パラメータータイプがstringあり、ダッシュを付けて呼び出すとstring例外がスローされます。

stringhex(asまたはas byte)をstring16進値(fe:0x31 = 1)を表すに変換する関数が必要です。入力パラメータが、の場合、正しく変換されないstringため、関数はダッシュ(例 "47-61-74-65-77-61-79-53-65-72-76-65-72")を認識する必要があります。BitConverter

0 投票する
5 に答える
7182 参照

c# - ストリームに 2 バイト整数を書き込みますか?

単純なプロトコルを使用するネットワーク経由でアプリケーションと対話しようとしています。次のようなヘッダーを送信する必要があります。

2 バイト= データ長 (リクエスト タイプを含む)
1 バイト= リクエスト タイプ

私は両方のパラメータを整数として取っています:

私はそれを次のように呼んでいます:

このメソッドを呼び出したり、ソケット経由で送信したりするときに例外は発生しませんoutBufが、ネットワーク アプリケーションは応答しません。ただし、他のプログラムでクエリを実行できるため、ヘッダーが正しく記述されていないことが原因であると確信しています。

値を書き込むときに何か間違っていますか?

編集: MemoryStreamコードを追加

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

c# - RectangleF を Picasa の顔のハッシュに逆にする方法

Picasa がハッシュとして保存するものの詳細は次のとおりです。次のように保存します。

Web 上の情報には次のように書かれています。

rect64() に含まれる数値は、64 ビットの 16 進数です。

  • それを 4 つの 16 ビットの数値に分割します。
  • それぞれを符号なし 16 ビットの最大数 (65535) で割ると、0 から 1 までの 4 つの数値が得られます。
  • 残りの 4 つの数値は、顔の四角形の相対座標 (左、上、右、下) を示します。
  • 絶対座標で終わらせたい場合は、左右に画像の幅を掛け、上下に画像の高さを掛けます。

したがって、それを RectangleF に変換する私のコードは問題なく動作します(相対座標のみを保持します):

これで RectangleF ができたので、それを上記のハッシュに戻したいと思います。私はこれを理解できないようです。picasa は精度を含めて 2 バイトを使用しているように見えますが、C# の float は 8 バイトであり、BitConverter.ToSingle でさえ 4 バイトです。

どんな助けでも感謝します。

編集:これが私が今持っているものです

0 投票する
5 に答える
2085 参照

c# - 0で始まらないバッファのGetBytesにそれほど苦痛のない方法はありますか?

私はプロジェクトで生のバイトを処理する必要があり、基本的にこのようなことをする必要があります

これはとても間違っているように感じますが、それを行うためのより良い方法を見つけることができません。もっと簡単な方法はありますか?

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

c# - BitConverter.ToInt32 の代替

次のように、3 つの値をBitConverter.ToInt32にパックするために使用しています。byteint

int毎回新しいものを作成する必要のない、これを行うためのより高速な方法はありますか? からバイトを取得するのintは簡単です。

このプロセスを逆にして、ビットシフトを使用して RGB バイトを既存のファイルに書き戻す簡単な方法はありますintか?

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

c# - ビット対流式放熱器:文字列からバイト配列を取得します

「0xd80xff0xe0」のような文字列がある場合は

しかし、「0xd8ffe0」のような文字列を取得した場合、どうしたらよいかわかりません。

また、バイト配列を1つの文字列として記述する方法を推奨することもできます。

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

c# - 「intmsgLength=BitConverter.ToInt32(gzBuffer、0);」で範囲外のインデックス

私は現在、C#XNAで作成されたゲームに取り組んでいます。ネット経由で大量のデータ(約96kb)を送信する必要があるため、インターネットで見つけた文字列コンプレッサー/デコンプレッサーコードを使用しています。コードは次のようになります。

これは次のように機能します。-サーバーは文字列コンプレッサーを使用して文字列を圧縮し、クライアントに送信した後。-クライアントは圧縮された文字列を受け取り、使用できるように解凍します。

ここで奇妙なのは、ゲームを単独でテストしているときにコードが機能することです。つまり、サーバーとクライアントを同じマシンで実行します。また、友人がサーバーをホストしている友人とテストしているときにも機能し、接続します。しかし、私がサーバーをホストしていて、彼が接続しているとき、それは私の友人のために機能していません。彼が私のサーバーに接続すると、「int msgLength = BitConverter.ToInt32(gzBuffer、0);」で「Indexoutofrange」を受け取ります。 幸運なことに彼が入ることもありますが、ほとんどの場合失敗してそのエラーを返します。サーバーが文字列全体を送信していない可能性がありますか?ネットワーク送信にLidgrengen3を使用しており、圧縮された文字列はnetMsg.Write(compressedstring);として送信されます。

何か案は :) ?ありがとう!

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

c# - 41104 の C#、A909 で ushort データを取得するには?

int 値を 16 ビットの unsigned char 型 (USHORT) に変換しようとしています。例では、41104 は ushort では A909 ですが、C# では (MSDN の記事BitConverter.GetBytes Yöntem (UInt16)の助けを借りて) 次のようにコード サンプルを試しました。

A909 値を 41104 の ushort として取得するにはどうすればよいですか?

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

c# - BitConverter を手伝ってください!

BitConverter クラスを動作させることができません。エラー「BitConverter」が宣言されていません(最初にこの関数を使用します)。「using System;」を入れてみました。オンラインのいくつかの例で見たので、コードの上部にありますが、「システム」が宣言されていないことがわかります。私は何が欠けていますか?#include ファイル?

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

c# - BitConverter.ToInt16 は数値に 0xFFFF を追加しますか? (C#)

ここで問題が発生しましたが、それはおそらく見落としているだけですが、なぜそれが起こっているのか理解できません...

私が抱えている問題は、ビットコンバーターを使用して2バイト配列からInt16を取得していることですが、何らかの理由でこれを行うたびに、取得する必要がある数値を取得し、0xFFFFを番号の先頭。

例...

これは、「CreationDate」が 0x3d67 (正しい) で返されますが、CreationTime は 0xffffa388 です。

なぜこれが起こっているのか、これを修正する方法を知っている人はいますか?