問題タブ [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.
c# - 16進数から文字列への変換
配列string
として受信したパケット内にあるかどうかを確認する必要があります。byte
を使用すると、ダッシュBitConverter.ToString()
と同じようにバイトを取得しますstring
(fe:00-50-25-40-A5-FF)。
簡単なグーグルで見つけたほとんどの関数を試しましたが、ほとんどの関数には入力パラメータータイプがstring
あり、ダッシュを付けて呼び出すとstring
例外がスローされます。
string
hex(asまたはas byte
)をstring
16進値(fe:0x31 = 1)を表すに変換する関数が必要です。入力パラメータが、の場合、正しく変換されないstring
ため、関数はダッシュ(例 "47-61-74-65-77-61-79-53-65-72-76-65-72")を認識する必要があります。BitConverter
c# - ストリームに 2 バイト整数を書き込みますか?
単純なプロトコルを使用するネットワーク経由でアプリケーションと対話しようとしています。次のようなヘッダーを送信する必要があります。
2 バイト= データ長 (リクエスト タイプを含む)
1 バイト= リクエスト タイプ
私は両方のパラメータを整数として取っています:
私はそれを次のように呼んでいます:
このメソッドを呼び出したり、ソケット経由で送信したりするときに例外は発生しませんoutBuf
が、ネットワーク アプリケーションは応答しません。ただし、他のプログラムでクエリを実行できるため、ヘッダーが正しく記述されていないことが原因であると確信しています。
値を書き込むときに何か間違っていますか?
編集: MemoryStreamコードを追加
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 バイトです。
どんな助けでも感謝します。
編集:これが私が今持っているものです
c# - 0で始まらないバッファのGetBytesにそれほど苦痛のない方法はありますか?
私はプロジェクトで生のバイトを処理する必要があり、基本的にこのようなことをする必要があります
これはとても間違っているように感じますが、それを行うためのより良い方法を見つけることができません。もっと簡単な方法はありますか?
c# - BitConverter.ToInt32 の代替
次のように、3 つの値をBitConverter.ToInt32
にパックするために使用しています。byte
int
int
毎回新しいものを作成する必要のない、これを行うためのより高速な方法はありますか? からバイトを取得するのint
は簡単です。
このプロセスを逆にして、ビットシフトを使用して RGB バイトを既存のファイルに書き戻す簡単な方法はありますint
か?
c# - ビット対流式放熱器:文字列からバイト配列を取得します
「0xd80xff0xe0」のような文字列がある場合は
しかし、「0xd8ffe0」のような文字列を取得した場合、どうしたらよいかわかりません。
また、バイト配列を1つの文字列として記述する方法を推奨することもできます。
c# - 「intmsgLength=BitConverter.ToInt32(gzBuffer、0);」で範囲外のインデックス
私は現在、C#XNAで作成されたゲームに取り組んでいます。ネット経由で大量のデータ(約96kb)を送信する必要があるため、インターネットで見つけた文字列コンプレッサー/デコンプレッサーコードを使用しています。コードは次のようになります。
これは次のように機能します。-サーバーは文字列コンプレッサーを使用して文字列を圧縮し、クライアントに送信した後。-クライアントは圧縮された文字列を受け取り、使用できるように解凍します。
ここで奇妙なのは、ゲームを単独でテストしているときにコードが機能することです。つまり、サーバーとクライアントを同じマシンで実行します。また、友人がサーバーをホストしている友人とテストしているときにも機能し、接続します。しかし、私がサーバーをホストしていて、彼が接続しているとき、それは私の友人のために機能していません。彼が私のサーバーに接続すると、「int msgLength = BitConverter.ToInt32(gzBuffer、0);」で「Indexoutofrange」を受け取ります。 幸運なことに彼が入ることもありますが、ほとんどの場合失敗してそのエラーを返します。サーバーが文字列全体を送信していない可能性がありますか?ネットワーク送信にLidgrengen3を使用しており、圧縮された文字列はnetMsg.Write(compressedstring);として送信されます。
何か案は :) ?ありがとう!
c# - 41104 の C#、A909 で ushort データを取得するには?
int 値を 16 ビットの unsigned char 型 (USHORT) に変換しようとしています。例では、41104 は ushort では A909 ですが、C# では (MSDN の記事BitConverter.GetBytes Yöntem (UInt16)の助けを借りて) 次のようにコード サンプルを試しました。
A909 値を 41104 の ushort として取得するにはどうすればよいですか?
c# - BitConverter を手伝ってください!
BitConverter クラスを動作させることができません。エラー「BitConverter」が宣言されていません(最初にこの関数を使用します)。「using System;」を入れてみました。オンラインのいくつかの例で見たので、コードの上部にありますが、「システム」が宣言されていないことがわかります。私は何が欠けていますか?#include ファイル?
c# - BitConverter.ToInt16 は数値に 0xFFFF を追加しますか? (C#)
ここで問題が発生しましたが、それはおそらく見落としているだけですが、なぜそれが起こっているのか理解できません...
私が抱えている問題は、ビットコンバーターを使用して2バイト配列からInt16を取得していることですが、何らかの理由でこれを行うたびに、取得する必要がある数値を取得し、0xFFFFを番号の先頭。
例...
これは、「CreationDate」が 0x3d67 (正しい) で返されますが、CreationTime は 0xffffa388 です。
なぜこれが起こっているのか、これを修正する方法を知っている人はいますか?