2

首先,我在MySQL数据库中工作。我有一个表,其中列的值存储为非常长的十六进制文本(为了将事物放在上下文中,它包含有关人们的计算机规格的信息 - 他们的 dxdiag 文件内容)。我将需要搜索特定的规格(例如,对于有 2 gigs 或更多内存的人)

例如,在此示例中,该大文本中的相关行可能显示为“Memory: 4096MB Ram”。

当然,还有很多其他的信息,比如处理器、显卡等。

所以我想我需要两个步骤:

  1. 正确定位相关片段的位置(在本例中为“内存:”)。
  2. 以一种我可以将实际 ram 值识别为数字的方式组织它,然后查询我想要的特定条件。

所以我想知道最有效的方法和代码是什么?

PS如果您有兴趣,下面是我拥有的数据的部分示例。您可以使用此网站将其转换为文本:http: //www.string-functions.com/hex-string.aspx

2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0d0a53797374656d20496e666f726d6174696f6e0d0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0d0a54696d65206f662074686973207265706f72743a20382f31362f323031322c2031343a31323a32320d0a202020202020204d616368696e65206e616d653a20544553540d0a2020204f7065726174696e672053797374656d3a2057696e646f7773203720456e74657270726973652036342d6269742028362e312c204275696c642037363031292053657276696365205061636b20312028373630312e77696e377370315f6764722e3132303530332d32303330290d0a20202020202020202020204c616e67756167653a20456e676c6973682028526567696f6e616c2053657474696e673a20456e676c697368290d0a53797374656d204d616e7566616374757265723a2044656c6c20496e632e0d0a2020202020202053797374656d204d6f64656c3a20507265636973696f6e20576f726b53746174696f6e20543735303020200d0a20202020202020202020202020202042494f533a2050686f656e697820524f4d2042494f5320504c55532056657273696f6e20312e3130204131320d0a2020202020202020202050726f636573736f723a20496e74656c2852292058656f6e285229204350552020202020202020202020583536363020204020322e383047487a2028362043505573292c207e322e3847487a0d0a202020202020202020202020204d656d6f72793a2031323238384d422052414d0d0a417661696c61626c65204f53204d656d6f72793a2031323238364d422052414d0d0a20202020202020202020506167652046696c653a20333631314d4220757365642c2032303935374d4220617661696c61626c650d0a202020202020202057696e646f7773204469723a20433a5c77696e646f77730d0a20202020446972656374582056657273696f6e3a20446972656374582031310d0a445820536574757020506172616d65746572733a204e6f7420666f756e640d0a20202055736572204450492053657474696e673a205573696e672053797374656d204450490d0a2053797374656d204450492053657474696e673a2039362044504920283130302070657263656e74290d0a2020202044574d20445049205363616c696e673a2044697361626c65640d0a20202020204478446961672056657273696f6e3a20362e30312e373630312e313735313420363462697420556e69636f6465

4

1 回答 1

0

我遇到了类似的问题,请参阅下面的问题,我找到了解决您部分问题的方法。您可以将十六进制转换为 varbinary,然后转换为 varchar,使用 SQL 没有太多困难。更大的问题是在下一个级别,除了前 128 个 ASCII 字符,它们几乎是所有编码的直接转换,如果你没有或不能使用,有很多方法可以编码为二进制或十六进制原始转换工具存在许多挑战,其中所有解决方案可能都是独一无二的。

如何使用 SQL 将非标准 Unicode 替换为空格或制表符

于 2013-03-04T20:17:58.097 回答