0

SQL Server 2005 を使用しています。Matlab などの他の環境で、SQL Server から出力されたバイナリ データを読み取ることができるかどうかを知りたいですか?

例えば、

SET NOCOUNT ON 
CREATE TABLE #Temp ( C1 binary ) INSERT INTO #Temp (C1) SELECT 100

SELECT * FROM #Temp

DROP TABLE #Temp

結果は0x64、16 進数表記だと思います。このデータは、メモ帳を使用して表示すると同じように見えます。ただし、メモ帳で開いたときに Matlab から書き込まれたバイナリ 100 は、間違いなく 16 進数ではありません。助けて/コメントしてください!

4

1 に答える 1

0

バイナリ入力を処理する他のツールでは、SQL Server からのバイナリ出力を読み取ることができるはずです。

あなたが書いたことから、あなたは物事を同等の方法で比較していません(リンゴとリンゴ)。16 進数は、人間が認識できる形式でビットを表す 1 つの方法にすぎないため、表示方法が両方とも同じ表記法を使用できない場合は、おそらく異なるものを表示することになります。メモ帳は16進数を実行しないと確信しています。

0x64 の SSMS "出力" は、ツールがバイナリ データ (この場合は 10 進数値 100) を印刷/画面上で表現する方法です。SSMS ウィンドウからカット アンド ペーストすると、実際にはテキスト文字列 "0x64" をカットしているため、メモ帳で開くと同じように見えますが、実際には元の 10 進数の 100 値ではありません。

Matlab からファイルを保存し、それをメモ帳で開くと、テキストとして解釈されたバイト値が表示されるはずです。この場合、ASCII/UTF であるため、おそらく「d」(小文字の「D」) です。 10 進数 100 の 8 の値。

于 2012-04-30T19:05:49.627 に答える