我在应用程序中获得的字符串包括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
。我想取出第二个字符串中的所有非十六进制值。
hexString = hexString.Replace("\n", "");
这样的新行等字符但是我不确定这是否是最适合所有人的方法。
3.比较两个字符串,我看到(
= 28
和s@
= 7340
。是否有转换表?答案 0 :(得分:0)
我的猜测给出了输出周围的引号,即数据库显示非ASCII(Unicode?)字符为十六进制(例如React.PropTypes
),并且实际字符串包含每个十六进制格式显示的单个字符,在这种情况下,挑选没有区别 - 字符\x03
也是十六进制值d
,只是数据库选择输出可见字符作为它们的正常字母 - 与{{1相同可以输出为\x64
,但他们选择使用(C)标准控制字符缩写。
发现这个:
当它显示在屏幕上时,redis-cli使用\ xHH编码格式转义不可打印的字符,其中HH是十六进制表示法。
换句话说,
cli只使用3种不同的方法来显示数据库字段中的值: