2

まず、私はMySQLデータベースで作業しています。列の値が非常に長い16進テキストとして格納されているテーブルがあります(コンテキストを説明するために、ユーザーのコンピューター仕様に関する情報(dxdiagファイルの内容)が含まれています)。特定の仕様を検索する必要があります(たとえば、2ギガ以上のRAMを搭載している人向け)

たとえば、この大きなテキストの関連する行は、この例では「メモリ:4096MBのRAM」と表示される場合があります。

もちろん、プロセッサ、グラフィックカードなどの他の多くの情報があります。

したがって、私が必要とする2つのステップがあると思います。

  1. 関連する部分(この場合は「メモリ:」)がどこにあるかを正しく見つけるため。
  2. 実際のram値を数値として識別し、必要な特定の条件を照会できるように整理します。

それで、これを実行するための最も効率的な方法とコードは何でしょうか?

PS興味があれば、以下は私が持っているデータの部分的な例です。次のWebサイトを使用してテキストに変換できます:http://www.string-functions.com/hex-string.aspx

2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0d0a53797374656d20496e666f726d6174696f6e0d0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0d0a54696d65206f662074686973207265706f72743a20382f31362f323031322c2031343a31323a32320d0a202020202020204d616368696e65206e616d653a20544553540d0a2020204f7065726174696e672053797374656d3a2057696e646f7773203720456e74657270726973652036342d6269742028362e312c204275696c642037363031292053657276696365205061636b20312028373630312e77696e377370315f6764722e3132303530332d32303330290d0a20202020202020202020204c616e67756167653a20456e676c6973682028526567696f6e616c2053657474696e673a20456e676c697368290d0a53797374656d204d616e7566616374757265723a2044656c6c20496e632e0d0a2020202020202053797374656d204d6f64656c3a20507265636973696f6e20576f726b53746174696f6e20543735303020200d0a20202020202020202020202020202042494f533a2050686f656e697820524f4d2042494f5320504c55532056657273696f6e20312e3130204131320d0a2020202020202020202050726f636573736f723a20496e74656c2852292058656f6e285229204350552020202020202020202020583536363020204020322e383047487a2028362043505573292c207e322e3847487a0d0a202020202020202020202020204d656d6f72793a2031323238384d422052414d0d0a417661696c61626c65204f53204d656d6f72793a2031323238364d422052414d0d0a20202020202020202020506167652046696c653a20333631314d4220757365642c2032303935374d4220617661696c61626c650d0a202020202020202057696e646f7773204469723a20433a5c77696e646f77730d0a20202020446972656374582056657273696f6e3a20446972656374582031310d0a445820536574757020506172616d65746572733a204e6f7420666f756e640d0a20202055736572204450492053657474696e673a205573696e672053797374656d204450490d0a2053797374656d204450492053657474696e673a2039362044504920283130302070657263656e74290d0a2020202044574d20445049205363616c696e673a2044697361626c65640d0a20202020204478446961672056657273696f6e3a20362e30312e373630312e313735313420363462697420556e69636f6465

4

1 に答える 1

0

同様の問題が発生しました。以下の私の質問を参照してください。問題のあなたの部分に対する解決策を見つけました。16 進数を varbinary にキャストしてから varchar にキャストすることができます。SQL を使用するのはそれほど困難ではありません。より大きな問題は次のレベルにあります。最初の 128 個の ASCII 文字以外は、すべてのエンコーディングでほぼ直接変換されます。持っていないか使用できない場合は、バイナリまたは 16 進数にエンコードする方法がたくさんあります。元の変換ツールには、すべてのソリューションが一意である可能性がある多くの課題があります。

SQL を使用して非標準の Unicode をスペースまたはタブに置き換える方法

于 2013-03-04T20:17:58.097 に答える