比如我有个 String
"\x8e\xa2\xb7\xca\x51\x67\x45\xbf\xea\xfc\x49\x90\x4b\x49\x60\x89"
编译器输出后变成了
"\x8E\xA2\xB7\xCAQgE\xBF\xEA\xFCI\x90KI`\x89"
谁能解释一下\xFCI\x90KI`是怎么回事?rdoc 实在是找不到。
\xFCI\x90KI`
编码问题 K 的 ascii 码是十六进制的 4b。I 的 ascii 编码是 49。
或许可以用 ruby -Ku 看看你的 string
a = "\x8E\xA2\xB7\xCAQgE\xBF\xEA\xFCI\x90KI`\x89" b = "\x8e\xa2\xb7\xca\x51\x67\x45\xbf\xea\xfc\x49\x90\x4b\x49\x60\x89" p a.encoding p b.encoding p a==b
估计是 encoding 不同,导致打印的输出不同,内容其实是一样的。
好像是十六进制数能表示成 ascii 码全部 ascii 码表示。ascii 码最大表示 Hex 数是 7F。 `其实是\x60,我的提问有问题。
`
\x60