新手问题 关于十六进制字符串的重音号问题

ewinds · 2014年03月26日 · 最后由 ewinds 回复于 2014年03月26日 · 2564 次阅读

比如我有个 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 实在是找不到。

编码问题 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,我的提问有问题。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号