【发布时间】:2018-08-02 21:42:43
【问题描述】:
我在应用程序中得到的字符串包括 ASCII(?) 字符,例如 !,dp,\b,(,s@.
这些应该是等价的。
数据库中的值-
\x01\x01\x03!\xea\x01\x00\x00dP\x00\x00\x1f\x8b\b\x00\x00\x00\x00\x00\x04\x00\xe3\xe6\x10\x11\x98\xc3(\xc1\xa2\xc0\xa8\xc0\xa0 \x02\xc4\x0c\x1a\x8c\x1a\x0c\x1as@\x04\x18\xf2\b\x1de\xe6\xe6\xe2\xe2b604\x14`\x94\x98\xc3\ba\x9b\"\xb1M\x80\xec\xc9\x10\xb6\x81\x05\x90=\t\xca6Ab[\x02\xd9\x13\xa1\xea\x8d\x80\xec.\xa8\xb8)\x12\xdb\x0c\xc8n\x81\xaa1\x06\xb2\x1b\x19\xb98A\xe2 \xf5\xb5\x10\xa6\x01\x90Y\rf\x1a\x9a#\x98\x16\b&\xc8\x8cJ\x88Z\x90\x11\xa5\x10Q\x90\xb6\x12\x88(H[1\x84\t\xf2O\xb6\xc0&v\tF\x1e\xa1\a\x8c\xc3\xd9\x8f\x8f\x8d%\x18\x01\xa1\x98\x8d\x97\xea\x01\x00\x00
我在应用中获得的价值包含我不想要的字符-
01010321ea010000645000001f8b0800000000000400e3e6101198c328c1a2c0a8c0a02002c40c1a8c1a0c1a73400418f2081d65e6e6e2e26236303414609498c308619b22b14d80ecc910b68105903d09ca3641625b02d913a1ea8d80ec2ea8b82912db0cc86e81aa3106b21b19b93841e220f5b510a60190590d661a9a2398160826c88c4a885a9011a5105190b6128828485b318409f24fb6c0267609461ea1078cc3d98f8f8d251801a1988d97ea0100000a\n\n"3a1ea8d80ec2ea8b82912db0cc86e81aa3106b21b19b93841e220f5b510a60190590d661a9a2398160826c88c4a885a9011a5105190b6128828485b318409f24fb6c0267609461ea1078cc3d98f8f8d251801a1988d97ea0100000a\n\n"3a1ea8d80ec2ea8b82912db0cc86e81aa3106b21b19b93841e220f5b510a60190590d661a9a2398160826c88c4a885a9011a5105190b6128828485b318409f24fb6c0267609461ea1078cc3d98f8f8d251801a1988d97ea0100000a\n\n
你可以看到\x01 是01 然后\x03 是03 然后! 是21。我想取出第二个字符串中的所有非十六进制值。
- 字符是什么样的!和DP。它们是 ASCII 码吗?
- 我可以删除像
hexString = hexString.Replace("\n", "");这样的换行符之类的字符,但我不确定这是否是最好的方法。 3.比较两个字符串,我看到(=28和s@=7340。是否有用于转换的表格?
【问题讨论】:
-
第二个字符串中只有十六进制值,即 0-9 a-f 的数字。
dP不是一个字符,是两个字符,翻译成十六进制就是6450。!是一个字符。这似乎是一个 XY 问题 - 你真正想要完成什么? -
@NetMage 我想删除所有非十六进制的!和 dp 来自第二行的第一个字符串。我只想保留 \x01\x01\x03 之类的东西。
-
当您说“数据库中的值”时,数据库中的值是否确实包含字符
`,x,0,1` - 例如这个值有多长?还有\b和\t呢? -
我相信当数据库(redis)输出要显示的值时,它会添加
\b、\n和任何其他非十六进制的东西。这就是为什么我想摆脱它。这是我执行 GET 命令时数据库中的screenshot。